【问题标题】:How do I check if Windows is currently displaying the busy cursor?如何检查 Windows 当前是否显示忙碌光标?
【发布时间】:2012-03-15 06:07:29
【问题描述】:

我知道如何设置当前光标,但是如果 Windows 显示忙光标,我该如何检查操作系统级别?否则,如何检查 Windows 是否处于“忙碌”状态?

【问题讨论】:

  • 请不要在您的标题中添加“(C#)”。这就是标签的用途。
  • 如果你使用的是winforms:msdn.microsoft.com/en-us/library/…
  • Windows“忙碌”状态是否有适当的定义?
  • 我不知道是否有任何API。如果你很绝望并且需要知道它,那么在繁忙光标应该位于的位置逐个像素读取帧缓冲区,并将其与已知位图进行比较。
  • Windows 本身没有自己的状态,它使用鼠标点下方的窗口状态。将鼠标从繁忙的应用程序移至非繁忙的应用程序,光标会发生变化。

标签: c# windows busyindicator busy-cursor


【解决方案1】:

您可以使用GetCursorInfo API 来执行此操作。

【讨论】:

  • 我想过,但意识到它没有提供足够的信息。也许我应该使用 hCursor 的 IntPtr 值来获取这个“忙碌”信息?
  • -1:此 API 不会告诉您光标是否处于忙碌状态。
  • @deavon,hCursor 实际上是系统拥有的关于光标样式的所有信息。永远不需要解释光标,只需绘制它,句柄就足以完成该任务。您可以将其与加载 ID 为 IDC_WAIT (32514) 的游标返回的句柄进行比较,看看是否相同。
  • @MarkRansom:我会试试的。谢谢!
  • 即使这可能还不够,因为某些应用程序(甚至框架)提供了自己的(有时是完全相同的)忙碌光标。
猜你喜欢
  • 1970-01-01
  • 2018-07-30
  • 1970-01-01
  • 1970-01-01
  • 2019-01-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多