C#中如何获得HWND(窗口句柄)?

wwfttelne 2003-10-18 06:02:38
hwnd在Win32 API 中,几乎总是被用到。
如何在C#中得到自己的hwnd?
如果可以在C#中调用某个Win32 API 也行。
可是我也没有找到。
请高手帮忙。
...全文
3862 17 打赏 收藏 举报
写回复
17 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
solomon2002 2004-02-14
郁闷
  • 打赏
  • 举报
回复
ArLi2003 2003-11-08
倒分嫌疑....
  • 打赏
  • 举报
回复
layershow 2003-11-04
好贴
佩服呀佩服
每人应该鼓掌三下
  • 打赏
  • 举报
回复
ArLi2003 2003-10-21
其中的 IEXPLORE 是进程名,可以换成需要的

int32 数组是因为可能有多个的IE 进程
  • 打赏
  • 举报
回复
ArLi2003 2003-10-21
楼主只是想要当前窗口啊,你的问题应该开新贴,嘿嘿,答案如下:原理是一样的

Process[] processes = Process.GetProcessesByName("IEXPLORE");
Int32[] hwnd_IE = new Int32[processes.Length];

for (int i=0; i<processes.Length; i++) {
hwnd_IE[i] = processes[i].MainWindowHandle.ToInt32();
}
  • 打赏
  • 举报
回复
zhoutiance 2003-10-20
这些都是获得当前窗口的句柄吧?
如果想获得其他窗口的该怎么办?比如说某个IE窗口的?
  • 打赏
  • 举报
回复
ArLi2003 2003-10-20
Int32 hwnd_fromclass = this.Handle.ToInt32();
Int32 hwnd_Process = System.Diagnostics.Process.GetCurrentProcess().Handle.ToInt32();

不过也可以将API 直接声明成 IntPtr 类型
  • 打赏
  • 举报
回复
hjwzr 2003-10-20
up
  • 打赏
  • 举报
回复
Tsiah 2003-10-19
窗体好象有个叫HWND的属性吧……

不是好像,本来就是有的。
  • 打赏
  • 举报
回复
easydone 2003-10-19
this.Handle不行吗?
  • 打赏
  • 举报
回复
weifenluo 2003-10-19
Control.Handle属性返回的就是控件的窗口句柄。
  • 打赏
  • 举报
回复
layershow 2003-10-19
Handle 属性就是句柄 IntPtr型
引用API时 HWND参数也写成IntPtr
关于IntPtr可以看看MSDN
  • 打赏
  • 举报
回复
orcale 2003-10-19
findmessage
  • 打赏
  • 举报
回复
BLGT 2003-10-18
窗体好象有个叫HWND的属性吧……
  • 打赏
  • 举报
回复
jasonhrs 2003-10-18
需要用到属性
好以下属性调用api函数使喇叭响
using System.Runtime.InteropServices;
[DllImport("user32.dll")]
public static extern bool MessageBeep(uint uType);
MessageBeep(1);//PC喇叭响

  • 打赏
  • 举报
回复
zeax 2003-10-18
顶,关注
  • 打赏
  • 举报
回复
losal 2003-10-18
我也在找

关注!
  • 打赏
  • 举报
回复
相关推荐
发帖
C#
加入

10.7w+

社区成员

.NET技术 C#
申请成为版主
帖子事件
创建了帖子
2003-10-18 06:02
社区公告

让您成为最强悍的C#开发者