【问题标题】:Win32API for window focalizationWin32API 用于窗口聚焦
【发布时间】:2009-07-20 21:04:52
【问题描述】:

我想使用 API 函数将焦点设置在 Windows 下的一个窗口上(XP、Vista、7(无论如何,任何支持 .NET 3.0 或更高版本的版本))。这样当你按下一个键时,操作系统会将焦点转移到另一个窗口。

谢谢

P.S:如果您知道 .NET 2.0(或更高版本)中的任何类,我可以使用它来开发此解决方案,我希望您告诉我。

【问题讨论】:

  • 聚焦……真的吗?那是......充其量不是一个词。
  • 我认为它的意思是“设置窗口焦点”。我想知道提问者是否想要 Win32 API 函数或 .NET BCL 中的某些东西,因为标题和问题文本有点矛盾。
  • 另外,您要求 Win32 解决方案,但随后您要求 .NET 解决方案。是哪个?
  • Focalizate 有什么问题?这是一个完美的词。
  • 我只想改变焦点

标签: winapi


【解决方案1】:

你可以 p/invoke SetForegroundWindow。这将带来一个窗口并专注于它。

这确实需要您拥有 Windows HWND。

附带说明,用户不喜欢意外聚焦窗口;所以谨慎使用。此外,Windows 不一定会真正将窗口向前推进;在某些情况下,它可能只是“闪烁”标题栏。

【讨论】:

  • 是的,闪烁标题栏应该是正确的(记录在案的)行为。
  • 仍有前景窗口会发生变化的情况。它们被记录在案。一般来说,Window's 试图让滥用焦点变得困难,但它在这方面几乎没有 100% 成功。
  • 是的,我知道;我们的一个应用程序会这样做,我讨厌它。
猜你喜欢
  • 2018-08-13
  • 2011-06-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-01
  • 1970-01-01
相关资源
最近更新 更多