アプリ版:「スタンプのみでお礼する」機能のリリースについて

お世話になります、以下CreateShortcutメソッドについて引っかかってしまいましたので
ご存知の方、知恵を貸してください。

以下のようにAllUserデスクトップとAllUserプログラム下にショートカットを作成しようと考えています。スクリプトを実行すると、デスクトップにショートカットが作成され、ちょっと時間が経ってからもう一つデスクトップにショートカットが作成され、計デスクトップに二つ、プログラム下に1つ作成される状態になります。
この状態で再起動を掛けると表示はデスクトップに一つ、プログラム下に一つに戻っています。
いろいろと試行錯誤してはみましたが理由が分かりません。
一つショートカットを作成し、それをコピーすれば良い話ではありますが、原因が分かる方ご教授下さい。
以上、よろしくお願いいたします。

-----ここから-----

set objFS = Scripting.FileSystemObject
set objWshShell = WScript.Shell

Dim strFileName, strFileName1, objShortCut, objShortCut1

strFileName = objWshShell.SpecialFolders("AllUsersDesktop") & "\test.lnk"
strFileName1 = objWshShell.SpecialFolders("AllUsersStartMenu") & "\プログラム\test.lnk"

If not objFS.FileExists(strFileName) then
  Set objShortCut = objWshShell.CreateShortcut(strFileName)
  objShortCut.TargetPath = objWShShell.ExpandEnvironmentStrings("%ProgramFiles%") & "\test\Bin\test.exe"
  objShortCut.Save
end If

set objShortCut = Nothing

If not objFS.FileExists(strFileName1) then
  Set objShortCut1 = objWshShell.CreateShortcut(strFileName1)
  objShortCut1.TargetPath = objWShShell.ExpandEnvironmentStrings("%ProgramFiles%") & "\test\Bin\test.exe"
  objShortCut1.Save
end If

A 回答 (1件)

スクリプトの先頭2行を正しく書き、2バイトコードの空白を1バイトコードに直して試したところ、私のWindows XP SP2では問題ありません。

デスクトップに一つ、プログラム下に一つショートカットができました。

推定ですが、ご質問のスクリプトは実際に動かしているものとは異なり、抜粋ではないでしょうか。「ちょっと時間が経ってから」という動きはここには見えません。もちろんWindowsか何かの不具合の可能性はありますが、私の環境では問題ありませんでした。

この回答への補足

ありがとうございます。

おっしゃるとおり抜粋のものになりますが、先頭行に2行追加し実行したところ現象は再現いたしました。

他のクライアントで現象が発生しないようであれば端末依存の可能性もありますね。

補足日時:2007/08/16 19:26
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!