标题:关于获取句柄的问题,一直求不到正解!
取消只看楼主
zmidl
Rank: 1
等 级:新手上路
帖 子:115
专家分:0
注 册:2009-4-3
结帖率:90.32%
已结贴  问题点数:10 回复次数:6 
关于获取句柄的问题,一直求不到正解!
由于我获取句柄是 IntPtr 句柄1=Findwindows(string 类名,string 标题名);这样确实获取了窗体句柄
但是 当我再一次打开同一个程序的第二个窗口 我还是这样获取句柄的话 那么一个句柄两个窗体共了。
其结果就是那个窗口最前,那个窗口获得句柄。
我希望把两个相同程序的两个窗口的句柄区别开来,方便我操作。我该如何实现。
是不是可以通过其他方法来获得句柄,或者说通过进程id可不可以呢??
这个问题目前为止一直没有找到满意的答案。若能提供帮助万分感激!!!!
搜索更多相关主题的帖子: 句柄 
2009-08-05 14:37
zmidl
Rank: 1
等 级:新手上路
帖 子:115
专家分:0
注 册:2009-4-3
得分:0 
以下是引用baikil在2009-8-5 14:56的发言:API 函数中有一个可以获得所有打开的窗体方法,看看说明就行啊吗,
具体如何实现呢?
2009-08-06 09:41
zmidl
Rank: 1
等 级:新手上路
帖 子:115
专家分:0
注 册:2009-4-3
得分:0 
以下是引用baikil在2009-8-6 11:41的发言:呵呵,真懒啊1
不是我懒啊 我才接触API 很多函数都是第一次了解,你给了我实例,我就等于学到一个知识点啊!
2009-08-06 15:11
zmidl
Rank: 1
等 级:新手上路
帖 子:115
专家分:0
注 册:2009-4-3
得分:0 
baikil兄弟,非常感谢你的代码,我目前正在消化你的代码。不过还是没有解决我的问题。
我如何分开获取相同程序窗体的句柄??

比如  遍历所有窗口句柄得到如下信息
      11111      1.txt - 记事本
      22222      1.txt - 记事本
我如何分开取句柄? 数字句柄如何 变成我要的 IntPtr类型呢??
我的目的就是 postmessage(11111,0x024,。。。。)
然后同样的程序第二个窗口 postmessage(22222,。。。。。)
2009-08-07 14:22
zmidl
Rank: 1
等 级:新手上路
帖 子:115
专家分:0
注 册:2009-4-3
得分:0 
    这个问题我急需解决阿,高手来回答下吧!!
2009-08-10 13:28
zmidl
Rank: 1
等 级:新手上路
帖 子:115
专家分:0
注 册:2009-4-3
得分:0 
楼上的朋友 同样的程序多个窗口 ClassName类名怎么就一样了??两个按钮 类名都是BUTTON啊????
还有我打开的多个相同窗体一模一样,就是数字句柄不一样,但是数字句柄每次都是变动的我才头疼!!!
我就是为了实现 两个相同的游戏窗口可以互相切换 方便我postmessage 自动挂机的目的阿!!!!
2009-08-11 09:13
zmidl
Rank: 1
等 级:新手上路
帖 子:115
专家分:0
注 册:2009-4-3
得分:0 
很高兴yangglemu兄弟来解答我的疑问,也感谢yangglemu兄弟的热心。没有看清你的回答就发表回复我表示抱歉。
目前我自己用了一个办法解决了问题,
分别 IntPtr p1=new IntPtr(Int32.Parta(listview.Items[0].subitem[0].text));
         ...p2.......................................1..........0......;
不同的行分别获取不同的句柄。
2009-08-12 14:32



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-281648-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.413304 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved