Windows 10

Microsoft Edgeを起動してキー操作を送るWindows 10のバッチ

ITproに「Windows 10のコマンドプロンプトを使い込む – UWPアプリを起動してキー操作を送れるWindows 10のバッチ」という記事が載っていました。

startコマンドで起動したMicrosoft Edgeに「sendkeys.exe」を使ってキー送信するバッチが紹介されていて、私もさっそく試そうと思ったのですが、

'sendkeys' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

試したのは【Windows 10 Pro Insider Preview x64 – 10.0.14366 ビルド 14366】環境なんですが、設定が足りていないのかビルドが違うからなのか、とりあえずsendkeys.exeが見つかりません。

sendkeys.exeを諦める

これではUWPアプリにキー送信するバッチが作れないわけですが、別にsendkeys.exeが無いならそれはそれでもう良しとして(探すの面倒くさくなりました)、別の方法で処理を実行します。

そう、古来よりの伝統手法WSHのSendKeysメソッドを使います。

・SendKeys.bat

@if(0)==(0) ECHO OFF
start shell:AppsFolder\Microsoft.MicrosoftEdge_8wekyb3d8bbwe!MicrosoftEdge
::choice /C YN /D Y /T 2
timeout /T 2
cscript.exe //nologo //E:JScript "%~f0" %*
echo Edgeが起動しました。
@pause
GOTO :EOF
@end
var ws = new ActiveXObject("WScript.Shell");
ws.AppActivate("Microsoft Edge");
WScript.Sleep(100);
ws.SendKeys("{F4}");
WScript.Sleep(300);
ws.SendKeys("http://www.yahoo.co.jp/~");

バッチ内でDOSコマンドとJScriptが混在していますが、これはよく使われる手法ですね。1ファイルで処理できるので中々便利です。

上記バッチでやっていることは、

startコマンドでEdgeを起動

timeoutコマンドで起動待ち

(ここからJScript)

Edgeのウィンドウをアクティブにする

F4キーを送信してアドレスバーにフォーカス

URLを送信してYahoo!を開く

といった処理で、実際の動作は下記画面になります。

BAT_UWP_SendKeys_01

おわりに

実際にバッチからEdge(UWPアプリ)を起動してキー送信してみましたが、

“Windows 10時代にこんな需要あるのか?”

というのが最大の疑問です。
もちろんDOSバッチにはまだまだ需要があると思いますが、バッチからUWP操作というのは無理があるような・・・。
(SendKeysも不安定ですし、UI Automation使った方がよほど確実)

・・・とまあ、そんなことを言うのは実に無粋。
バッチからUWPアプリを操作できる ― その事実が重要なんだ、そう思った次第です。

東京でオトカドールのプレイが録画できるようになりました(3)前のページ

[Officeアドイン]OneNote Online用のアドインを作ってみる。次のページ

関連記事

  1. Windows 10

    【2017年8月版】起動中のMicrosoft EdgeからタイトルとURLを取得するC#コード

    当ブログでは、EdgeからタイトルとURLを取得するコードについて、い…

  2. Windows 10

    Windows 10 November 2019 UpdateをISO形式でダウンロードして実機にイ…

    下記記事にもあるように、11月12日(米国時間)にWindows 10…

  3. Windows 10

    [Windows 10]画面スケッチを起動するショートカット

    前回の記事の関連です。前回はスケッチパッドを起動するショートカ…

  4. Windows関連

    [Windows 8.1]VB5CCEをインストールしてみました。

    ※ 下記はWindows 8.1 RTM(日本語版・32ビット)に基づ…

  5. Windows関連

    Windows 8 Consumer Preview フォーラムのQ&Aまとめ

    2012/3/1 追記:Microsoft Answers の使用条件…

  6. Windows 10

    [Windows 10]「WebとWindowsを検索」を消す方法

    Windows 10を使ってみて真っ先に思ったことが、タスクバーに表示…

コメント

  • コメント (1)

  • トラックバックは利用できません。

  1. はじめまして。
    edgeをなんとかseleniun使わずに自動化出来ないか調べていて
    こちらに辿り着きました。
    おかげさまで自動化出来ました。
    ありがとうございます。

    アプリケーションのsendkeysですが、
    おそらくアプリケーションのあるフルパスが書けば動くかとおもいます。
    私は結局Chromeを使うことにしたのでedgeでは使っていないのですが、
    chromeでは上手く動作してくれました

Time limit is exhausted. Please reload CAPTCHA.

※本ページはプロモーションが含まれています。

Translate

最近の記事

アーカイブ

PAGE TOP