AutoITXを64bitOSにレジストリ登録する
AutoITを使ってWindows操作を自動化してきたんですが、「コマンドプロンプトが出てびっくりする」とかいわれてしまったので、仕方なくWscriptを使えるようにレジストリ登録しました。
今や(2019現在)、Windowsも64bitOSだらけでAutoITのドキュメントどおりでうまく動かなかったので、メモ
VBS化する前のPowershellでやってみた内容がこちら
そもそもAutoITを使えるようにする記事がこちら
っても、64bitOSにもレジストリ登録するだけなんですけどね😓
下記2行を管理者権限で起動したコマンドプロンプトで実行すれば動きます。
もしくはbatファイルにして右クリック→管理者として実行。
regsvr32 C:\script\AutoItX\AutoItX3.dll regsvr32 C:\script\AutoItX\AutoItX3_x64.dll
んで、結果VBSに書き換えたソース
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件のコメントがあります。