AutoITXを64bitOSにレジストリ登録する
AutoITを使ってWindows操作を自動化してきたんですが、「コマンドプロンプトが出てびっくりする」とかいわれてしまったので、仕方なくWscriptを使えるようにレジストリ登録しました。
今や(2019現在)、Windowsも64bitOSだらけでAutoITのドキュメントどおりでうまく動かなかったので、メモ
VBS化する前のPowershellでやってみた内容がこちら
そもそもAutoITを使えるようにする記事がこちら
っても、64bitOSにもレジストリ登録するだけなんですけどね😓
下記2行を管理者権限で起動したコマンドプロンプトで実行すれば動きます。
もしくはbatファイルにして右クリック→管理者として実行。
1 2 |
regsvr32 C:\script\AutoItX\AutoItX3.dll regsvr32 C:\script\AutoItX\AutoItX3_x64.dll |
んで、結果VBSに書き換えたソース
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
Option Explicit Dim oShell Dim oAutoIt Dim strTime,strWinTitle Dim intArgsCount,intWaitTime Set oShell = WScript.CreateObject("WScript.Shell") Set oAutoIt = WScript.CreateObject("AutoItX3.Control") strWinTitle = "スクリーン セーバーの設定" strTime ="5" intWaitTime = 2000 intArgsCount =WScript.Arguments.Count If intArgsCount <> 0 Then strTime =WScript.Arguments(0) End If If intArgsCount = 2 Then intWaitTime = WScript.Arguments(1) End If oShell.Run "control.exe desk.cpl,screensaver,@screensaver", 1, FALSE oAutoIt.WinWaitActive strWinTitle, "" ' Send some keystokes oAutoIt.ControlSetText strWinTitle , "" ,"[CLASS:Edit; INSTANCE:1]" ,strTime oAutoIt.ControlClick strWinTitle , "", "適用" oAutoIt.Sleep intWaitTime oAutoIt.ControlClick strWinTitle , "", "OK" ' WScript.Echo "スクリーンセーバーを" , strTime , "分に設定しました。" WScript.Quit |
Powershellでも起動時にアイコンを隠すオプションはあるんですけど、タスクバーに要らない情報出るみたいですし。
…未だにVBScript脱却できないのはちょっとつらい。
“AutoITXを64bitOSにレジストリ登録する” に対して1件のコメントがあります。