c – 在OS / X(或Windows)中启动期间检测到按下的修改键?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了c – 在OS / X(或Windows)中启动期间检测到按下的修改键?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1313字,纯文字阅读大概需要2分钟。
内容图文
![c – 在OS / X(或Windows)中启动期间检测到按下的修改键?](/upload/InfoBanner/zyjiaocheng/955/4dc3a211e3224cf8b0fc12f72981daa8.jpg)
我在这里搜索过,没有找到真正涵盖这个问题的任何问题.
我有一个跨平台的Windows-OS / X应用程序,我希望能够在应用程序启动时检测是否按下了shift或控制等修改键.
我们想这样做是为了允许应用程序在不读取其首选项文件的情况下启动,以防某些方式被破坏(我们在测试prefs错误时看到,现在修复了,例如,将窗口大小设置为0) .
我们正在使用名为Juce的优秀且全面的跨平台C库.不幸的是,Juce的主人告诉我,他认为这在OS / X上是不可能的,至少因为你只获得了键盘事件,除非有什么变化,否则无法读取键的状态.
这是真的?或者有什么方法可以解决这个问题?我几乎可以肯定我已经使用过使用这种机制的Mac程序来绕过他们的偏好.
或者……升级一级…是否有另一种解决方案来提供“运行程序但不读取prefs文件”的功能,而不是“在启动程序时按住键”?这是消费者软件,所以我们不能期望用户太多.
最终的解决方案将最终成为一个跨平台的解决方案,因此Windows方面的提示也将受到赞赏.
谢谢,并且好!我将报告我的进展情况.
解决方法:
适用于Mac(Objective-C):
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
NSUInteger theFlags = [NSEvent modifierFlags] & NSDeviceIndependentModifierFlagsMask;
if(theFlags & NSShiftKeyMask) NSLog(@"Shift down!");
if(theFlags & NSControlKeyMask) NSLog(@"Control down!");
if(theFlags & NSCommandKeyMask) NSLog(@"Command down!");
if(theFlags & NSAlternateKeyMask) NSLog(@"Alternate down!");
if(theFlags & NSFunctionKeyMask) NSLog(@"Function down!");
}
内容总结
以上是互联网集市为您收集整理的c – 在OS / X(或Windows)中启动期间检测到按下的修改键?全部内容,希望文章能够帮你解决c – 在OS / X(或Windows)中启动期间检测到按下的修改键?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。