+ -
当前位置:首页 → 问答吧 → win32::api 启动windows进程

win32::api 启动windows进程

时间:2010-12-15

来源:互联网

  1. #!/usr/bin/perl

  2. use Win32::API;
  3. use Win32::Process::List;

  4. sub KillProcess {
  5.     $pid = shift;
  6.     $OpenProcess = new Win32::API("kernel32.dll","OpenProcess",[I,I,N],N);
  7.     $PROCESS_ALL_ACCESS = 0x0001;
  8.     $hProcess = $OpenProcess->Call($PROCESS_ALL_ACCESS,0,$pid);

  9.     $TerminateProcess = new Win32::API( 'Kernel32.dll', 'TerminateProcess', [N,I], I );
  10.     $kill = $TerminateProcess->Call($hProcess,1);
  11. }

  12. $P = Win32::Process::List->new();
  13. %list = $P->GetProcesses();
  14. foreach (keys %list){
  15.     if($list{$_} ~~ "Runsrv.exe"){
  16.         KillProcess($_);
  17.     }
  18. }
复制代码
在网上找了找,发现这个关闭进程是可以的,已经测试过,但是如何启动一个程序的进程,小弟就不会了,CreateProcess()这个函数好像是可以做到,但是我实在不会win32 api,还请大师兄们帮帮忙。

作者: lgq_101   发布时间: 2010-12-15

不会就去学啊。知识不就这么一点一点来的麽。

作者: flw   发布时间: 2010-12-15

回复 flw


    关闭进程就是改了大半天总算是搞定了,就是启进程搞不定,调用api函数,这事情不是几天就学会的,实在扛不住了,摸不着头绪,就到你的管辖范围请教高人。

作者: lgq_101   发布时间: 2010-12-15

为你好你还以为是压迫你呢。
真是没治了,爱咋咋地吧。祝你一路顺风,工作事事如意。

作者: flw   发布时间: 2010-12-15

回复 flw


    贴出关闭代码,也是为了后人分享,不要绕路,总有人会用到,毕竟是一件方便自己,方便大家的好事,哎,埋头继续研究吧。

作者: lgq_101   发布时间: 2010-12-15