C#或VB获取窗口焦点问题

C#或VB获取窗口焦点问题,第1张

问题写得模模糊糊

API,获得指定名称的窗口句柄:

Declare

Function

FindWindow

Lib

"user32"

Alias

"FindWindowA"

(ByVal

lpClassName

As

String,

ByVal

lpWindowName

As

String)

As

Long

API,使指定句柄的窗口得到焦点:

Declare

Function

SetForegroundWindow

Lib

"user32"

(ByVal

hwnd

As

Long)

As

Long

具体用法可以查阅MSDN,不知道我理解对没有

想了一下可以用AttachThreadInput先把当前线程的输入和焦点线程的输入连起来再GetFocus。

const DWORD tid = GetWindowThreadProcessId(GetForegroundWindow(),NULL);

AttachThreadInput(tid, GetCurrentThreadId(),TRUE);

HWND hWnd = GetFocus();

AttachThreadInput(tid, GetCurrentThreadId(),FALSE);

javaawtFrame类有一个方法setExtendedState()可以 *** 纵窗口最小化,最大化,还原窗口3种状态:

最小化:setExtendedState(JFrameNORMAL)

最大化:setExtendedState(JFrameMAXIMIZED_BOTH)

还原:setExtendedState(JFrameNORMAL)

还有一个方法getExtendedState()可以获得窗口的状态。

JFrame类是Frame的子类,完全可以运用上述的方法。

比如:把处于最小化状态的窗口还原为原来大小:

if (jFramegetExtendedState() == JFrameICONIFIED) {

jFramesetExtendedState(JFrameNORMAL);

}

以上就是关于C#或VB获取窗口焦点问题全部的内容,包括:C#或VB获取窗口焦点问题、如何获得当前拥有输入焦点的窗口的句柄、关于JFrame窗体获取焦点的问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9761557.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存