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

线程中的FindWindow在win7停查找不到指定窗口句柄

2013-10-22 
线程中的FindWindow在win7下查找不到指定窗口句柄delphi中我在udp监听服务线程中用到了FindWindow函数来查

线程中的FindWindow在win7下查找不到指定窗口句柄
   delphi中我在udp监听服务线程中用到了FindWindow函数来查找桌面打开窗口的句柄,用法h := FindWindow('TForm1', ’窗口1‘);在xp系统下运行能正常找到句柄值,但是放到win7下或者windows2003上运行后就查找不到句柄值了,但这个用法不放到线程中而在工程.exe的启动入口处调用在win7下则能正常找到句柄值,难道和win7下线程运行的保护机制有关,需要如何使用呢?有遇到这种问题的吗?
[解决办法]
应该不会吧,看下会不会是在FindWindow前就报错了,加个log把Handle记录或显示出来。
[解决办法]
你确定你的进程是以当前用户运行的?
不同的用户有不同的用户空间
同一用户还可以有多个桌面
FindWindow只能找当前线程所在桌面的句柄,如果用户不同或桌面不同,都找不到
[解决办法]
我在win7 64位系统上使用过,没问题呀,我也是在线程中findwindow,正常。
[解决办法]
我也出现这样的问题,真心觉得是不是Win7的问题,我用GetforegeroundWindow函数获取当前窗体句柄才行,

热点排行