FindWindowEx在Windows7与XP系统中不同,windows7换成xp系统
int GetInfo{ hwnd Nowh; int i; Nowh=FindWindowEx(0,Nowh,null,null); for(i=0;Nowh<>0;i++){ Nowh=FindWindowEx(0,Nowh,null,null); } //这里显示i、统计数量 return i }
大致代码是这个意思(我不会C语言、、勉强写的、可能语法不对、那个意思应该能看懂的)、这一段代码在XP里是没有任何问题的、可是在Windows7中、我本地机器测试、返回大多数情况是0、偶尔会返回不大于20的数字(实际远远不止)、同样的代码、我找了两位朋友测试、也都是Windows7、其中一位的情况和我一样、然而另一位则一切和XP中一样、返回值正常、、请问这是为何?
(我让朋友测试的时候、EXE文件是我编译的、即是同一个文件进行测试)
解决方案
如果有可以正常运行的用户/偶尔会出现的错误,一般都是程序有内存泄露或是数组越界的问题。建议你用熟悉的语言写一个最简单的调用FindWindowEx的程序,以排除、找到问题。
用户评论