0

私はプログラミングが初めてです。Lotus Notes 8.5.3 (基本) でアプリケーションを開いたときに Windows プログラム POSTOPEN を実行する単純なコードブロックを作成しました。

' [ML]Check if user is member of the [ConnectClient] role. 
ipConnect = HasRole("[ConnectClient]") 
If ipConnect = True Then 
    Dim result As Integer
    Print "Postopen: Has [ConnectClient] role - starting Connect Client"
    result = Shell("c:\program files (x86)\ipvision\Connect\connect.exe", 1) 
End If

Windows プロセスが既に実行されているかどうかを Lotus Script で確認する方法はありますか?

ありがとう

4

2 に答える 2

1

このスニペットによると:http://blog.panagenda.com/pub/panablog.nsf/d6plinks/FLOR-7D5KZR 次のコードが機能すると思います:http://coderstalk.blogspot.sk/2009/10/list-windows -xp-running-process-and.html

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

したがって、プロセスIDを取得したら(shellid関数でタスクを実行したと仮定して)、実行中のすべてのプロセスに対してchceckを実行し、開始したprocessidがあるかどうかを確認します。

ところで:同じアプローチを使用して、そのようなプロセスを終了することができます。> "winmgmts"lotusscript<をグーグルで検索してください。

于 2013-02-08T10:10:09.473 に答える
1

Shell出力を実行tasklistしてファイルに送信するために使用します。次に、LotusScript でファイルを読み取り、そこにプロセスがリストされているかどうかを確認します。

編集

を使用して実行している場合、特定のプロセスかどうかを確認することもできるようですtasklist:

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

プロセスがバッチ スクリプトを介して実行されているかどうかを確認する方法

于 2013-02-08T10:02:01.193 に答える