(リモート先は顧客の中にあるので、そこにはアプリを入れれません。), そこで、リモートデスクトップを最前面アクティブにし、その画面をクリックし、pyautogui.typewriteで文字を送信することにしました。, その結果、9割がた目的通りできているものの、現物のマウスが少しでも動くと座標がずれてしまうため、文字送信位置がずれてしまいます。, そこで、文字送信時にUSBマウスとキーボードだけを一時的に無効化できる方法を探しています。, いろいろググりました中で見つかったのは、「pyusbを使う方法」と「c++でwin32apiをたたく方法」です。, pyusbを使う方法 ブログを報告する. 【はじめに】 今回はPythonの「pyautogui」を使ったキーボード操作についてのメモです。「pyautogui」のインストール方法については以下に記載してあります。 chappy88.hatenablog.com <実施環境> Python 3.7.4 PyCharm 2019.2 PyAutoGUI 0.9.… ‘)’, ‘*’, ‘+’, ‘,’, ‘-‘, ‘.’, ‘/’, ‘0’, ‘1’, ‘2’, ‘3’, ‘4’, ‘5’, ‘6’, ‘7’, 上記の例では「a」のキーを押しています。, 「keyDown()」はキーを押したままにするコマンドです。 中にはどのキーに対応しているかわからないものもあるので、機会を見て対応表を作れればと思っています。, キーボード操作をすることで、直接入力ができないファイルの入力もできるため便利だと思いました。, 今回の作業にあたり、下記サイトを参考にさせて頂きました。 PyAutoGUIの使い方 マウス操作編 ・コントロールキーを離す ‘pgup’, ‘playpause’, ‘prevtrack’, ‘print’, ‘printscreen’, ‘prntscrn’, 「keyUp()」は逆にキーを離すコマンドです。 ‘f21’, ‘f22’, ‘f23’, ‘f24’, ‘f3’, ‘f4’, ‘f5’, ‘f6’, ‘f7’, ‘f8’, ‘f9’, ‘divide’, ‘down’, ‘end’, ‘enter’, ‘esc’, ‘escape’, ‘execute’, ‘f1’, ‘f10’, 「 PyAutoGUIの使い方 キーボード操作編 」への1件のフィードバック 電猫 2019年10月12日 9:57 AM より: 最近pythonを始めたもので、とても分かりやすいので参考にさせてもらっています。 PyAutoGUIの具体的な使用例 c++のほうは、これをPythonから呼び出す方法を検討していますが、ラップする方法がわからないので、使うのを躊躇しています。, 今回教えていただきたいのは、Pythonのライブラリ等だけで上記目的を達成できる方法はないのか、ということです。, “回答を投稿”をクリックすることで利用規約、プライバシーポリシー、及びクッキーポリシーに同意したものとみなされます。, このRSSフィードを購読するには、このURLをコピーしてRSSリーダーに貼り付けてください。, サイトデザイン / ロゴ © 2020 Stack Exchange Inc; ユーザーの投稿はcc by-saでライセンスされます。 rev 2020.11.13.38000, スタック・オーバーフロー をより快適に使うためには JavaScript を有効化してください, 「pyusbを使う方法」で何をやろうとしているか分かりませんが、少なくとも「c++でwin32apiをたたく方法」に記載されているAPIを使うのは止めた方が良いでしょう。記事の仕組みは物理的にデバイスのUSBケーブルをPCのコネクタから抜き差しする現象をソフトウェア的にシミュレートして発生させる方法です。こちらの, kunif様、ありがとうございます。 boppreh/keyboard試してみましたが、やはりPyAutoGUIと衝突して正常に動作しません。 「c++でwin32apiをたたく方法」にチャレンジしているところですが、このAPIを使うのは危険なのでしょうか?, OSのデバイス認識情報を操作する方式なので、実際に無効状態になるまで時間がかかるし、有効状態になるタイミングを制御出来ません。また無効にならなかったり逆に有効にならなかったりする可能性も高いですね。有効にならない場合は物理的なUSBの抜き差しが必要になります。, この辺の記事で扱われている名称や内容のサービスを使えば、RDPセッションを利用した独自の通信チャネルで、マウスポインタやキーボードフォーカスに頼らないリモート入力が出来そうな感じです。調べてみてはどうでしょう?, Pythonでマウスとキーボードの現物をロックしたい(ただしpyautoguiは使えるように), http://black-yuzunyan.lolipop.jp/archives/2487, How to disable then re-enable keyboard/mouse in Python 3.7.1, Using Remote Desktop Services virtual channels, Creating new Help Center documents for Review queues: Project overview, Feature Preview: New Review Suspensions Mod UX, Windowsがロック画面の状態で、デスクトップアプリにSendMessageを送りたい, pythonでwin32api.PostMessage()を使って任意の箇所をウィンドウを非アクティブでクリックしたい, Python3.6にアップデートしたら、Python2.7で使えてたものが動作しなくなった, MSYS2でインストールしたPythonがコマンドプロンプトで使えない(PATH適応済み), 意見を述べること(意見を述べるなら、参照リソース、自分の経験で意見をサポートしてください). ‘prtsc’, ‘prtscr’, ‘return’, ‘right’, ‘scrolllock’, ‘select’, ‘separator’, このサイトを利用することによって、あなたはこのサイトのCookie Policy、Privacy Policy、およびTerms of Serviceを読んで理解し、同意したものとみなします。, スタック・オーバーフローはプログラマーとプログラミングに熱心な人のためのQ&Aサイトです。すぐ登録できます。, Windows、Python3.7で、指定座標(テキストボックス)をクリックし、そこにUSBバーコードリーダーから取得した文字列を送信するコードを書いています。, ただし、そのテキストボックスがあるのはリモートデスクトップ先なので、テキストボックス自体のハンドルは取得できません。 PyAutoGUIでgoogle検索を自動化, PyAutoGUIの使い方詳細 ‘final’, ‘fn’, ‘hanguel’, ‘hangul’, ‘hanja’, ‘help’, ‘home’, ‘insert’, ‘junja’, ・退屈なことはpythonにやらせよう WSHでも同じようにしていますので…。. 以上の動作を順に行っていることに相当します。, 以下公式ドキュメントより、 ‘a’, ‘b’, ‘c’, ‘d’, ‘e’,’f’, ‘g’, ‘h’, ‘i’, ‘j’, ‘k’, ‘l’, ‘m’, ‘n’, ‘o’, その名も、パイオート グイ ( pyautogui ) . 人間が操作しているのと同様に、マウス・キーボードの操作を画像認識と組み合わせて自動化することができます。 ‘kana’, ‘kanji’, ‘launchapp1’, ‘launchapp2’, ‘launchmail’, ‘command’, ‘option’, ‘optionleft’, ‘optionright’], 【関連記事】 ‘8’, ‘9’, ‘:’, ‘;’, ‘‘, ‘?’, ‘@’, ‘[‘, ‘\\’, ‘]’, ‘^’, ‘_’, ‘`’, 同時押しでは「hotkey(キー1, キー2)」が使える様です。, 指定可能なキー入力は下記になります。 ‘convert’, ‘ctrl’, ‘ctrlleft’, ‘ctrlright’, ‘decimal’, ‘del’, ‘delete’, ‘browserrefresh’, ‘browsersearch’, ‘browserstop’, ‘capslock’, ‘clear’, ‘f11’, ‘f12’, ‘f13’, ‘f14’, ‘f15’, ‘f16’, ‘f17’, ‘f18’, ‘f19’, ‘f2’, ‘f20’, pyautogui.readthedocs.io ‘up’, ‘volumedown’, ‘volumemute’, ‘volumeup’, ‘win’, ‘winleft’, ‘winright’, ‘yen’, keyUpではキーボードを離します。, 上の例ではコントロールキーと’c’キーの同時押しになります。 マウスやキーボード操作などGUI操作を制御するためのPythonモジュール. 「PyAutoGui」は、 Python のモジュールの一つです。 近年流行している RPA(Robotic Process Automation) の機能を、Python で実装することが可能 になります。. ・’c’キーを押し下げたままにする http://black-yuzunyan.lolipop.jp/archives/2487, pyusbのほうは使い方がよくわかりませんでした。 キーの名前一覧です。 https://github.com/pyusb/pyusb, c++でwin32apiをたたく方法