VB API使窗口获得焦点

VB API使窗口获得焦点,第1张

如果没猜错的“123456”是标题而已 FINDWINDOW 获取你的“123456”窗口句柄GetForegroundWindow 当前活动句柄如果当前句柄和FINDWINDOW的窗口句柄一样 你就可以用SENDKYES "TAB" 函数 转移焦点

两种办法:

在Form_Load事件里写:

文本框的名称Focus();

或设置文本框的默认焦点:

选择TextBox后在属性窗口里把TabIndex设为0,如果不行那就设为1(前提是TabStop是True的)

GetForegroundWindow

可以获取到有焦点的顶层窗口

获取有焦点的子窗口只能用GetFocus,但是如果当前顶层窗口属于其他线程,GetFocus将返回NULL。没有好的办法解决,除非AttachThreadInput或者用钩子(HOOK)

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

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

AttachThreadInput(tid, GetCurrentThreadId(),TRUE);

HWND hWnd = GetFocus();

AttachThreadInput(tid, GetCurrentThreadId(),FALSE);

以上就是关于VB API使窗口获得焦点全部的内容,包括:VB API使窗口获得焦点、c#窗口启动 textbox怎么获取焦点、如何获得光标位置输入焦点窗口句柄等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: https://outofmemory.cn/web/9561115.html

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

发表评论

登录后才能评论

评论列表(0条)

保存