- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我几乎用尽了 Google 和 SO 上的每个链接,但没有找到解决方案...这可能是重复的,但其他问题要么没有得到解答,要么没有帮助,并且已经存在多年了。由于某种原因,对我来说没有任何作用。
在我的程序中,我需要根据事件功能将系统范围的光标更改为不同的光标。该程序添加并扩展了鼠标的功能,并且更改光标将是事件功能的指示器。用户将选择加入此功能,因为知道光标会发生变化。
现在的问题是,使用 SetSystemCursor 似乎没有动画,而只是绘制动画的第一帧。我注意到,通过使用 SetCursor 动画可以工作,但仅限于应用程序本身(仅用于设置。它也不保留光标类型(箭头、文本、链接...))。为什么 SetSytemCursor 不起作用,有没有办法让它起作用?
<小时/><小时/>到目前为止我尝试过的示例...它们都在绘制动画的第一帧的范围内起作用,但没有一个真正产生动画。相反,使用 SetCursor 将生成动画光标,但不会根据需要生成系统范围的特定光标。 Set* 函数成功返回。
1:简单尝试设置光标
SetSystemCursor( LoadCursorFromFile( L"custom_cursor.ani" ), OCR_NORMAL );
<小时/>
2:我的尝试,使用文档中编写的内容
/* Global HCURSOR */ arrowCurs = LoadCursorFromFile( L"custom_cursor.ani" );
HCURSOR temp = ( HCURSOR )CopyImage( arrowCurs, IMAGE_CURSOR, 0, 0, 0 );
SetSystemCursor( temp, OCR_NORMAL );
DestroyCursor( temp );
<小时/>
3:这是我找到的一个答案,链接丢失了
FILE* fs = fopen( "--full path--\\custom_cursor.ani", "rb" );
fseek( fs, 0, SEEK_END ); int dwSize = ftell( fs ); fseek( fs, 0, SEEK_SET );
char* memory = new char[ dwSize + guardbandSize ];
fread( memory, 1, dwSize, fs ); memset( memory + dwSize, 0, guardbandSize );
fclose( fs );
SetSystemCursor( ( HCURSOR )CreateIconFromResource( ( PBYTE )memory, dwSize, FALSE, 0x00030000 ), 32512 );
delete memory;
<小时/><小时/>
到目前为止,唯一的解决方案是不更改光标图标,而是将其隐藏并绘制一个无边框的最顶部窗口,并在其上绘制动画。但是,如果由于增加的复杂性和不优雅而无法使用 SetSystemCursor,我想将其保留为最后一个选项。
使用 Windows 10 x64 和 Visual Studio 2015
最佳答案
更好的解决方案仍然值得赞赏。
基于波特的评论和我自己的经验;看来您无法使用 SetSystemCursor 设置 .ani 光标 - 此解决方案将成功地将光标更改为动画光标,但它需要管理员权限,并请注意,它将为给定用户永久设置光标,这与 SetSystemCursor 不同,SetSystemCursor 是临时的直到 session 重新启动。
HKEY key;
// The location of the new cursor to be set:
LPCWSTR loc = L"C:\\--full path--\\custom_cursor.ani";
if ( ERROR_SUCCESS == RegOpenKeyEx( HKEY_CURRENT_USER, L"Control Panel\\Cursors", 0, KEY_SET_VALUE, &key ) &&
ERROR_SUCCESS == RegSetValueEx( key, L"Arrow", 0, REG_EXPAND_SZ, ( LPBYTE )loc, wcslen( loc ) * sizeof( WCHAR ) ) )
{
RegCloseKey(key);
}
else
{
// Print error if failed
WCHAR msg[ 256 ];
FormatMessage( FORMAT_MESSAGE_FROM_SYSTEM, 0, 0, 0, msg, 256, 0 );
OutputDebugString( msg );
}
SystemParametersInfo( SPI_SETCURSORS, 0, NULL, 0 ); // Reload system cursors
分别将L“箭头”更改为任何其他光标类型以更改其图标。
还值得在外部存储原始注册表值并实现退出时或崩溃时重置的方法。
关于c - SetSystemCursor 不为 *.ani 光标设置动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42614391/
我将提高我的 Angular 应用程序的性能。所以我决定更频繁地使用 {{::variable}} (>angular 1.3)。对于翻译,我使用了写作 {{'key.header'|translat
如何使用这两个选项? 在桌面浏览器中: @media(any-hover){ body{ color:red; } } @media(any-pointer){
我在 Swift 中有这段代码: var dictionary: [String: Any?]? fileprivate func value(forKey key: Key) -> Any? {
func giveMeZero() -> T? { print(T.self) return 0 as? T } 当在没有足够类型上下文的情况下调用上述函数时, Swift 将返回类型
In Swift documentation, it says the following : Swift provides two special type aliases for working
我是 TypeScript 的初学者,现在我试图了解接口(interface)在 React 组件的类方法中是如何工作的。我为其创建了一个简单的案例,但它不起作用。我总是遇到像这篇文章标题一样的错误。
这个问题已经有答案了: Converting an object to a string (41 个回答) 已关闭 3 年前。 我对 JavaScript 中的 console.log 如何处理该对象
“任何 CPU”是如何在底层实现的? 不是有两种格式:PE32 和 PE64 吗? Windows x86 和 x64 都可以运行 32 位。但是,它不是通过在 32 位中包含 64 位可执行文件并在
我一直致力于将 python 代码转换为 java,这与我的研究工作相关。我只是无法理解如何将 python 类型“any”转换为 java,因为我们不需要在 python 中编写数据类型,但在 ja
我正在尝试确定集合中的任何对象是否将 target 属性设置为 true。我怎样才能做到这一点?这是我到目前为止所拥有的: public class AnyValidAttribute : Valid
我想合并以下代码。虽然我不确定如何引用 SELECT * FROM 任何以列表结尾的表。 $this->displaylistings=mysql_query("SELECT * FR
TypeScript 转译器不会为以下代码发出错误: function test1(test: any) { test2(test); } function test2(test: strin
我正在尝试定义一个 is_prime Haskell 中的函数。任何人都可以指出使用 any 函数的问题吗? 另外,我知道下面的代码很幼稚,但我正在学习语言,所以从babysteps开始。 is_pr
我正在尝试在 Typescript 中实现一个类装饰器。所以我有一个将类作为参数的函数。 const decorate = function () { return function ( targ
This demo使 typeof Symbol.toStringTag类型 symbol : const promise = Promise.resolve(); const toStr: type
根据给出的说明here 从here下载ani主题项目的zip文件并将 zip 文件内容提取到 C:\dev\angular\ani-theme-master 已安装 npm、gulp 和 Bower,
我有以下代码片段。我基本上试图获取列表中特定字符串的索引/迭代器(除了只知道它是否存在)。这是否可能,或者我应该使用带有 if 的循环? 桶 = ["alpha", "beta", "gamma"]
试图找出如何将下面的函数变成使用any的函数。这样就不必构建整个列表然后检查列表。还有比我更有效的方法来处理这个问题吗?(查找所有排列,而不是匹配。 import itertools def is_m
我需要序列化一些数据以作为消息通过网络服务传递,网络服务将根据模式验证数据。我已经构建了一个对象模型,但我在一个小区域中遗漏了一些东西。 这是模式:
我在我的应用程序中更新了几个 npm 包并遇到了一堆我已经安全解决的错误,除了一个! TypeError: Cannot read property 'any' of undefined at Obj
我是一名优秀的程序员,十分优秀!