5
我想在Mac OS X中模擬一個unicode字符發送到前臺應用程序。 我的意思是我有一個unicode字符(可以包含阿拉伯文,中文等),如'a',我想輸入它。請注意,我並未嘗試使用虛擬鍵或鍵碼。只有一個角色。如何使用Objective-C模擬Mac OS X中的Unicode字符「按鍵」?
此致, Peyman的Mortazavi
我想在Mac OS X中模擬一個unicode字符發送到前臺應用程序。 我的意思是我有一個unicode字符(可以包含阿拉伯文,中文等),如'a',我想輸入它。請注意,我並未嘗試使用虛擬鍵或鍵碼。只有一個角色。如何使用Objective-C模擬Mac OS X中的Unicode字符「按鍵」?
此致, Peyman的Mortazavi
我發現了一個很不錯的方法,但仍有一個問題。看代碼然後我寫什麼是當前問題。
CGEventRef downEvt = CGEventCreateKeyboardEvent(NULL, 0, true);
CGEventRef upEvt = CGEventCreateKeyboardEvent(NULL, 0, false);
UniChar oneChar = 'h';
CGEventKeyboardSetUnicodeString(downEvt, 1, &oneChar);
CGEventKeyboardSetUnicodeString(upEvt, 1, &oneChar);
CGEventPost(kCGAnnotatedSessionEventTap, downEvt);
CGEventPost(kCGAnnotatedSessionEventTap, upEvt);
的問題是,本次活動僅限於像搜索框的一些會議,這是因爲kCGAnnotatedSessionEventTap如果我們將其更改爲kCGSessionEventTap那麼它只會在搜索框的工作。你不可以幫助我把它們結合起來,使它將這個事件應用到每個會話中。
問候, Peyman的Mortazavi
的[NSEvent.KeyDown僅在搜索框(在Mac OS X)工作]可能的重職(http://stackoverflow.com/questions/10169605/nsevent- KEYDOWN-是隻-工作 - 上的搜索框-in-MAC的-OS-X) – 2012-04-16 19:37:03