我想隐藏状态栏应用程序中的光标,我做了一些研究.似乎这个问题的解决方案刚刚发现:
在Cocoa/Carbon中全局隐藏鼠标光标?或http://lists.apple.com/archives/carbon-dev/2006/Jan/msg00555.html
但是引用的代码将无法编译.你们中的任何人都知道如何编译代码(通过导入一些旧的API或其他东西)或另一种实现这种方式(某种程度的黑客攻击)?
(我知道将光标隐藏在后台应用程序中通常是一个坏主意,但我制作的应用程序中此功能非常重要)
编辑:
这是旧的黑客,不再起作用了.
long sysVers = GetSystemVersion();
// This trick doesn't work on 10.1
if (sysVers >= 0x1020)
{
void CGSSetConnectionProperty(int, int, int, int);
int CGSCreateCString(char *);
int CGSCreateBoolean(BOOL);
int _CGSDefaultConnection();
void CGSReleaseObj(int);
int propertyString, boolVal;
// Hack to make background cursor setting work
propertyString = CGSCreateCString("SetsCursorInBackground");
boolVal = CGSCreateBoolean(TRUE);
CGSSetConnectionProperty(_CGSDefaultConnection(), _CGSDefaultConnection(), propertyString, boolVal);
CGSReleaseObj(propertyString);
CGSReleaseObj(boolVal);
}
Run Code Online (Sandbox Code Playgroud)
它给了我4个错误:
"_CGSCreateBoolean",引自: - MyClass.o中的[MyClass myMethod]
"_GetSystemVersion",引用自: - MyClass.o中的[MyClass myMethod]
"_CGSCreateCString",引自: - MyClass.o中的[MyClass myMethod]
"_CGSReleaseObj",引用自: - MyClass.o中的[MyClass myMethod]