0

SendKeys() がSHIFTキーストロークを送信すると終了する (クラッシュする?) アプリケーションがあります。+シフト キーは、単純なシフト文字 、大文字によって、または などのセカンダリ キーを送信することによって間接的に呼び出すことができます@。いずれの場合も、アプリは終了します。これはサードパーティのアプリケーションなので、コードを修正できません。

を挿入することで資本問題を回避しました{CAPSLOCK}。それは二次キーの問題を解決しません。Shift を呼び出さずに SendKeys に特殊文字を送信させることは可能ですか? キャラクター:!@#$%^&*(){}|:"<>?

[おそらく、それらを最初に Unicode 表現に変換するか何かによって。これらすべての文字を手動で Unicode にマップしたくありません。基になるコードがまだ SHIFT をタップするかどうかわからない]?

更新
要求されたコードは次のとおりです。

SetForegroundWindow(windowHandle);
string keySequence = stringVariable + "{TAB}" + "aa";//works fine
//string keySequence = stringVariable + "{TAB}" + "a+a";//crash
//string keySequence = stringVariable + "{TAB}" + "aS";//crash
//string keySequence = stringVariable + "{TAB}" + "a@";//crash
SendKeys.SendWait(keySequence);
4

0 に答える 0