Curlからあるプロセスが上がっているか知りたかったんでActiveX&VBSを使ってやってみました。
CurlからActiveXの「ScriptControl」でVBSを呼びだしてVBSのなかでWin32APIの「winmgmts」を使ってタスクを検索しています。
Curl→ActiveX→VBS→Win32APIとかなりまどろっこしいソースになってしまった。
{curl 5.0 applet} {curl-file-attributes character-encoding = "shift-jis"} {applet {compiler-directives careful? = true} } {import * from CURL.GRAPHICS.ACTIVEX} {let oSC:ActiveXObject = {ActiveXObject ProgId = "ScriptControl" } } {let targetName:String = "svchost.exe"} {set oSC.Language = "VBScript"} {let sFunc:String = |"Function ProcessCheck() isExsits = "いないよ" for each Process in _ GetObject("winmgmts:{impersonationLevel=impersonate}").ExecQuery _ ("select * from Win32_Process where Name='"| & targetName &|"'") isExsits = "いるよ" Next ProcessCheck = isExsits End Function "| } {oSC.AddCode sFunc } {let Ret:any = {oSC.Run "ProcessCheck"}} {View {VBox "プロセス[" & targetName & "]は" & Ret }, visibility = "normal", {on WindowClose do {exit} } }