Я хочу скрыть курсор из приложения строки состояния, и я провел некоторое исследование. Кажется, что решение этой проблемы было найдено некоторое время назад:
Глобально скрыть курсор мыши в Какао / Углерод? или 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);
}
Это дает мне 4 ошибки:
"_ CGSCreateBoolean", на который ссылаются:
- [MyClass myMethod] в MyClass.o
"_ GetSystemVersion", на который ссылаются из:
- [MyClass myMethod] в MyClass.o
"_ CGSCreateCString", на который ссылаются из:
- [MyClass myMethod] в MyClass.o
"_ CGSReleaseObj", на который ссылаются:
- [MyClass myMethod] в MyClass.o