Wince 下对 进程的操作

今天写省电宝~需要关闭音乐进程,发现EnumProcessModules 这类函数竟然找不到,可能是定制Wince删掉这个了,也没有其他的lib,所以试验了几个方法,发现下面的这个最好用

 

 

DWORD FindProcess(TCHAR *ProcessName)  
{  
 HANDLE hProcessSnap; ;
 DWORD ProcessID=0x00;
 hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
 if(hProcessSnap==INVALID_HANDLE_VALUE)
 {
  //printf("列举进程失败/n");
  return -1;
 }
 PROCESSENTRY32 pe32;
 pe32.dwSize = sizeof(pe32);
 BOOL bProcess = Process32First(hProcessSnap, &pe32);
 TCHAR buff[1024];
 while(bProcess)
 {
  if(wcscmp(ProcessName,pe32.szExeFile)==0)
  {
   ProcessID= pe32.th32ProcessID;
   break;
  }
  memset(buff, 0x00, 1024);
  bProcess=Process32Next(hProcessSnap, &pe32);
 }
 if(ProcessID==0)
 {
  //printf("没有找到进程%s", ProcessName);
  return   -1;
 }
 return ProcessID;

VOID KillProcess(DWORD IDProcess)  
{  
 // When the all operation fail this function terminate the "winlogon" Process for force exit the system.  
 HANDLE hYourTargetProcess = OpenProcess(PROCESS_QUERY_INFORMATION |   // Required by Alpha  
  PROCESS_CREATE_THREAD     |   // For CreateRemoteThread  
  PROCESS_VM_OPERATION      |   // For VirtualAllocEx/VirtualFreeEx  
  PROCESS_VM_WRITE,             // For WriteProcessMemory  
  FALSE, IDProcess);  
 if(hYourTargetProcess == NULL)  
 {  
  return;  
 }  
 TerminateProcess(hYourTargetProcess, 0);  
 return;  

 

 

这两个函数是分别摘自网上两个不同地方~组合起来还是很好用哈哈~

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值