匿名質問者

VBSについて質問です。良い回答は200ポイント以上を差し上げます。

スタートアップにURLのショートカットを入れたいと思います。
要件としまして、
ユーザーは、「ALL USER」で作成ねがいます。
OSは、「XP PRO」と「7 PRO」が混在してます。
ブラウザーは、IEの現行バージョンを検討してます。
また、VBSを何度実行しても、重複して登録できないようにお願いします。

ソースでの回答を希望しております。よろしくお願いします。

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2012/08/15 13:44:06

ベストアンサー

匿名回答4号 No.4

「出来ると思う」… そんな言葉は使う必要がねーんだ
なぜなら オレや オレたちの仲間は その言葉を頭の中に思い浮かべた時には!
実際にコードを書いちまって もうすでにテストしちまってるからだッ!
だから 使った事がねェーーーッ!

const STARTUP_FILE = "test.url"
const STARTUP_URL  = "http://www.google.com"

set fso    = CreateObject("Scripting.FileSystemObject")
set wshell = CreateObject("WScript.Shell")
startUpPath = wshell.SpecialFolders("AllUsersStartup")

call RunAdmin

set sc = wshell.CreateShortcut(fso.BuildPath(startUpPath,STARTUP_FILE))
sc.TargetPath = STARTUP_URL
sc.Save

WScript.echo "end"

Sub RunAdmin()
	' 管理者権限に昇格 ★AllUsersに書き込むのでWindowsVista以降では必須
	' WScript.Arguemnts.Count = 0:GUI 1:CUI
	do while WScript.Arguments.Count = 0 and WScript.Version >= 5.7

	  ' Check WScript5.7~ and Vista~
	  Set wmi = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\.\root\cimv2")
	  Set os = wmi.ExecQuery("SELECT *FROM Win32_OperatingSystem")
	  For Each value in os
	    if left(value.Version, 3) < 6.0 then exit do  'Exit if not vista
	  Next
	 
	  ' Run this script as admin.
	  Set sha = CreateObject("Shell.Application")
	  sha.ShellExecute "wscript.exe", """" & WScript.ScriptFullName & """ uac", "", "runas"
	 
	  WScript.Quit
	loop
End Sub
匿名質問者

匿名回答4号様
このたびは作成いただきありがとうございました。

2012/08/15 13:43:53

その他の回答3件)

匿名回答1号 No.1

スマートフォンから投稿

アプリを御作りさせて頂けば良いのでしょうか?さりながらそのシステムは一歩間違えるとウィルスに利用されてしまいそうな?

匿名質問者

ご指摘ありがとうございます。
ソースを確認して、そのような記述が無いか確認します。

2012/08/15 04:50:48
匿名回答1号 No.2

スマートフォンから投稿

こちらこそ、お力添え出来ず申し訳ありません。より良いものが創造され、多くの方の助けとなるものが仕上がりますようお祈り致しております。少し遊びを作ってタイムテーブルでリポジションし続けるような形で充分代用出来るかもと存じますε=ε=(ノ≧∇≦)ノ?きっちりしない三割の遊びは黄金比です(*´ω`*)

匿名回答2号 No.3

以下を組み合わせると簡単に出来ると思います。

特殊フォルダの取得方法
http://www.atmarkit.co.jp/fwin2k/operation/wsh06/wsh06_01.html

デスクトップへのショートカットの作り方
http://www.atmarkit.co.jp/fwin2k/operation/wsh06/wsh06_03.html

匿名回答4号 No.4

ここでベストアンサー

「出来ると思う」… そんな言葉は使う必要がねーんだ
なぜなら オレや オレたちの仲間は その言葉を頭の中に思い浮かべた時には!
実際にコードを書いちまって もうすでにテストしちまってるからだッ!
だから 使った事がねェーーーッ!

const STARTUP_FILE = "test.url"
const STARTUP_URL  = "http://www.google.com"

set fso    = CreateObject("Scripting.FileSystemObject")
set wshell = CreateObject("WScript.Shell")
startUpPath = wshell.SpecialFolders("AllUsersStartup")

call RunAdmin

set sc = wshell.CreateShortcut(fso.BuildPath(startUpPath,STARTUP_FILE))
sc.TargetPath = STARTUP_URL
sc.Save

WScript.echo "end"

Sub RunAdmin()
	' 管理者権限に昇格 ★AllUsersに書き込むのでWindowsVista以降では必須
	' WScript.Arguemnts.Count = 0:GUI 1:CUI
	do while WScript.Arguments.Count = 0 and WScript.Version >= 5.7

	  ' Check WScript5.7~ and Vista~
	  Set wmi = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\.\root\cimv2")
	  Set os = wmi.ExecQuery("SELECT *FROM Win32_OperatingSystem")
	  For Each value in os
	    if left(value.Version, 3) < 6.0 then exit do  'Exit if not vista
	  Next
	 
	  ' Run this script as admin.
	  Set sha = CreateObject("Shell.Application")
	  sha.ShellExecute "wscript.exe", """" & WScript.ScriptFullName & """ uac", "", "runas"
	 
	  WScript.Quit
	loop
End Sub
匿名質問者

匿名回答4号様
このたびは作成いただきありがとうございました。

2012/08/15 13:43:53
  • 匿名回答3号
    匿名回答3号 2012/08/15 11:18:14
    匿名回答でポイント進呈できるということは、
    はてなの関係者ですかw

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません