デバッグしているプログラムの開発/テストワークフローを高速化することに興味があります。私はVB6で開発しており、それに応じてDLLを移動するPS1スクリプトを作成しましたが、さらに一歩進んでいきたいと思います。
私のテストワークフローには、ThirdPartyLoginScreen.exeによって起動されたログイン画面を持つプログラムを開くことが含まれます。PowerShellを使用してプログラムでこのEXEにログイン情報を渡す方法はありますか、それともVB6での書き込みに制限されていますか?
デバッグしているプログラムの開発/テストワークフローを高速化することに興味があります。私はVB6で開発しており、それに応じてDLLを移動するPS1スクリプトを作成しましたが、さらに一歩進んでいきたいと思います。
私のテストワークフローには、ThirdPartyLoginScreen.exeによって起動されたログイン画面を持つプログラムを開くことが含まれます。PowerShellを使用してプログラムでこのEXEにログイン情報を渡す方法はありますか、それともVB6での書き込みに制限されていますか?
スクリプトがプログラムThirdPartyLoginScreen.exeを起動し、そのプログラムがフォアグラウンドになっている場合、これを行うための軽量な方法はSendKeysを使用することです。
Add-Type -AssemblyName System.Windows.Forms
# start the program
ThirdParytLoginScreen.exe
# send keystrokes to the foreground window
[Windows.Forms.SendKeys]::SendWait('domain\username')
[Windows.Forms.SendKeys]::SendWait('{TAB}')
[Windows.Forms.SendKeys]::SendWait('p@ssw0rd1')
[Windows.Forms.SendKeys]::SendWait('{ENTER}')
これは、PowerShellを使用して基本的なUI自動化を行う最も簡単な方法です。これには多くの欠点と制限がありますが、単純なシナリオではブロックを解除するのに役立つ場合があります。