0
我可以捕获keyDown事件时,用户将文件放在坞中的应用程序图标上?KeyDown事件和drag'n'drop
例如,如果用户在应用程序图标上放置了一些文件,那么就是使用“method_one”处理。如果用户在应用程序图标上放置一些文件并保存选项密钥,那么就是用“method_two”处理。
而在这个应用程序中的所有“用户界面”它只是一个停靠栏图标。没有窗户,面板等 谢谢
我可以捕获keyDown事件时,用户将文件放在坞中的应用程序图标上?KeyDown事件和drag'n'drop
例如,如果用户在应用程序图标上放置了一些文件,那么就是使用“method_one”处理。如果用户在应用程序图标上放置一些文件并保存选项密钥,那么就是用“method_two”处理。
而在这个应用程序中的所有“用户界面”它只是一个停靠栏图标。没有窗户,面板等 谢谢
您可以使用的一种方法是轮询应用程序启动时的关键状态。如果没有首先接收事件,NSEvent不提供这种方法,但您可以使用CGEvent。如讨论here,您可以创建一个新事件并轮询其修饰键。代码片段看起来像这样:
CGEventRef event = CGEventCreate(NULL);
CGEventFlags mods = CGEventGetFlags(event);
if(mods & kCGEventFlagMaskShift)
NSLog(@"Shift key is being pressed");
CFRelease(event);
正是我所需要的。谢谢! – nukl 2010-09-04 14:20:25
不幸的是代码片段中的第一行 - 'CGEventRef event = CGEventCreate(NULL);'导致内存泄漏。我是否需要'释放'这个'事件'? – nukl 2010-09-04 23:26:54
是的,对不起,我没有扩展该片段以免泄漏。我修改了我的答案以包含CFRelease。 – 2010-09-04 23:36:12