Powershellはモジュールとして非常に多数のアセンブリを読み込むため、
スクリプトを実行しはじめるまでに少し時間がかかります。
実際に、hmPS.dllを利用したマクロ(PowerShellスクリプト)を実行すると、
少し待ち時間を体感出来るハズです。
これは、hmPS.dllだけではなく、PowerShellを実行した際に、
とても起動時間がかかるのと同じです。
同じスクリプトを2回目以降実行する分には、この時間は大幅に短縮されます。
NGen(ネイティブ イメージ ジェネレーター)を利用することで、この最初の待ち時間を大幅にカットすることが出来ます。
(但し、PowerShellの場合はそれでも結構遅いです)
管理者権限でPowerShellを実行します。管理者権限であることが必須です。
Set-Alias ngen @( dir (join-path ${env:\windir} "Microsoft.NET\Framework") ngen.exe -recurse | sort -descending lastwritetime )[0].fullName Set-Alias ngen64 @( dir (join-path ${env:\windir} “Microsoft.NET\Framework64”) ngen.exe -recurse | sort -descending lastwritetime )[0].fullName [appdomain]::currentdomain.getassemblies() | % { if($_.location -match $(‘\\assembly\\GAC_64’)){ ngen64 install $_.location } else { ngen install $_.location } }
管理者権限でプロンプトを実行します。管理者権限であることが必須です。
cd C:\Windows\Microsoft.NET\Framework\v4.0.30319
cd C:\Windows\Microsoft.NET\Framework64\v4.0.30319
以下のように「ngen install」のコマンドを利用して、ネイティブイメージを作成してください。 「C:\usr\hidemaru\hmPS.dll」の部分は、実際のあなたの秀丸のディレクトリやhmPS.dllの位置に合わせてください。
ngen install "C:\usr\hidemaru\hmPS.dll"