- 論壇徽章:
- 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($_);
- }
- }
復(fù)制代碼 在網(wǎng)上找了找,發(fā)現(xiàn)這個(gè)關(guān)閉進(jìn)程是可以的,已經(jīng)測試過,但是如何啟動(dòng)一個(gè)程序的進(jìn)程,小弟就不會(huì)了,CreateProcess()這個(gè)函數(shù)好像是可以做到,但是我實(shí)在不會(huì)win32 api,還請大師兄們幫幫忙。 |
|