« 環境に依存しないProgIDでCreateObject()するには? | トップページ | イメージファイルのURLを安全に表示するには? »

2007年3月26日 (月)

スクリプトで、PATHにないアプリを起動する。

PATHになくても、レジストリの
HKLM\Software\Microsoft\Windows\CurrentVersion\App Paths
キー配下に登録されていれば、WScript.ShellのRun()では、起動できますが、
Exec()は駄目。そういうときはフルパスをレジストリから取り出します。

Function GetPath(Name)
Dim wShell
Set wShell=CreateObject("WScript.Shell")
GetPath=wShell.RegRead("HKLM\Software\Microsoft\Windows\CurrentVersion\App Paths\"&Name&"\")
GetPath=Replace(GetPath,"""","")
GetPath=wShell.ExpandEnvironmentStrings(GetPath)
End Function

CreateObject("WScript.Shell").Exec """"&GetPath("acrord32.exe")&""""

« 環境に依存しないProgIDでCreateObject()するには? | トップページ | イメージファイルのURLを安全に表示するには? »