首页
社区
课程
招聘
获取扫雷进程句柄的问题
发表于: 2009-11-30 13:15 3957

获取扫雷进程句柄的问题

2009-11-30 13:15
3957
我试图获取扫雷的进程句柄 但是总是返回0 不知道哪有问题 代码不长 希望高手能给看看
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
main(){
       DWORD pid;
       HWND hwnd=FindWindow(NULL,"扫雷");     //获取扫雷窗口句柄
       HANDLE hToken;                         //访问令牌指针 
       TOKEN_PRIVILEGES Privileges;
       LUID luid; 
       Privileges.PrivilegeCount=1; 
       OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES,&hToken);    //返回访问令牌指针 
       LookupPrivilegeValue(NULL,SE_DEBUG_NAME,&luid);                //获取LUID值 
       Privileges.Privileges[0].Luid=luid;
       Privileges.Privileges[0].Attributes=SE_PRIVILEGE_ENABLED;
       if(AdjustTokenPrivileges(hToken,FALSE,&Privileges,NULL,NULL,NULL)); //修改访问令牌  
       pid=GetWindowThreadProcessId(hwnd,NULL);                       //获取扫雷进程ID
       HANDLE handleid=OpenProcess(PROCESS_ALL_ACCESS,FALSE,pid);        //获取扫雷进程句柄
       CloseHandle(hToken);
       system("pause");
       }

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 101
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
取扫雷的不需要提权,进程句柄or窗口句柄
2009-11-30 16:44
0
雪    币: 538
活跃值: (500)
能力值: ( LV9,RANK:290 )
在线值:
发帖
回帖
粉丝
3
pid=GetWindowThreadProcessId(hwnd,NULL);                       

改为这个

GetWindowThreadProcessId(hwnd,&pid);

GetWindowThreadProcessId   的返回值是  创建这个窗口的线程ID
2009-11-30 16:54
0
雪    币: 173
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
问题解决 我没仔细看MSDN上的函数说明
谢谢!
2009-11-30 21:54
0
雪    币: 433
活跃值: (1870)
能力值: ( LV17,RANK:1820 )
在线值:
发帖
回帖
粉丝
5
取个句柄,没必要这样大动干戈吧
2009-11-30 21:57
0
游客
登录 | 注册 方可回帖
返回
//