Articles of 窗口

当应用程序是服务时,SetWinEventHookcallback不起作用

我有一个在.NET 4.0中制作的应用程序挂钩赢得事件,并使用callback来捕获窗口事件,如下所示: //import the methos from the dll [DllImport("user32.dll", SetLastError = true)] private static extern IntPtr SetWinEventHook(int eventMin, int eventMax, IntPtr hmodWinEventProc, WinEventProc lpfnWinEventProc, int idProcess, int idThread, int dwflags); //declare a callback public static WinEventProc _winEventProc = new WinEventProc(WindowEventCallback); //pass this callback to SetWinEventHook SetWinEventHook( EVENT_SYSTEM_FOREGROUND, // eventMin EVENT_SYSTEM_FOREGROUND, // eventMax IntPtr.Zero, // hmodWinEventProc […]

必须在Windows 7上运行ruby脚本,并获得权限拒绝EACCES

我必须在Windows 7上运行ruby脚本(我知道这是不好的主意)。 我的脚本创build文件夹(如果它们不存在)并将文件复制到它们中。 我正在使用FileUtils lib执行此项工作,如: FileUtils.mkdir_p(path) FileUtils.cp_r(file.path, path) FileUtils.touch(file) 在Ubuntu和MAC一切正常,但在Windows 7的机器上,我得到了下一个错误: Permission denied – ./program_folder/input/. (Errno::EACCES) 在这个codeline上: Dir.entries('./program_folder/input').map { |file_name| File.new("./program_folder/input/#{file_name}") }.compact 任何想法如何修复它? 我试图运行pipe理员访问ruby和irb termianl,并试图做所有pathFileUtils.chmod_R(0777,@path),但仍然没有改变…

我如何使wgnuplot.exe终止在.plt文件的末尾?

我在Windows上使用gnuplot。 当我通过双击直接执行我的filename.plt文件时,会生成一个wgnuplot.exe的实例,它在完成后不会终止。 我的代码非常简单,只是打印到PDF。 你们有没有人知道如何使文件完成后自动终止wgnuplot.exe? 谢谢

我可以发送一个ctrl-C(SIGINT)到Windows上的应用程序吗?

我有(过去)编写的跨平台(Windows / Unix)应用程序,从命令行启动时,以相同的方式处理用户键入的Ctrl – C组合(即干净地终止应用程序)。 是否有可能在Windows上发送一个Ctrl – C / SIGINT /等同于另一个(不相关的)进程的进程来请求它干净地终止(给它一个整理资源的机会等)?

如何从Java打开一个Windows命名pipe道?

在我们的Linux系统上,我们使用命名pipe道进行进程间通信(生产者和消费者)。 为了testing消费者(Java)代码,我想实现(在Java中)一个虚拟生产者,它写入一个连接到消费者的命名pipe道。 现在testing也应该在Windows开发环境中工作。 因此,我想知道如何从Java创build一个Windows命名pipe道。 在Linux中,我可以使用mkfifo(使用Runtime.exec()调用),但是我应该如何在Windows上执行此操作?

在Windows 7上GetWindowRect太小

我试图解决的实际问题是,我想自动找出窗口边缘的大小。 如果你能find更好的办法,请用一切办法来回答,而不是这个。 为此,我决定截取testing窗口并测量边距。 这很简单,因为我认为没有利润率会是明亮的粉红色,但我承认这是一个黑客。 我使用GetWindowRect ( py )来获取边界框, PIL抓取屏幕截图并剪裁到边界框。 问题是,当作物正常运行时,边界框不准确 。 Windows 7“剪切工具”获得正确的尺寸 。 我怎么能这样做?

启动相关程序或从另一个程序显示“打开方式”对话框

在Window 7下面,下面的命令显示一个对话框,然后终止,没有任何其他操作,为什么? 预期的效果是启动相关的程序Notepad++或至lessNotepad RUNDLL32.EXE SHELL32.DLL,OpenAs_RunDLL D:\doc\toto.txt

