Pythonのプログラムにて、起動状態のアプリケーションに「スペース+コントロール」を送り、キーボード操作によって開始、停止する機能を操作したいです。
python、キーボード、アプリケーションで検索したところヒットするものはpyautoguiを使うものばかりでした。
pyautoguiを使わずアプリケーションに対しキーボード入力による操作を行う方法があれば教えていただきたいです。
少なくとも仕様をちゃんと決めましょう。
> Pythonにてアプリケーションの「スペース+コントロール」にて作動する機能を操作したい
とは何でしょうか。SPACE + CTRL で起動するのか、それともとある処理をSPACE + CTRL でするのか。後者ならそのやりたい処理を書きましょう。
あまりにも漠然としすぎです。
それに「自分なりに調べた事」や「自分の考え」等を書きましょう。
たとえば『「Python スペース コントロール」で検索しましたが、ヒットしたのは~とかです。やりたい処理は~ですが』のように。(別の言い方でもいいですが)
回答者は質問者と同じ環境にある…わけじゃないので、他人が読んで理解できるような文章を書くように心がけましょう。("出来ないの"と"しない"とでは雲泥の差がある)
質問は修正できるので修正してください。
編集後(現在)のものを見ると、三通りの解釈が出来ますね。
(自分が作った今回のプログラムをProg1として)
1. Prog1が起動している状態で、逐次コマンドプロンプト等から命令を出す
2. Prog1が起動している状態で、SPACE + CTRLをすると特定の処理(たとえば「ファイルを書き換える」等)をする
3. 別のプログラム(Other.exe) が起動しているときにProg1で「ボタンが押された」等のイベントを送り付ける系
ですね。どれでしょうか。
何度も申し訳ありません。
3番を意図しております。
@ 質問者さん
> 3番を意図しております
質問本文に書いてください。
ここはカスタマーサービスではなく、「ナレッジサービス」です。
似たような問題に直面して検索したときにこのページに当たって参考にする人のためでもあります。
(本文に書かれていないと見逃したりするし)
その場合は、「3番目で」とかではなく、出来るだけ本文だけで完結できるように書いてくださいね。
ざっと調べてみましたが、質問者さんのおっしゃる通り、pyAutoGUIを使う方法しかありませんね。
(他にもあるにはあるが、どのみち他のライブラリとかを使うし)
えーっと、pyAutoGUIを使ってみては? 使いたくない理由があるのでしょうか。
たとえば「基本オフラインのため、pip等が使えない」のか、「単にインストールが面倒だから」なのかとかでも違いますよ。
前者なら https://anond.hatelabo.jp/20201118112659 のような方法がとれるようです。
(細かい方法はご自分で調べてください)
後者なら「別の言語を使いましょう」です。
どのみちなんらかのライブラリを導入するか、なんらかのツールを導入する羽目になるはずですし。
ちなみに、SHFT + S とかのようなやつをショートカットキーと言います。
ヒント: https://kotobank.jp/word/%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E3%82%AD%E3%83%BC-4592