2011-07-25 10 views
1

私はObjective-Cの中のスペースダウン/リリースイベントをシミュレートするために、このコードを使用しています:シミュレーションスペースバーが押されていますか?

CGEventRef CGEventCreateKeyboardEvent (CGEventSourceRef source, CGKeyCode virtualKey, bool keyDown); 
CGEventRef simulateSpaceUp, simulateSpaceDown; 

             simulateSpaceDown = CGEventCreateKeyboardEvent (NULL, (CGKeyCode)49, true); 
             simulateSpaceUp = CGEventCreateKeyboardEvent (NULL, (CGKeyCode)49, false); 

私は私が何をしないのです、その不完全を知っていますか?

UPDATE:

はポストにこれを使用する:

CGEventPost(kCGSessionEventTap, simulateSpaceDown); 

ほとんどが、まだ動作していないが...

+0

[os xの低レベルのキーをシミュレートする方法は?](http://stackoverflow.com/questions/1938509/how-to-simulate-a-low-level-keypress-on-os- x) –

+0

私に別の質問のように見える – Sciguy77

+0

異なる質問は、同じ答えのようです。 [this out](http://developer.apple.com/library/mac/#documentation/Carbon/Reference/QuartzEventServicesRef/Reference/reference.html)をチェックしてください。 –

答えて

1

あなたはCGEventPostを使用してイベントをポストする必要があります。ちょうどそれを作成することは何もしません。

+0

"CGEventPost(kCGSessionEventTap、simulateSpaceDown);"を使っていますが、それはそのトリックをしていないようです。イベントの場所を指定していませんか? – Sciguy77

+0

私がオンラインで参照しているサンプルコードではソースも指定されていないため、必要ではないようです。スペースバーがあなたが期待していることをするのを妨げているイベントを起こしたときに、何か他のことが起こっている可能性はありますか? – duskwuff

+0

それは可能ですが、それは何百もの行を通ります(呼び出しは他のファイルの他の関数に行われます)。私はちょうど問題を回避するためにスペースバーのプレスをシミュレートするだろう。私が間違っているか、行方不明になっているのか分かりますか? – Sciguy77

関連する問題