免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4154 | 回复: 0
打印 上一主题 下一主题

win32::api 关闭、启动windows进程 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-12-15 16:23 |只看该作者 |倒序浏览
本帖最后由 lgq_101 于 2010-12-15 16:25 编辑
  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,还请大师兄们帮帮忙。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP