首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

GetWindowThreadProcessId 的有关问题

2013-04-20 
GetWindowThreadProcessId 的问题本帖最后由 xilao2 于 2013-04-10 01:51:26 编辑DWORD processid::GetWi

GetWindowThreadProcessId 的问题
本帖最后由 xilao2 于 2013-04-10 01:51:26 编辑

DWORD processid;
::GetWindowThreadProcessId(gameh,&processid);
//打开指定进程
HANDLE processH=::OpenProcess(PROCESS_ALL_ACCESS,false,processid);


这段代码没问题~
DWORD *processid;
::GetWindowThreadProcessId(gameh,processid);
//打开指定进程
HANDLE processH=::OpenProcess(PROCESS_ALL_ACCESS,false,*processid);


这样子就有问题了~运行的时候出错,XXXX引用的内存0xccccccccc内存,该内存不能为written

两点了~实在想不明白了~求指点~
[解决办法]
DWORD?*processid;这个只是声明了一个指针,并没有分配内存,调用GetWindowThreadProcessId时写入数据显然是错的。
DWORD processid;声明了一个变量,在栈上分配了内存,所以写入时没错。

另外
DWORD?*processid = new DWORD;
也是可以的
[解决办法]
DWORD *processid = new DWORD;
之后不用processid时别忘了
delete processid;

热点排行