« フォルダサイズを表示するバッチファイル | トップページ | インターネットショートカットで、アプリやバッチファイルを非表示で起動する。 »

2008年11月18日 (火)

文字列リソースを取り出して見る。

レジストリなどに、
@%SystemRoot%\system32\SHELL32.dll,-22978
のような文字列があります。

これが具体的にどういう文字列に展開されるのか?

それをWin32APIを使わず、スクリプトだけで調べることができます。
それもWScript.Shellを使って。

[cscript] GetResource.VBS [@DLL,ID]

Option Explicit

Dim Resource
Dim Location

For Each Location In WScript.Arguments
  WScript.Echo GetResource(Location)
Next
If WScript.Arguments.Count Then WScript.Quit
Do
  Location=InputBox("Enter @DLL,ID.",WScript.ScriptName,Resource)
  If Location="" Then Exit Do
  Resource=GetResource(Location)
  If Resource="" Then Resource=Location
Loop

Function GetResource(Location)
Dim wShell
Dim Link
Set wShell=CreateObject("WScript.Shell")
Set Link=wShell.CreateShortCut(".LNK")
Link.Description=Location
GetResource=Link.Description
End Function

« フォルダサイズを表示するバッチファイル | トップページ | インターネットショートカットで、アプリやバッチファイルを非表示で起動する。 »