私はphp開発者であり、php+いくつかのWindowsAPIを使用してタスクを実行したいと考えています。
タスクは次のとおりです。実行中のWindowsアプリケーションにそれ自体を閉じるように適切に要求します。
phpでこれを行うのは確かに自然ではありませんが、これは私が最近使用していて快適な言語であるため、phpで小さなスクリプトを書いています。
php.netサイトはいくつかのガイダンスを提供しています:
http://php.net/manual/en/book.w32api.php
w32api_deftype w32api_init_dtype w32api_ invoke_function w32api_register_function w32api_set_call_method
最もクリーンな方法は、WM_CLOSEメッセージをWindowsプログラムに送信することです。
Win32プロセスを強制終了するためのより残忍で効果的な方法は、pskill.exeを使用することです。
ここからダウンロードできます: http ://technet.microsoft.com/en-us/sysinternals/bb896683.aspx
次のようにvbscriptプログラムを呼び出すこともできます。
' ProcessKillLocal.vbs
' Sample VBScript to kill a program
' Author Guy Thomas http://computerperformance.co.uk/
' Version 2.7 - December 2010
' ------------------------ -------------------------------'
Option Explicit
Dim objWMIService, objProcess, colProcess
Dim strComputer, strProcessKill
strComputer = "."
'YOU NEED TO REPLACE calc.exe WITH THE APP YOU WISH TO KILL
strProcessKill = "'calc.exe'"
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" _
& strComputer & "\root\cimv2")
Set colProcess = objWMIService.ExecQuery _
("Select * from Win32_Process Where Name = " & strProcessKill )
For Each objProcess in colProcess
objProcess.Terminate()
Next
WSCript.Echo "Just killed process " & strProcessKill _
& " on " & strComputer
WScript.Quit
' End of WMI Example of a Kill Process