Я пытаюсь создать эффективный инструмент для манипулирования размером / положением окна.
Я нашел скрипт C / Carbon, который я модифицировал для своих целей. Я пытался понять документы Apple для разработчиков по Carbon, но это не так просто.
Тем не менее, у меня есть следующий код:
#include <unistd.h>
#include <stdio.h>
#include <ApplicationServices/ApplicationServices.h>
#include <Carbon/Carbon.h>
extern WindowRef GetFrontWindowOfClass(
WindowClass inWindowClass,
Boolean mustBeVisible
);
extern OSStatus MoveWindowStructure(
WindowRef window,
short hGlobal,
short vGlobal
);
int main(void) {
WindowRef win = GetFrontWindowOfClass( kAllWindowClasses, true );
if ( win == NULL ) {
printf("NULL");
} else {
printf("NOT NULL");
}
OSStatus s = MoveWindowStructure( win, 200, 100 );
}
Это не выдает никаких ошибок при компиляции, но выигрыш WindowRef по какой-то причине является нулевым. Я хочу, чтобы переднее окно любого класса было видимым, и у меня есть такие окна, поэтому я не уверен, почему оно нулевое.
Любые указатели будут с благодарностью. Это не полный код, просто часть, которая не работает.