Articles of 窗口

在Python中确定正在运行的程序

我将如何使用Python来确定当前正在运行的程序。 我在Windows上。

在C#中检测系统醒来的事件

我需要检测系统电源状态模式。 确切地说,我需要一个当Windows 7从睡梦中醒来的事件。 我已经在使用: SystemEvents.PowerModeChanged += SystemEvents_PowerModeChanged; 但是这个事件的问题在于它被升起了四次:可能是当电脑进入睡眠模式并且电脑被唤醒后。 我只想要一个电脑唤醒的事件。 有没有这个事件?

Windows上的StackWalk64 – 获取符号名称

好的,第二个问题就在一天。 看起来Windows编程让我开心…:S 我目前正在试图获取Win32可执行文件的函数调用堆栈。 今天早上,我也问了一个关于这个问题: Win32 – 从C代码回溯 现在,我很确定StackWalk64函数是这个关键。 我已经阅读了一些关于如何使用它的文章,以及MS文档。 它实际上显示我的testing程序框架,所以它有点工作… 问题是我无法从堆栈信息中检索符号名称。 我正在使用SymGetSymFromAddr64函数与UnDecorateSymbolName 。 但我只有垃圾人物。 这是我的代码。 希望它不要乱,因为我不习惯Windows编程: void printStack( void ) { BOOL result; HANDLE process; HANDLE thread; CONTEXT context; STACKFRAME64 stack; ULONG frame; IMAGEHLP_SYMBOL64 symbol; DWORD64 displacement; char name[ 256 ]; RtlCaptureContext( &context ); memset( &stack, 0, sizeof( STACKFRAME64 ) ); process = GetCurrentProcess(); thread […]

在Windows中的Python文件中混合使用read()和write()

看来,在Windows中以r+ (或r+b )权限打开的文件上的read() write()紧跟的write()不会更新文件。 假设当前目录中有一个文件testfile.txt ,其内容如下: This is a test file. 我执行下面的代码: with open("testfile.txt", "r+b") as fd: print fd.read(4) fd.write("—-") 我希望代码打印This并更新文件的内容: This—-a test file. 至less在Linux上这工作得很好。 但是,当我在Windows上运行它时,消息显示正确,但文件没有被更改 – 就像write()被忽略。 如果我在文件句柄上调用tell() ,它会显示位置已经更新(在write()之前是4之后是8 ),但没有更改文件。 但是,如果我在write()行之前放置一个明确的fd.seek(4) ,那么一切都按照我所期望的那样工作。 有谁知道在Windows下这种行为的原因? 作为参考,我正在Windows 7上使用带有NTFS分区的Python 2.7.3。 编辑 为了回应评论,我尝试了r+b和rb+ – 官方的Python文档似乎暗示前者是规范的。 我把调用fd.flush()放在不同的地方,在read()和write()之间放置一个像这样的: with open("testfile.txt", "r+b") as fd: print fd.read(4) fd.flush() fd.write("—-") …产生以下有趣的错误: IOError: [Errno 0] […]

为什么在Windows上启动新进程时,Python的多进程模块会导入__main__?

我正在玩一个为初学者学习的库,我正在使用Python中的多处理模块。 我遇到了这个问题: 导入和使用一个模块,使用多处理,而不会导致Windows上的无限循环 作为一个例子,假设我有一个模块mylibrary.py : # mylibrary.py from multiprocessing import Process class MyProcess(Process): def run(self): print "Hello from the new process" def foo(): p = MyProcess() p.start() 还有一个叫这个库的主程序: # main.py import mylibrary mylibrary.foo() 如果我在Windows上运行main.py ,它会尝试将main.py导入到新进程中,这意味着代码会再次执行,导致无限循环的进程生成。 我可以像这样修复它: import mylibrary if __name__ == "__main__": mylibrary.foo() 但是,这对初学者来说是相当混乱的,而且看起来不是必须的。 新的进程正在mylibrary中创build,那么为什么新的进程只是导入mylibrary呢? 有没有办法解决这个问题,而不必改变main.py ? 顺便说一句,我正在使用Python 2.7。

获取Windows上给定path的可用磁盘空间

可能重复: 以编程方式确定从UNCpath可用的空间 我试图find一个函数,我可以从C#调用来检索该信息。 这是我迄今为止所尝试的: String folder = "z:\myfolder"; // It works folder = "\\mycomputer\myfolder"; // It doesn't work System.IO.DriveInfo drive = new System.IO.DriveInfo(folder); System.IO.DriveInfo a = new System.IO.DriveInfo(drive.Name); long HDPercentageUsed = 100 – (100 * a.AvailableFreeSpace / a.TotalSize); 这工作正常,但只有当我传递一个驱动器号。 有没有办法通过一个完整的path来检索自由空间? 谢谢。

在Windows上的Ruby导致错误无法加载这样的文件bcrypt_ext

试图在我的Windows 7机器上运行ruby,每当我去Rails或耙数据库:迁移我得到以下错误无法加载这样的文件bcrypt_ext。 我的ruby版本是2.2.1我的rails版本是4.2.0和bcrypt版本是3.1.10。 所有的gem安装正确,当我运行捆绑安装,但是每当我尝试耙它给我这个错误。 任何帮助将不胜感激

将两个RichTextbox的内容附加为单个RichTextstring

我想在Windows Forms .Net应用程序中附加两个富文本框的内容; 说: stringText = richtextbox1.Rtf + richtextbox2.Rtf; stringText文本应该是RTF文本,它应该有\ rtf行一次,连接丰富的文本。 剪贴板不在这里范围。 另外,我很好奇,如果我们可以将它们合并。

与Windows命名pipe道(.Net)的asynchronous双向通信

我有一个Windows服务和一个graphics用户界面需要相互沟通。 可以随时发送消息。 我正在看使用NamedPipes,但似乎你不能同时读取和写入stream(或者至less我找不到任何涵盖这种情况的例子)。 是否有可能通过单个NamedPipe进行这种双向通信? 或者我需要打开两个pipe道(一个来自GUI->服务,另一个来自服务 – > GUI)?

将新内容加载到kendo窗口的正确方法是什么?

我有一个窗口里面有一个窗体。 表单中有填充了logging数据的input元素。 用户可以closures窗口并select一个不同的logging来查看。 当用户这样做的时候,我需要用相同的表单再次显示kendo窗口,但是不同的logging数据。 这是我目前正在做的 if (!$("#winContainer").data("kendoWindow")) { $("#winContainer").kendoWindow({ modal: true, width: "969px", height: "646px", title: "View Record", content: "record.jsp" }); } else { $("#winContainer").data("kendoWindow").refresh({url: 'record.jsp'}); } $("#winContainer").data("kendoWindow").center().open(); 该表单包含在record.jsp中,并且使用我以前从服务器接收的JSON数据(通过在record.jsp中引用的JavaScript)填充它。 我需要确保窗口不显示,直到新的logging数据填充在窗体中。 这是做到这一点的正确方法还是有一些更好的方法?