草庐IT

python进程间通信

全部标签

python - Windows 应用程序编程和 wxPython

在开发我的一个项目时,我意识到我需要跨session保持一定程度的持久性,例如,当用户执行应用程序、更改某些首选项然后关闭应用程序时。下次用户执行该应用程序时,无论是重启后还是15分钟后,我都希望能够保留已更改的首选项。我的问题与这种坚持有关。无论是使用win32API或MFC框架编写应用程序,还是使用更新的高级语言工具,如wxPython或wxRuby,如何保持我所指的持久性类型?它是作为写入磁盘的临时文件完成的吗?它是否保存到某些注册表设置中?它是否存储在我不知道的其他层中? 最佳答案 我建议分两步完成。第一步是保存您的偏好。作

c++ - 为来自不同进程的窗口设置父级是否正确?

我有两个应用程序有两个不同的顶级窗口:App1--Window1App2--Window2现在,我正在App1中创建一个对话框Dlg1,我想将window2(App2)设置为父窗口。(那是因为我希望我的Dlg1位于Window2之上)。我通过将Window2设置为父级来创建对话框。有效。但这是正确的方法吗?跨进程设置父项是否存在任何已知问题\限制?我检查了windows文档,发现的信息不多。 最佳答案 这或多或少是受支持的,但确实有一些限制。您需要注意这两个进程以同一用户身份运行,并且您没有会阻止这两个进程通信的安全或提升问题。其次

windows - 在 Windows 上,如何找到给定进程正在使用的文件?有没有软件可以做到这一点?

我想知道给定进程正在读/写的文件。有显示这个的程序吗?在WindowsXP上。谢谢。我试过AutohotkeySpy、Spy++和ProcessExplorer。它们显示了很多细节,但没有显示正在访问的文件。 最佳答案 ProcessMonitorProcessMonitorisanadvancedmonitoringtoolforWindowsthatshowsreal-timefilesystem,Registryandprocess/threadactivity.Itcombinesthefeaturesoftwolegacy

windows - 从 .bat 启动独立进程

我有一个Hudson作业,它启动一个.bat脚本文件,它本身启动我的Jonas应用程序服务器和一些其他任务。脚本在我的奴隶上从Hudson正确启动,然后我的应用程序服务器启动但在我的Hudson作业结束时应用程序服务器被终止。这是因为在此过程中启动的所有进程共享相同的管道(stdin/sdtout/stderr),如此处所述http://wiki.hudson-ci.org/display/HUDSON/Spawning+processes+from+build.如您所知,这真的不是我想要的!实际上,在我上面描述的测试我的应用程序的任务之后,我有另一个Hudson任务启动了。因此,由于

c++ - 如何在 Windows 下用 C++ 在远程机器上启动一个进程

我在Windows下使用Dev-C++。我的问题是如何在远程机器上启动进程?我知道PsExec可以做到这一点,但如果可能的话,我想避免使用它。如果有人可以提供一些示例代码,我将不胜感激:)提前致谢!坎比 最佳答案 如果这很容易,黑客就会在所有暴露在互联网上的机器上启动恶意软件。PSExec通过LAN使用服务控制管理器从“此处”启动服务EXE,即您运行它的机器。它需要很多安全权限——例如管理员权限。如果您不想这样做,您可以查看SSH(有开源示例)或远程命令提示符(在Windows资源工具包中)。

windows - 有没有办法减少与进程外 COM 调用相关的开销?

我们的程序使用了一个进程外的COM服务器,并对其接口(interface)进行了数千次调用。这需要非常非常长的时间——大约50k次调用需要一分钟。COM组件供应商表示调用本身非常快,问题在于与进程外调用相关的开销。在这种情况下,是否可以进行任何调整以减少开销? 最佳答案 我真的不认为没有供应商的帮助可以做很多事情。因为从本质上讲,进程外的com对象将比进程内的对象需要更多的编码等。如果您能让供应商提供帮助,有两种可能的选择。请他们为您提供进程内版本(dll),然后您可以将其托管在COM+中并生成多个实例(如果合适),这可能会有所帮助

.net - 与崩溃转储相比,WinDbg 在附加到进程时显示不同的调用堆栈

我正在分析将native库与托管代码一起使用时发生的死锁。我正在使用WinDbg来调试问题,目的是保存转储,以便供应商可以在他们的场所观察到问题。当附加到有问题的进程时,我在任何调用堆栈之前看到以下消息:WARNING:Stackunwindinformationnotavailable.Followingframesmaybewrong.当直接附加到进程时,框架实际上看起来是正确的。但是,当我对该文件进行转储,然后在另一台机器上的WinDbg中打开转储时,其中一个堆栈帧不同(也显示了上述错误。)这最初让供应商感到难过,因为代码路径似乎是不可能的.我使用了转储:.dump/mafile

python - PyWin32:Windows 经典主题

在PyWin32演示文件夹中,win32gui_dialog.py示例使用了classicwindows控件。WindowsVista主题按钮是否也可以使用PyWin32显示?如果可以,如何显示?我正在使用ActivePython3.1,如果这有什么不同的话。示例:PyWin32http://imagespark.net/files/old.png 最佳答案 简短的回答:一个响亮的是。我知道这是可能的,因为我以前见过有人这么做过。但我不完全确定它是如何完成的。至少,你可以使用IronPython并通过使用clr使用Windows的内

python - 从同一个批处理文件中读取第一行批处理文件?

我有一个批处理文件,它试图运行第一行指定的程序。类似于Unix的shebang:C:\>morefoo.bat#!C:\Python27\python.exe%PYTHON%foo-script.pyC:\>我想知道的是:有没有办法自动将%PYTHON%设置为C:\Python27\python.exe这是在shebang(#!)之后的脚本的第一行中指定的?背景:我尝试这样做是为了在包装脚本中明确指定要调用的Python解释器(因为系统上安装了多个Python解释器)。假设:您可以假设脚本已经知道它自己的文件名(foo)和%~dp0是这个脚本的目录。我们如何阅读除shebang之外的第

java - 两个程序之间的输入输出通信

我有一个名为kgsgtp.jar的第三方java程序,它需要与我自己的C++(但主要是C)程序通信。java程序的文档指出:=====================你只需要确保它连接到的kgsGtp的标准输入kgsGtp的引擎输出和标准输出连接到引擎的输入。通常,最简单的方法是fork和execing来自您的引擎的kgsGtp。=====================现在我是一个相当称职的程序员,我觉得只要再提供一些线索,我就可以安排所有这些。我怀疑如果描述扩展到erm,10?行而不是三行半,然后我会立即对其进行排序。我猜文档中的fork是指在我的程序中使用WinExec()或Cr