69865


クライアントアプリ（.exe）で、実行すると入力フォームが起動し入力ボックスがあるアプリがあります。  
このアプリは繰り返し使用しするため何度も入力ボックスに値を入力し直さなければならず、この入力ボックスに自動で値を入れるツールを開発しようと思います。  
現在batとjavascriptで開発を検討しているのですが、このツールは実装可能なものでしょうか？  
もし実装可能であれば方向性をご教示いただきたいです。


CC BY-SA 4.0
2020-08-25T02:45:13.080
69848
2020-08-26T00:27:45.097
2020-08-25T04:16:20.973
3060
41626
question
javascript batch-file
クライアントアプリ（.exe）の入力ボックスに値を自動入力させるアプリ


対象となるOSはWindowsでしょうか？  
キーボード操作だけで操作が可能なのであればJavaScript（正確にはJScript）でキーボード操作をするのは難しくはありません。

例えば以下のような感じかと思います。

[code]

    shell = new ActiveXObject('WScript.Shell')
    // クライアントアプリを立ち上げる（この例ではメモ帳）
    shell.Run('notepad.exe')
    // クライアントアプリが立ち上がるまで待つ
    WScript.Sleep(10000)
    
    // ボタンへフォーカス
    shell.SendKeys('{TAB}')
    WScript.Sleep(300)
    
    // ボタンを押す
    shell.SendKeys('{SPACE}')
    WScript.Sleep(300)
    
    // フォーカス移動
    shell.SendKeys('{TAB}')
    WScript.Sleep(300)
    
    // テキスト入力
    shell.SendKeys('ABCDE')
    
    
[/code]


CC BY-SA 4.0
2020-08-25T12:08:38.847
69865
2020-08-25T12:08:38.847
4388
69848
answer


バッチでは厳しいですが、dotnetのUI Automationをpowershellから使えば望むことができます。  
参考サイトは、[powershellで電卓を動かす例。](https://www.ka-net.org/blog/?p=12193)

あと、外部ツールを使ってよいなら、  
autoit  
auto hot key  
uwsc  
などのウインドウズ自動化ツールを使えば簡単だと思います。


CC BY-SA 4.0
2020-08-26T00:27:45.097
69879
2020-08-26T00:27:45.097
31146
69848
answer