是否有可能使用python与Windows写入访问原始设备?

这是这个问题的后续行动。 我想知道你是否可以在写入模式下访问原始设备(即\\.\PhysicalDriveN ),如果是这样的话,怎么样。 使用Linux,写入访问可以通过使用例如open("/dev/sdd", "w+") (只要脚本以root权限运行)来实现。 我假设Mac OS的行为类似(使用/dev/diskN作为input文件)。 在Windows下(使用相应的path)尝试相同的命令时,会失败,并显示以下错误: IOError: [Errno 22] invalid mode ('w+') or filename: '\\\\.\\PhysicalDrive3' 但是,尝试从PhysicalDrive 读取时,它确实有效 (即使读取了正确的数据)。 在Windows 7下,shell正在以pipe理员权限运行。 有没有其他的方式来使用python来完成这个任务,同时仍然保持脚本尽可能平台无关? 编辑: 我进一步了解了python提供的用于文件处理的方法,并在os.open中偶然发现了这些方法 。 使用os.open(drive_string, os.O_WRONLY|os.O_BINARY)打开PhysicalDrive不会返回错误。 到现在为止还挺好。 现在我可以select使用os.write直接写入这个文件描述符,或者使用os.fdopen来获取一个文件对象并以常规方式写入。 可悲的是,这些可能性都不起作用。 在第一种情况下( os.write() ),我得到这个: >>> os.write(os.open("\\\\.\\PhysicalDrive3", os.O_WRONLY|os.O_BINARY), "test") Traceback (most recent call last): File "<stdin>", line 1, in <module> OSError: [Errno 22] Invalid argument […]

如何在Windows上为PyCharmconfigurationPython Kivy?

我很难让Kivy在Windows 7上使用PyCharm。我已经通过文件>设置> Python解释器>path选项卡添加了大部分外部库。 我正在使用Python的Kivy版本。 当我运行一个Kivy应用程序,使用PyCharm中的[右键点击>发送到> kivy.bat]方法,它给了我这个错误: Failed modules Python 2.7.3 (C:/Python27/python.exe) _imagingtk dde gtk._gtk pangocairo Generation of skeletons for the modules above will be tried again when the modules are updated or a new version of generator is available 我认为这个问题可能与cython有关,因为我的文件无法识别出Cython * .pxd格式的kivy.properties文件。 如果有人可以请指点我的PyCharm和Kivy的Windowsconfiguration教程或给我解决我的问题,我将不胜感激!

如何在Perl正则expression式中replace多个任意字符(包括换行符)?

这是MyTextString.txt的简化描述: 注意: BlaBla代表包括换行符的任何字符。 开始 BlaBla-In 结束 BlaBla-Out-Between 开始 BlaBla-In 结束 BlaBla-Out-Between 开始 BlaBla-In 结束 BlaBla-Out-Between 开始 BlaBla-In 结束 … 我在找END和START(BlaBla-Out-Between)之间的文本去除结果是这样的: START BlaBla-In END换行START BlaBla-In END换行START BlaBla-In END换行START BlaBla-In END … 我有一个perl文件changes.pl : BEGIN { @ARGV = map glob("\"$_\""), @ARGV; } s/(END).*?(START)/$1\n$2/sg; #TEST 我应该使用这个CMD行来执行我的replace: perl -i.bak -p changes.pl My/File/Directory/MyTextString.txt 注意:与其他正则expression式查找和replacestring一样, changes.pl和CMD行也正常运行。 但是,对于这个RegExstring,MyTextString.txt不会发生任何修改: s/(END).*?(START)/$1\n$2/sg; 我认为关于我的正则expression式语法的每一件事情都可以,因为它在正则expression式101testing中运行良好。 我正在寻找使用提到的changes.pl和CMD行匹配和replace任何字符(包括换行符) 。 […]