vb.net中如何获得某个窗口的句柄

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vb.net中如何获得某个窗口的句柄相关的知识,希望对你有一定的参考价值。

Dim mHwnd As Long
mHwnd = FindWindow(vbNullString, "登录")

“登录”是窗口的标题,这样对不对呢?看起来好像是对的,可是执行时mHwnd的值是一堆数字:52072874986438656,根据后面程序执行的状况可以看出获得的句柄是错误的,那么怎样才能获得那个窗口的正确句柄呢?

帮帮忙,谢谢!

参考技术A 你声明mHwnd类型错了,应该是Dim mHwnd As IntPtr

如何获得焦点窗口句柄?

【中文标题】如何获得焦点窗口句柄?【英文标题】:How to get On Focus CWindow handle? 【发布时间】:2008-11-03 11:09:49 【问题描述】:

有没有办法获得具有焦点的控件的句柄? 我正在寻找一种在我的应用程序中获取焦点控件 ID 的方法。

之后就很容易用GetDlgCtrlID获取id了。

CWnd *pwnd = GetWindowOnFocus(); 
int wID = pwnd->GetDlgCtrlID();

我缺少的是 GetWindowOnFocus 部分!

【问题讨论】:

【参考方案1】:

看看静态的CWnd::GetFocus 方法。

【讨论】:

GetFocus 将 HWND 还给我 - 不知道如何从 HWND 获取控件 ID :-) 你需要调用静态CWnd::GetFocus方法,它返回一个CWnd*,而不是Win32 ::GetFocus函数,它返回一个HWND。

以上是关于vb.net中如何获得某个窗口的句柄的主要内容,如果未能解决你的问题,请参考以下文章

如何获取控件句柄 vc

c# 在知道数据窗口的句柄的时候如何获得数据窗口的数据

如何获得焦点窗口句柄?

VB 获得窗口句柄

vb 知道窗口句柄以及怎样获得窗口上文本框和按钮句柄并传递信息

C# winform鼠标移动到窗口给窗口加边框并获得句柄