私はvbsを初めて使用しますが、c、c++ n javaでプログラミングを行いました。インターネットで検索してみましたが、どこが間違っているのかまだわかりません。20% の CPU 使用率を超えた場合に rundll という名前のプロセスを強制終了するスクリプトを作成しています。
Option Explicit
DIM MyPID(5), objProcess, objItems, objitem
DIM XX, I
XX = -1
dim objService
set objService = getobject("winmgmts:")
dim Process
for each Process in objService.InstancesOf("Win32_process")
if Process.Name = "rundll32.exe" Then XX = XX + 1
if Process.Name = "rundll32.exe" Then MyPID(XX) = Process.processid
Next
For I = 0 To 5
Set objProcess = GetObject("winmgmts:{impersonationLevel=impersonate}//localhost")
Set objItems = objProcess.ExecQuery("Select PercentProcessorTime from Win32_PerfFormattedData_PerfProc_Process where IDProcess=" &MyPID(I)& "")
if (IsNull(objItems)) Then
Wscript.Echo "No process found"
Exit For
End if
for each objItem in objItems
if objItems = Null Then
Wscript.Echo "No process found"
elseif objItem>20 Then Wscript.Echo "Criminal process found :" & MyPID(I) & " = " & objItem.PercentProcessorTime
End if
NEXT
NEXT
スクリプトがプロセスを見つけられない場合、現在取得している複雑な null アラートの代わりに、プロセスが見つかりませんを出力する必要があります
どんな助けでも大歓迎ですので、提案してください