Windows 函数“GetCursorInfo”返回成功,但光标的句柄为 NULL

Posted

技术标签:

【中文标题】Windows 函数“GetCursorInfo”返回成功,但光标的句柄为 NULL【英文标题】:Windows function "GetCursorInfo" returns success but the HANDLE to the cursor is NULL 【发布时间】:2019-10-17 17:08:36 【问题描述】:

我正在尝试获取全局光标的句柄。因此我使用 Windows 函数“GetCursorInfo”。函数的返回值是非零的,这意味着它成功了。但是,返回的游标的 HANDLE 为 NULL。

这是我正在使用的代码:

CURSORINFO ci;
ci.cbSize = sizeof(ci);
if (!GetCursorInfo(&ci)) 
    cout << "GetCursorInfo() failed" << endl;
    return 1;

cout << ci.hCursor << endl; // ci.hCursor is 0x00000000

我只在装有 Windows 10 的英特尔 NUC 上遇到此错误(而不是在装有 Windows 10 的普通 PC 上)。

我在其他任何地方都找不到此错误,因此非常感谢您的帮助!

谢谢!

【问题讨论】:

hCursor为NULL时flags字段的值是多少? flags的值为0。 表示“光标已隐藏” 【参考方案1】:

好的,我知道为什么会这样了:

我正在远程连接到我的英特尔 NUC,因此没有连接物理鼠标。这似乎导致了问题。一旦我连接了物理鼠标,一切都会再次按预期工作。

一旦没有连接鼠标,Windows 似乎会切换到平板电脑模式,因此会隐藏光标。

【讨论】:

以上是关于Windows 函数“GetCursorInfo”返回成功,但光标的句柄为 NULL的主要内容,如果未能解决你的问题,请参考以下文章

鼠标状态winapi

我必须让鼠标移动直到光标改变,但是,怎么做?

windows API 函数参考手册下载

windows 多少 nt 函数

请教,windows中有无类似memalign的函数

windows api 钩子函数