【发布时间】:2011-03-14 12:20:17
【问题描述】:
是否可以将焦点设置在 Windows 中的控制台应用程序上? SetFocus 看起来很有希望,但它需要一个 HWND,我不知道控制台应用程序是否有一个。
【问题讨论】:
-
您是在寻找从控制台应用程序内部还是从其他应用程序执行此操作的方法?
标签: winapi console console-application windows
是否可以将焦点设置在 Windows 中的控制台应用程序上? SetFocus 看起来很有希望,但它需要一个 HWND,我不知道控制台应用程序是否有一个。
【问题讨论】:
标签: winapi console console-application windows
使用GetConsoleWindow 函数。
【讨论】:
/SUBSYSTEM:CONSOLE 选项(作为标志存储在 PE 标头中)链接的进程时自动调用 AllocConsole 或 AttachConsole。
GetConsoleWindow 确实有效。但是SetFocus 返回 NULL,GetLastError 给出 ERROR_ACCESS_DENIED。任何想法为什么?
SetFocus 可用于在单个应用程序中更改焦点,或者在拥有焦点时放弃焦点,但不能用于获取焦点。考虑使用FlashWindowEx 而不是msdn.microsoft.com/en-us/library/ms679347.aspx