3

ゲームがフルスクリーンのときにホットコーナーをブロックする方法は? システムでホット コーナーが有効になっており、ゲームが全画面表示の場合、カーソルを任意のコーナーに移動すると、ゲームが最小化されます。

次のようにフルスクリーンに変更します。

fullscreenWindow = [[NSWindowFullscreen alloc] initWithContentRect:frame styleMask:NSBorderlessWindowMask backing:NSBackingStoreBuffered defer: NO];
mainWindow = [self window];
[mainWindow setAcceptsMouseMovedEvents:NO];
[mainWindow orderOut:nil];

// Set the options for our new fullscreen window     
[fullscreenWindow setReleasedWhenClosed: YES];
[fullscreenWindow setLevel: NSFloatingWindowLevel];
[fullscreenWindow setHidesOnDeactivate:YES];            
[fullscreenWindow setContentView: self];
[fullscreenWindow makeKeyAndOrderFront:self];    
[fullscreenWindow makeFirstResponder:self];         
[fullscreenWindow setAcceptsMouseMovedEvents:YES];
4

2 に答える 2

2

マウスの位置が上にあるときに変更できるマウスの位置。

- (void)mouseMoved:(NSEvent *)theEvent
    {
        NSPoint mouseLoc;
        mouseLoc = [NSEvent mouseLocation]; //get current mouse position
        //mouse position change
        CGEventSourceRef source = CGEventSourceCreate(kCGEventSourceStateCombinedSessionState);
        int Height = (int)ScrnRect.size.height;
       // NSLog(@"Height::%d,MouSe.Y::%f",Height,mouseLoc.y);
        if(Height < mouseLoc.y+5 ){
            CGEventRef mouse = CGEventCreateMouseEvent (NULL, kCGEventMouseMoved, CGPointMake( mouseLoc.x, 5), 0);
            CGEventPost(kCGHIDEventTap, mouse);
            CFRelease(mouse);
            CFRelease(source);
        }
    }
于 2016-04-29T04:51:31.367 に答える
0

setLevelでより高いレベルを試してください: NSWindow クラス リファレンスにあるものに制限されません。これらは、Quartz/Core Graphics のサブセットに対して #define によって付けられた別の名前です。定数 でそれらを参照してください https://developer.apple.com/library/mac/#documentation/GraphicsImaging/Reference/Quartz_Services_Ref/Reference/reference.html

于 2013-01-05T02:18:26.963 に答える