简短问题
是否可以使用user32.dll
?
背景
我试图强制光标只显示为箭头,或者更好的是,将“沙漏”指针重新映射到箭头指针,以便当我的Visio应用程序“等待”时,它将始终显示箭头。到目前为止,我已加载user32.dll
并调用SetSystemCursor
,LoadCursorA
和ShowCursor
。在所有调用中,只有ShowCursor
按预期工作。
问题很可能是我不完全理解LoadCursor
和SetSystemCursor
实际上做了什么。我已经链接了我能找到的最好的文档,IMO最多也缺乏这些文档。
结束思考
有没有更好的方法来实现这一点,而不是使用user32.dll
API?请注意,我可以找到的Visio 2010根本不能控制鼠标指针。
跟进
查看this post我想要解决的确切行为。请注意,我并不是试图隐藏应用程序以显示它正忙。每次我以编程方式更改Visio形状数据时,我都试图摆脱沙漏闪烁。 Here是我在VisioGuy帖子中提到的Visio示例的链接,您必须是站点的成员才能查看附件。
最初我无意将LoadCursor
与SetSystemCursor
一起使用,因为我在Pinvoke.net找到的文档(SetSystemCursor
),我只关联它们。我没有看到SetSystemCursor
的MSDN文档。感谢Pinvoke上的提示......我不知道为什么我没有为它们提供MSDN。
不可否认,我没有玩过很多系统DLL。我的主要知识库是嵌入式系统和操作系统独立语言(即Python),所以关于导致全局系统错误的SetSystemCursor
的提示是我真正需要的那种信息。
答案 0 :(得分:0)
虽然它没有严格回答“光标修改”的问题。问题,我认为您应该能够使用Visio的Application对象属性:
至少,这将允许您在进行后台处理时隐藏光标。我已经在visguy上用你的样本对它进行了测试,并且它不再显示无痛的光标变化。