我是一名 php 开发人员,想使用 php + 一些 windows api 来执行任务。
任务是:很好地要求正在运行的 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