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脱却できないのはちょっとつらい。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください