草庐IT

多进程架构

全部标签

windows - 为什么 WOW64 进程上的 CreateEnvironmentBlock 会给我 PROCESSOR_ARCHITECTURE=AMD64

如果我尝试使用CreateEnvironmentBlock()从32位进程(在64位操作系统上)创建环境block,我得到的环境block似乎大部分是正确的,但它与自动创建的环境block有一些不同通过创建过程。最值得注意的是PROCESSOR_ARCHITECTURE在32位进程上通常是x86,但来自CreateEnvironmentBlock的是amd64。BOOLbResult=FALSE;LPWSTRwszEnvBlock=NULL;HANDLEtokenHandle;OpenProcessToken(GetCurrentProcess(),TOKEN_QUERY,&token

c# - 从 Win64 位的外部进程文件句柄获取文件名 - C#

谁能帮帮我我想获取与外部进程的文件句柄对应的文件名。目前,我只能在Win32位而非Win64位上做到这一点。在Windows64位中是否需要代码签名才能做到这一点?谢谢! 最佳答案 您必须将您的应用程序编译为AnyCPU(而非x86),因为在x64操作系统上只有x64进程可以访问其他x64进程。 关于c#-从Win64位的外部进程文件句柄获取文件名-C#,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com

python - 使用子进程发送键盘事件

我有两个python脚本。第一个只是等待用户键盘输入的脚本。当用户按下一个键时,它会打印一个按下的键值。第二个脚本像这样使用Popen通过子进程调用第一个脚本p=Popen('pythonfirst_script.py',shell=True,universal_newlines=True,stdin=PIPE,stdout=PIPE,stderr=STDOUT)printp.communicate(input="somevaluepaasedthrough")[0]当我发送字符串值时,它开始工作了。但我不知道如何发送键盘事件以及如何正确读取它。 最佳答案

c++ - 如何获取绑定(bind)到我正在运行的控制台窗口的进程列表,该窗口也可以在 Windows 2000 中运行?

我唯一找到的是GetConsoleProcessList.这里的问题是这个函数在Windows2000中不起作用。有没有办法解决这个问题,所以它可以在win2k之后的所有系统中工作?还有其他功能可以做类似的事情吗? 最佳答案 GetConsoleProcessList函数仅适用于WindowsXP/2003及更高版本。不适用于Windows2000。 关于c++-如何获取绑定(bind)到我正在运行的控制台窗口的进程列表,该窗口也可以在Windows2000中运行?,我们在StackOv

windows - 从 VBA 代码调用 SFTP 进程

问题-将key存储在缓存中问题停止VBA应用程序我使用pscp.exe将文件从Windows传输到Linux机器。备注:pscp.exe存在于我的VBA代码中(该客户端是PuTTY工具的一部分)当我将文件从我的PC复制到任何新的Linux机器时,我收到“将密​​钥存储在缓存中?(是/否)”的问题,这会中断我的VBA应用程序(VBA应用程序在sftp进程上停止)。我需要建议如何忽略“将key存储在缓存中?(是/否)”这个问题。或者从我的VBA代码中自动发送一个“y”键?或者在运行pscp.exe之前在PC注册表中定义的其他解决方案?但是该怎么做呢?来自WINXP命令行(cmd)的示例备注

python - Windows 7/Vista 进程管理 - 如何在长时间空闲后启动外部程序?

这是that的后续行动问题。基本上,我有一个python脚本,它应该在大约2-6小时后通过计时器启动另一个程序(.exe)。只要我用短暂的倒计时测试它,或者只要计算机在计时器到期之前“激活”(=之前的用户输入,屏幕打开)或者只要没有其他程序同时工作(一个在我的例子中是ExcelVBA脚本)。在Windows7上,对于长时间倒计时和运行Excel,外部程序无法打开。没有任何错误消息和任何其他(python内部)命令在按应有的方式执行之后。我正在使用x=subprocess.Popen([program,args],flags)命令并尝试了几乎所有可能的标志(Shell、buffersiz

java - Java如何在单独的进程树中执行批处理文件

我正在为我的Java应用编写一个更新机制。我创建了一个Windows批处理文件,退出我的程序,批处理文件继续删除我的Jar,从远程位置复制新的,启动jar。我的问题:删除+复制有效,但是-应用程序无法启动。我认为问题是我不知道如何让Java在单独的进程树中执行批处理文件。运行时:运行时.getRuntime()我打开一个子进程。所以我的问题-Java如何在单独的进程树中执行批处理文件? 最佳答案 Here是一种使用cmd作为中间层的解决方法:publicclassMain{publicstaticvoidmain(String[]a

java - 创建另一个进程的 HWND 的子窗口? (例如屏保预览)

我正在用Java编写屏幕保护程序。它主要用于Windows,但我希望它尽可能便携。根据http://support.microsoft.com/kb/182383,当使用命令行参数/pHWND调用屏幕保护程序时,屏幕保护程序应该“PreviewScreenSaveraschildofwindow”。据推测,这就是屏幕保护程序在“屏幕保护程序设置”对话框中进行小预览的方式。那么,在Java中,如何创建属于其他人的窗口的子窗口的JFrame或JComponent?我看过EmbedHWND(WindowHandle)inaJPanel这是一个反向问题:开发人员控制父窗口并希望嵌入一个子窗口。

windows - Windows驱动程序可以访问进程的页表吗?

在Windows中,内核驱动程序可以执行诸如固定内存以备份虚拟地址范围(MMProbeandLockPages)之类的操作。但是我找不到一种方法来实际验证虚拟地址对特定进程是否有效。换句话说,内核驱动程序有没有办法检查给定的虚拟页面是否包含在给定进程的页表中? 最佳答案 如果驱动程序没有在进程上下文中运行,您必须先调用KeStackAttachProcess。然后,您可以在try/exceptblock中执行ProbeForRead或ProbForWrite。例如,请参阅WinDDK示例中src\general\ioctl\wdm\

python - 如何从 Windows 上的 Gstreamer 子进程读取二进制数据?

f=os.popen("gst-launch-qwhateversrc!...!fdsink")f.read(1024);在GNU/Linux上工作得很好,但导致\x0d\x0a而不是Windows的每个\x0a。如何修复?我也试过gst-launch-q.....!matroskamuxstreamable=true!fdsink>qqq3.mkvinconsole和qqq3.mkv也是乱码。gst-launch-qfilesrc位置=文件!fdsink>file2也转换为CRLF。要做什么?适用于Windows的Gstreamer构建没有tcp{server,client}sink