- 论坛徽章:
- 0
|
本帖最后由 lgq_101 于 2010-12-15 16:25 编辑
- #!/usr/bin/perl
- use Win32::API;
- use Win32::Process::List;
- sub KillProcess {
- $pid = shift;
- $OpenProcess = new Win32::API("kernel32.dll","OpenProcess",[I,I,N],N);
- $PROCESS_ALL_ACCESS = 0x0001;
- $hProcess = $OpenProcess->Call($PROCESS_ALL_ACCESS,0,$pid);
- $TerminateProcess = new Win32::API( 'Kernel32.dll', 'TerminateProcess', [N,I], I );
- $kill = $TerminateProcess->Call($hProcess,1);
- }
- $P = Win32::Process::List->new();
- %list = $P->GetProcesses();
- foreach (keys %list){
- if($list{$_} ~~ "Runsrv.exe"){
- KillProcess($_);
- }
- }
复制代码 在网上找了找,发现这个关闭进程是可以的,已经测试过,但是如何启动一个程序的进程,小弟就不会了,CreateProcess()这个函数好像是可以做到,但是我实在不会win32 api,还请大师兄们帮帮忙。 |
|