- ベストアンサー
指定ウィンドウが現れたときにキーを自動入力
指定条件に一致するウィンドウが現れたときに、Fnキー+Print Screenキーを自動で入力することができるソフトをご存じないでしょうか? O/Sはwindows7proです。ご存じでしたら、お教え下さい。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
下記のようなプログラムを作成すれば可能です。 (1)タイマー機能を使用して、該当ウィンドウの有無をチェックする。 EnumWindows() 関数にてメインウィンドウのハンドルを全て取得します。 https://msdn.microsoft.com/ja-jp/library/cc410851.aspx (2)該当ウィンドウがあれば、キーを自動入力する。 たとえばSendKeys.SendメソッドでPrintScreenを実行する。 https://msdn.microsoft.com/ja-jp/library/system.windows.forms.sendkeys.send%28v=vs.110%29.aspx --- 質問とは関係ありませんがPrintScreenしたイメージはクリップボードにありますので、 「自動的にmspaintを開いて、当該画像を自動的に表示する」などの処理も 連続して行なうこともできます。 要するに、すべてのキーボード操作はプログラムで「自動的に」行なうことができます。
その他の回答 (2)
- notnot
- ベストアンサー率47% (4900/10358)
他の方が、Sendkeysを使えば出来ると書かれていますが、PrintScreenキーは何故かSendKeysでは送れないです。 (その方が参考に挙げあられたページにも「{PRTSC} (今後使用するために予約されている)」と書かれています) Winshot http://www.forest.impress.co.jp/library/software/winshot/ のようなアプリをインストールすればいろいろなキーに画面コピーが割り当てられるので、SendKeysでも可能です。 例えば、「JPEGでファイルに保存」が Ctrl+Shift+F9 に割り当てられているので、下記のVBScriptを実行すると、電卓のウィンドウが出たら画面をファイルに保存します。 Set Shell = WScript.CreateObject("WScript.Shell") Do While Not (Shell.AppActivate("電卓")) 'ウィンドウのタイトルをここで指定する WScript.Sleep 100 '指定したウィンドウが出るまで0.1秒待つ Loop '出るまで繰り返す Shell.SendKeys "^+{F9}" 'Ctrl+Shift+F9キーを押す VBScriptの実行は、上記を拡張子 VBS にして保存して実行です。 Winshotをご存じなければまず使い方を検索して基本的な使い方をマスターして、手動で望み通りのことが出来るようになってから自動化に挑戦してください。
- kamikami30
- ベストアンサー率24% (812/3335)
質問の条件を完全に満たすものは多分ありません。 理由 機能が限定されすぎている。 Fnキー+Print Screenキーを自動で入力する というのは、一般的なキーボードではなく、プリントスクリーンを行えばいいだけだから。 ソフトの利用目的が書いていないので、他の方向からのアプローチはしませんが、 UWSCと言うものを使ってスクリプトを書くと、割りと簡単に希望の機能を実現できます。
お礼
いろいろとコメントをいただき、ありがとう ございました。 ただし、こちらのパソコンの技量がプアすぎて、回答をいただいた内容が理解できませんでした。 改めて、質問のしかたを変えて別途質問致します。その節は、よろしくお願い致します。