Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用VBScript激活具有已知进程ID的正在运行的进程_Vbscript - Fatal编程技术网

使用VBScript激活具有已知进程ID的正在运行的进程

使用VBScript激活具有已知进程ID的正在运行的进程,vbscript,Vbscript,我拥有已在运行的应用程序进程的进程ID。 现在我想用VBScript通过这个进程id激活同一个窗口 假设mypid是进程ID Set Shell = CreateObject("WScript.Shell") Shell.AppActivate(mypid) 这在Windows 7上返回false 如果有人有答案,我想知道。请查看此链接: 这是好的解决方案的总结: Set WshShell = CreateObject("WScript.Shell") for i=0 to 300

我拥有已在运行的应用程序进程的进程ID。 现在我想用VBScript通过这个进程id激活同一个窗口

假设
mypid
是进程ID

Set Shell = CreateObject("WScript.Shell")
Shell.AppActivate(mypid)
这在Windows 7上返回
false

如果有人有答案,我想知道。

请查看此链接:

这是好的解决方案的总结:

Set WshShell = CreateObject("WScript.Shell")
    for i=0 to 300    'this loop will continue about 30 sec if this not enough increase this number
        Rtn=WshShell.AppActivate(myPID)  'have to be the windows title of application or its process ID
        If Rtn = True Then 
            WshShell.SendKeys "......."                                  ' send key you like
            wscript.sleep 100                ' stop execute next line until finish close app
             End If 
        wscript.sleep 100
    Next

@eurotrash
retrn=shell.AppActivate(mypid)
是正确的方法。
AppActivate
方法返回一个
Boolean
值,用于标识过程调用是否成功。此方法将焦点更改为指定的应用程序或窗口,但不影响它是最大化还是最小化。当用户采取更改焦点(或关闭窗口)的操作时,焦点从激活的应用程序窗口移动。您所说的“打开同一窗口”是什么意思?如果进程正在运行,则窗口应该已经打开。你想把窗户放在前面吗?我想把窗户放在前面。它不这样做。shell.appactivate mypid与shell.appactivate(mypid)相同。此外,如果不保存返回值,仍然会运行命令