Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.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
Lotus notes Lotus脚本-检查windows进程是否正在运行_Lotus Notes - Fatal编程技术网

Lotus notes Lotus脚本-检查windows进程是否正在运行

Lotus notes Lotus脚本-检查windows进程是否正在运行,lotus-notes,Lotus Notes,我是编程新手。我制作了一个简单的代码块,当我在LotusNotes8.5.3(basic)中打开应用程序时,它会运行一个Windows程序POSTOPEN Lotus脚本是否有办法检查Windows进程是否已经在运行 谢谢使用Shell运行tasklist并将输出定向到文件。然后读取LotusScript中的文件,并检查是否列出了该进程 编辑 看起来您甚至可以使用tasklist检查特定进程是否正在运行: tasklist /FI "IMAGENAME eq connect.exe" /FO C

我是编程新手。我制作了一个简单的代码块,当我在LotusNotes8.5.3(basic)中打开应用程序时,它会运行一个Windows程序POSTOPEN

Lotus脚本是否有办法检查Windows进程是否已经在运行


谢谢

使用
Shell
运行
tasklist
并将输出定向到文件。然后读取LotusScript中的文件,并检查是否列出了该进程

编辑

看起来您甚至可以使用
tasklist
检查特定进程是否正在运行:

tasklist /FI "IMAGENAME eq connect.exe" /FO CSV > search.log

根据这个片段: 我假设以下代码可以工作:

因此,一旦您有了进程ID(假设您已经通过shellid函数运行了任务),就为所有正在运行的进程执行chceck,并确定是否有您启动的processid


顺便说一句:同样的方法可以用来终止这样的过程。只需google for>“winmgmts”LotusScript如果只是您的代码启动了进程,请使用shellid而不是shell-您将获得进程ID,然后可以检查该ID。
tasklist /FI "IMAGENAME eq connect.exe" /FO CSV > search.log
Option Explicit

Dim oProc, oWMIServ, colProc
Dim strPC, strList
Dim StrSpace

strPC = "."

Set oWMIServ = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strPC & "\root\cimv2")    

Set colProc = oWMIServ.ExecQuery("Select * from Win32_Process")

strSpace = string(20," ")
strList = "ProcName" & strSpace & vbTab & "ProcID" & vbCrLf & string(45,"-")

For Each oProc In colProc
    strSpace = string(28 - len(oProc.Name)," ")
    strList = strList & vbCrLf & oProc.Name & strSpace & vbTab & oProc.ProcessId
Next