【C#】SendKeys.SendWait()でのSpaceキー送信の覚書

いつも忘れた時に必要になる挙句に英語記事ばかりで混乱したので、まとめておきます。

 

SendKeyクラスのSendWait()を利用してアプリケーションにキー操作を送信することができます。

送れるキーの一覧は以下のリンクを参考にしてください。

大体なんでも送れます。

https://docs.microsoft.com/ja-jp/dotnet/api/system.windows.forms.sendkeys.send?view=netframework-4.8

 

キーの一覧にSpaceキーは存在しません。

他のキーに習って{}で囲ってしまうとキー操作に失敗します。

キーワード "space" は有効ではありません。」というようなエラーが吐かれるはずです。

これはできない!
SendKeys
.Send("{SPACE}");

というのも「文字列をアプリケーションに入力したい!」というケースであれば、

Space=空文字なのでわざわざキーとして指定する必要がないのです。

なのでこれで十分な訳です。

SendKeys.Send("");
もしくは
SendKeys.Send(string.Empty
);

 

でも本当にSpaceキーを送信したいんだ!という時もあると思います。

アプリケーションの操作のためのショートカットキーを送りたい時などですね。

そんな時はこちらを使います。

SendKeys.Send("DIR {ENTER}");
もしくは
SendKeys.Send("( )");

 

調べてもあまり空文字以外で送りたい人を見かけないので、ニッチなんですかね?

参考になれば幸いです。

参考:

https://www.codeproject.com/Questions/583654/whyplusdidplustheplussendkeys-send-plusmethodplusc