0

我是一名 php 开发人员,想使用 php + 一些 windows api 来执行任务。

任务是:很好地要求正在运行的 Windows 应用程序自行关闭。

用 php 做这件事当然不自然,但我正在用 php 编写我的小脚本,因为这是我这些天使用的语言并且很熟悉。

4

2 回答 2

1

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 
于 2013-01-07T22:14:55.373 回答
1

PHP中有一些支持调用win32 API。但是,该扩展程序的稳定性似乎不是很好。

我认为你能做的最好的就是使用系统调用。

于 2013-01-07T18:44:18.073 回答