![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?08b1c8b)
マイドキュメントやマイコンピューターのウィンドウのサイズや位置を記憶して、変更した際にも元に戻せるようにしたいのですが何か方法はありますか?
その部分にかかわるレジストリを1台のマシンで記憶しておけば、他のマシンでも同じにできると考えたのですが、レジストリの場所がわかりません。
場所をご存知の方見えませんか?
(ひょっとしたらそんなのは無い?)
パソコン教室で複数の同じ型のマシンを使用していますが、生徒さんが操作した後いちいち手作業で直すのは大変です。
以前にも同じような質問をしたのですが・・思うような回答が得られなかったので言い方を変えて再度質問させていただきました。
No.17ベストアンサー
- 回答日時:
>74行目 「見つかりませんでした」 80041002
ごめんなさい。
wmiのSINKはやめます
ではこれはどうでしょう?
お手数ですが、これを実行する前に、
一度フォルダオプションで「全フォルダのリセット」を
して
『マイドキュメント』、『マイコンピュータ』の
フォルダ設定をしておいてください。
const HKCU = &H80000001
const REG_SZ = 1
const REG_EXPAND_SZ = 2
const REG_BINARY = 3
const REG_DWORD = 4
const REG_MULTI_SZ = 7
dim StatusChk()
dim arrSubKeys
dim flag
Dim objTarget
dim FldrPath(100)
dim BackUpFile
dim ItmNo(100)
dim FolderCnt
BackUpFile = "FolderSetting_BackupFile.ini"
Set WshShell = WScript.CreateObject("WScript.Shell")
i = WshShell.PopUp("フォルダ設定をバックアップします" ,0,"ittochan",65)
if i<>1 then
WScript.Echo "中止しました"
WScript.Quit
end if
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.GetFile(WScript.ScriptFullName)
BackUpFile = f.ParentFolder & "\" & BackUpFile
Set oReg = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv")
strBags="Software\Microsoft\Windows\ShellNoRoam\Bags\"
flag=0
set Shell = WScript.CreateObject("Shell.Application")
set WindowsShell = Shell.Windows
getfldr()
if FolderCnt>0 then
for i=0 to FolderCnt-1
closefldr()
next
end if
openfolder "shell:Personal"
openfolder "shell:DriveFolder"
getfldr()
Set MyFile = fso.CreateTextFile(BackUpFile, True)
MyFile.WriteLine 2
MyFile.WriteLine "shell:Personal"
MyFile.WriteLine "shell:DriveFolder"
GetSubKey()
ReDim StatusChk(UBound(arrSubKeys))
for k=0 to FolderCnt-1
Set objTarget = WindowsShell.item(ItmNo(k))
'Bagsキーからアドレスバーの状態を取得します。
on error resume next
for i=0 to UBound(arrSubKeys)
inta = WshShell.RegRead("HKCU\" & strBags & arrSubKeys(i) & "\Shell\Address")
if Err.Number<>0 then
StatusChk(i) = 2
Err.Clear
else
StatusChk(i) = inta
end if
next
on error goto 0
'アドレスバーの設定を反転させる
AddressBarChange()
WScript.Sleep 1000
objTarget.Navigate FldrPath(k)
'アドレスバーの設定が元に戻った場所を探す
on error resume next
do
for i=0 to UBound(arrSubKeys)
inta = WshShell.RegRead("HKCU\" & strBags & arrSubKeys(i) & "\Shell\Address")
if Err.Number<>0 then
inta = 2
Err.Clear
end if
if StatusChk(i) <> inta then
BagNo = arrSubKeys(i)
Exit Do
end if
next
loop while 1
on error goto 0
'アドレスバーの設定を元に戻す
AddressBarChange()
strKeyPath = strBags & BagNo & "\Shell"
oReg.EnumValues HKCU, strKeyPath,arrValueNames, arrValueTypes
MyFile.WriteLine UBound(arrValueNames)
For i=0 To UBound(arrValueNames)
strv = arrValueNames(i)
MyFile.WriteLine arrValueTypes(i)
MyFile.WriteLine strv
strKeyPath1 = "HKCU\" & strKeyPath & "\" & strv
Select Case arrValueTypes(i)
Case REG_SZ
MyFile.WriteLine WshShell.RegRead( strKeyPath1 )
Case REG_EXPAND_SZ
MyFile.WriteLine WshShell.RegRead( strKeyPath1 )
Case REG_BINARY
oReg.GetBinaryValue HKCU,strKeyPath ,strv,strValue
MyFile.WriteLine uBound(strValue)
For j = 0 to uBound(strValue)
MyFile.WriteLine strValue(j)
Next
Case REG_DWORD
MyFile.WriteLine WshShell.RegRead( strKeyPath1 )
Case REG_MULTI_SZ
End Select
Next
next
getfldr()
for i=0 to FolderCnt-1
closefldr()
next
msgbox "終了しました"
MyFile.Close
WScript.Quit
sub getfldr()
dim i,j,k,obj
j=0
for i=0 to WindowsShell.Count-1
Set obj = WindowsShell.item(i)
if TypeName(obj)<>"Nothing" then
if InStr(obj.LocationURL,"file:///") = 1 then
ItmNo(j) = i
FldrPath(j) = obj.LocationURL
j=j+1
end if
end if
next
FolderCnt = j
end sub
sub closefldr()
dim i,obj
for i=0 to WindowsShell.Count-1
Set obj = WindowsShell.Item(i)
if TypeName(obj)<>"Nothing" then
if InStr(obj.LocationURL,"file:///")=1 then
pCnt = WindowsShell.Count
BusyCheck(obj)
obj.Quit
do while pCnt = WindowsShell.Count
WScript.Sleep 100
loop
Exit for
end if
end if
next
end sub
sub GetSubKey()
oReg.EnumKey HKCU, strBags, arrSubKeys
end sub
sub openfolder(path)
pCnt = WindowsShell.Count
Shell.Open path
do while pCnt = WindowsShell.Count
WScript.Sleep 100
loop
end sub
Sub AddressBarChange()
dim i
for i=0 to UBound(arrSubKeys)
if StatusChk(i)<>2 then
StatusChk(i) = not StatusChk(i)
WshShell.RegWrite "HKCU\" & strBags & arrSubKeys(i) & "\Shell\Address" ,StatusChk(i),"REG_DWORD"
end if
next
End sub
sub BusyCheck(obj)
do
WScript.Sleep 100
loop while obj.Busy
end sub
No.15
- 回答日時:
リストア用スクリプトを修正しました。
const HKCU = &H80000001
const REG_SZ = 1
const REG_EXPAND_SZ = 2
const REG_BINARY = 3
const REG_DWORD = 4
const REG_MULTI_SZ = 7
dim StatusChk(), FldrPath(), arrValue()
dim arrSubKeys, flag, objTarget
dim BackUpFile, ItmNo, FolderCnt
BackUpFile = "FolderSetting_BackupFile.ini"
Set WshShell = WScript.CreateObject("WScript.Shell")
i = WshShell.PopUp("フォルダ設定を読み込みます" ,0,"ittochan",65)
if i<>1 then
WScript.Echo "中止しました"
WScript.Quit
end if
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.GetFile(WScript.ScriptFullName)
BackUpFile = f.ParentFolder & "\" & BackUpFile
Set oReg = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv")
strBags="Software\Microsoft\Windows\ShellNoRoam\Bags\"
flag=0
set Shell = WScript.CreateObject("Shell.Application")
set WindowsShell = Shell.Windows
redim ItmNo(WindowsShell.Count)
redim FldrPath(WindowsShell.Count)
if not fso.FileExists(BackUpFile) then
WScript.Echo "バックアップファイルがありません"
WScript.Quit
end if
Set MyFile = fso.OpenTextFile(BackUpFile)
FolderCnt = MyFile.ReadLine()
redim FldrPath(FolderCnt)
for i=0 to WindowsShell.Count-1
Set obj = WindowsShell.Item(i)
BusyCheck(obj)
if TypeName(obj)<>"Nothing" then
if InStr( obj.LocationURL , "file:///")=1 then
pCnt = WindowsShell.Count
obj.Quit
do while pCnt = WindowsShell.Count
WScript.Sleep 100
loop
end if
end if
next
for i=0 to FolderCnt-1
FldrPath(i) = MyFile.ReadLine()
pCnt = WindowsShell.Count
Shell.Open FldrPath(k)
do while pCnt = WindowsShell.Count
WScript.Sleep 100
loop
ItmNo = chckfldr()
WindowsShell.item(ItmNo).Quit
next
GetSubKey()
ReDim StatusChk(UBound(arrSubKeys))
for k=0 to FolderCnt-1
'if not fso.FolderExists( Replace(FldrPath(k),"file:///","") ) then k=k+1
'if k=FolderCnt thenExit for
'WScript.Echo FldrPath(k)
pCnt = WindowsShell.Count
Shell.Open FldrPath(k)
do while pCnt = WindowsShell.Count
WScript.Sleep 100
loop
ItmNo = chckfldr()
Set objTarget = WindowsShell.item(ItmNo)
'Bagsキーからアドレスバーの状態を取得します。
on error resume next
for i=0 to UBound(arrSubKeys)
inta = WshShell.RegRead("HKCU\" & strBags & arrSubKeys(i) & "\Shell\Address")
if Err.Number<>0 then
StatusChk(i) = 2
Err.Clear
else
StatusChk(i) = inta
end if
next
on error goto 0
'アドレスバーの設定を反転させる
StatusChange()
objTarget.Navigate "about:blank"
BusyCheck(objTarget)
objTarget.Navigate FldrPath(k)
BusyCheck(objTarget)
objTarget.Quit
flag=0
'アドレスバーの設定が元に戻った場所を探す
on error resume next
do while flag=0
WScript.Sleep 1000
for i=0 to UBound(arrSubKeys)
inta = WshShell.RegRead("HKCU\" & strBags & arrSubKeys(i) & "\Shell\Address")
if Err.Number<>0 then
inta = 2
Err.Clear
end if
if StatusChk(i) <> inta then
flag=1
BagNo = arrSubKeys(i)
Exit Do
end if
next
loop
on error goto 0
'アドレスバーの設定を元に戻す
StatusChange()
'WScript.Sleep 3000
if flag=1 then
strKeyPath = strBags & BagNo & "\Shell"
inta = MyFile.ReadLine()
For i=0 To inta
s = MyFile.ReadLine()
ValueType = CInt(s)
strv = MyFile.ReadLine()
strKeyPath1 = "HKCU\" & strKeyPath & "\" & strv
Select Case ValueType
Case REG_SZ
strValue = MyFile.ReadLine()
WshShell.RegWrite strKeyPath1,strValue,"REG_SZ"
Case REG_EXPAND_SZ
strValue = MyFile.ReadLine()
WshShell.RegWrite strKeyPath1,strValue,"REG_EXPAND_SZ"
Case REG_BINARY
intu = CInt( MyFile.ReadLine() )
redim arrValue(intu)
For j = 0 to intu
arrValue(j) = CInt( MyFile.ReadLine() )
Next
oReg.SetBinaryValue HKCU,strKeyPath ,strv,arrValue
Case REG_DWORD
intValue = CInt( MyFile.ReadLine() )
if strv<>"Rev" then
WshShell.RegWrite strKeyPath1,intValue,"REG_DWORD"
end if
Case REG_MULTI_SZ
End Select
Next
else
WshShell.Popup FldrPath(k) & "に失敗しました",0,"ittochan",16
end if
next
WScript.Echo "終了しました"
MyFile.Close
WScript.Quit
function chckfldr()
dim i,j
j=0
chckfldr = -1
for i=0 to WindowsShell.Count-1
Set obj = WindowsShell.item(i)
if TypeName(obj)<>"Nothing" then
BusyCheck(obj)
if instr(obj.LocationURL , "file:///")= 1 then
chckfldr = i
end if
end if
next
end function
sub GetSubKey()
oReg.EnumKey HKCU, strBags, arrSubKeys
end sub
Sub StatusChange()
for i=0 to UBound(arrSubKeys)
if StatusChk(i)<>2 then
StatusChk(i) = not StatusChk(i)
WshShell.RegWrite "HKCU\" & strBags & arrSubKeys(i) & "\Shell\Address" ,StatusChk(i),"REG_DWORD"
end if
next
End sub
sub BusyCheck(obj)
do
WScript.Sleep 100
loop while obj.Busy
end sub
せっせ。・°°・_〆(・_・;)(;・_・)φ_・°°・。せっせ
どうでしょう?
No.13
- 回答日時:
>(2000とMeで試してみました。
)試して駄目です。
XP専用です
No.12
- 回答日時:
そしてこれがリストア用です
const HKCU = &H80000001
const REG_SZ = 1
const REG_EXPAND_SZ = 2
const REG_BINARY = 3
const REG_DWORD = 4
const REG_MULTI_SZ = 7
dim StatusChk(), FldrPath(), arrValue()
dim arrSubKeys, flag, objTarget
dim BackUpFile, ItmNo, FolderCnt
BackUpFile = "FolderSetting_BackupFile.ini"
Set WshShell = WScript.CreateObject("WScript.Shell")
i = WshShell.PopUp("フォルダ設定を読み込みます" ,0,"ittochan",65)
if i<>1 then
WScript.Echo "中止しました"
WScript.Quit
end if
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.GetFile(WScript.ScriptFullName)
BackUpFile = f.ParentFolder & "\" & BackUpFile
Set oReg = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv")
strBags="Software\Microsoft\Windows\ShellNoRoam\Bags\"
flag=0
set Shell = WScript.CreateObject("Shell.Application")
set WindowsShell = Shell.Windows
redim ItmNo(WindowsShell.Count)
redim FldrPath(WindowsShell.Count)
if not fso.FileExists(BackUpFile) then
WScript.Echo "バックアップファイルがありません"
WScript.Quit
end if
Set MyFile = fso.OpenTextFile(BackUpFile)
FolderCnt = MyFile.ReadLine()
redim FldrPath(FolderCnt)
for i=0 to FolderCnt-1
FldrPath(i) = MyFile.ReadLine()
pCnt = WindowsShell.Count
Shell.Open FldrPath(k)
do while pCnt = WindowsShell.Count
loop
ItmNo = chckfldr(FldrPath(i))
WindowsShell.item(ItmNo).Quit
next
GetSubKey()
ReDim StatusChk(UBound(arrSubKeys))
for k=0 to FolderCnt-1
'if not fso.FolderExists( Replace(FldrPath(k),"file:///","") ) then k=k+1
'if k=FolderCnt thenExit for
'WScript.Echo FldrPath(k)
pCnt = WindowsShell.Count
Shell.Open FldrPath(k)
do while pCnt = WindowsShell.Count
WScript.Sleep 100
loop
ItmNo = chckfldr(FldrPath(k))
Set objTarget = WindowsShell.item(ItmNo)
'Bagsキーからアドレスバーの状態を取得します。
on error resume next
for i=0 to UBound(arrSubKeys)
inta = WshShell.RegRead("HKCU\" & strBags & arrSubKeys(i) & "\Shell\Address")
if Err.Number<>0 then
StatusChk(i) = 2
Err.Clear
else
StatusChk(i) = inta
end if
next
on error goto 0
'アドレスバーの設定を反転させる
StatusChange()
objTarget.Navigate FldrPath(k)
BusyCheck(objTarget)
objTarget.Quit
flag=0
'アドレスバーの設定が元に戻った場所を探す
on error resume next
do while flag=0
WScript.Sleep 1000
for i=0 to UBound(arrSubKeys)
inta = WshShell.RegRead("HKCU\" & strBags & arrSubKeys(i) & "\Shell\Address")
if Err.Number<>0 then
inta = 2
Err.Clear
end if
if StatusChk(i) <> inta then
flag=1
BagNo = arrSubKeys(i)
Exit Do
end if
next
loop
on error goto 0
'アドレスバーの設定を元に戻す
StatusChange()
'WScript.Sleep 3000
if flag=1 then
strKeyPath = strBags & BagNo & "\Shell"
inta = MyFile.ReadLine()
For i=0 To inta
s = MyFile.ReadLine()
ValueType = CInt(s)
strv = MyFile.ReadLine()
strKeyPath1 = "HKCU\" & strKeyPath & "\" & strv
Select Case ValueType
Case REG_SZ
strValue = MyFile.ReadLine()
WshShell.RegWrite strKeyPath1,strValue,"REG_SZ"
Case REG_EXPAND_SZ
strValue = MyFile.ReadLine()
WshShell.RegWrite strKeyPath1,strValue,"REG_EXPAND_SZ"
Case REG_BINARY
intu = CInt( MyFile.ReadLine() )
redim arrValue(intu)
For j = 0 to intu
arrValue(j) = CInt( MyFile.ReadLine() )
Next
oReg.SetBinaryValue HKCU,strKeyPath ,strv,arrValue
Case REG_DWORD
intValue = CInt( MyFile.ReadLine() )
if strv<>"Rev" then
WshShell.RegWrite strKeyPath1,intValue,"REG_DWORD"
end if
Case REG_MULTI_SZ
End Select
Next
else
WshShell.Popup FldrPath(k) & "に失敗しました",0,"ittochan",16
end if
'Shell.Open FldrPath(k)
next
WScript.Echo "終了しました"
MyFile.Close
WScript.Quit
function chckfldr(FldrPath)
dim i,j
j=0
chckfldr = -1
for i=0 to WindowsShell.Count-1
if TypeName(WindowsShell.item(i))<>"Nothing" then
BusyCheck(WindowsShell.item(i))
if WindowsShell.item(i).LocationURL = FldrPath then
chckfldr = i
end if
end if
next
end function
sub GetSubKey()
oReg.EnumKey HKCU, strBags, arrSubKeys
end sub
Sub StatusChange()
for i=0 to UBound(arrSubKeys)
if StatusChk(i)<>2 then
StatusChk(i) = not StatusChk(i)
WshShell.RegWrite "HKCU\" & strBags & arrSubKeys(i) & "\Shell\Address" ,StatusChk(i),"REG_DWORD"
end if
next
End sub
sub BusyCheck(obj)
do
WScript.Sleep 100
loop while obj.Busy
end sub
このスクリプトを
バックアップファイルと同じパスに置いて実行します。
No.11
- 回答日時:
const HKCU = &H80000001
const REG_SZ = 1
const REG_EXPAND_SZ = 2
const REG_BINARY = 3
const REG_DWORD = 4
const REG_MULTI_SZ = 7
dim StatusChk()
dim arrSubKeys
dim flag
Dim objTarget
dim FldrPath(100)
dim BackUpFile
dim ItmNo(100)
dim FolderCnt
BackUpFile = "FolderSetting_BackupFile.ini"
Set WshShell = WScript.CreateObject("WScript.Shell")
i = WshShell.PopUp("フォルダ設定をバックアップします" ,0,"ittochan",65)
if i<>1 then
WScript.Echo "中止しました"
WScript.Quit
end if
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.GetFile(WScript.ScriptFullName)
BackUpFile = f.ParentFolder & "\" & BackUpFile
Set oReg = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv")
strBags="Software\Microsoft\Windows\ShellNoRoam\Bags\"
flag=0
set Shell = WScript.CreateObject("Shell.Application")
set WindowsShell = Shell.Windows
getfldr()
for i=0 to FolderCnt-1
closefldr(FldrPath(i))
next
openfolder "shell:Personal"
openfolder "shell:DriveFolder"
getfldr()
Set MyFile = fso.CreateTextFile(BackUpFile, True)
MyFile.WriteLine 2
MyFile.WriteLine "shell:Personal"
MyFile.WriteLine "shell:DriveFolder"
GetSubKey()
ReDim StatusChk(UBound(arrSubKeys))
for k=0 to FolderCnt-1
Set objTarget = WindowsShell.item(ItmNo(k))
'Bagsキーからアドレスバーの状態を取得します。
on error resume next
for i=0 to UBound(arrSubKeys)
inta = WshShell.RegRead("HKCU\" & strBags & arrSubKeys(i) & "\Shell\Address")
if Err.Number<>0 then
StatusChk(i) = 2
Err.Clear
else
StatusChk(i) = inta
end if
next
on error goto 0
'アドレスバーの設定を反転させる
AddressBarChange()
strHive = "HKEY_USERS"
strKeyPath = getSID() & "\\Software\\Microsoft\\Windows\\ShellNoRoam\\Bags"
Set wmiServices = GetObject("winmgmts:root/default")
Set wmiSink = WScript.CreateObject("WbemScripting.SWbemSink", "SINK_")
wmiServices.ExecNotificationQueryAsync wmiSink, _
"SELECT * FROM RegistryTreeChangeEvent WHERE Hive='" & strHive & "' AND " & _
"RootPath='" & strKeyPath & "'"
flag=0
objTarget.Navigate "about:blank"
BusyCheck objTarget
objTarget.Navigate FldrPath(k)
BusyCheck objTarget
While(flag=0)
WScript.Sleep 10000
WScript.Echo FldrPath(k) & "に失敗しました"
Set wmiSink = Noting
AddressBarChange()
WScript.Quit
Wend
'アドレスバーの設定が元に戻った場所を探す
on error resume next
for i=0 to UBound(arrSubKeys)
inta = WshShell.RegRead("HKCU\" & strBags & arrSubKeys(i) & "\Shell\Address")
if Err.Number<>0 then
inta = 2
Err.Clear
end if
if StatusChk(i) <> inta then
BagNo = arrSubKeys(i)
Exit For
end if
next
on error goto 0
'アドレスバーの設定を元に戻す
AddressBarChange()
strKeyPath = strBags & BagNo & "\Shell"
oReg.EnumValues HKCU, strKeyPath,arrValueNames, arrValueTypes
MyFile.WriteLine UBound(arrValueNames)
For i=0 To UBound(arrValueNames)
strv = arrValueNames(i)
MyFile.WriteLine arrValueTypes(i)
MyFile.WriteLine strv
strKeyPath1 = "HKCU\" & strKeyPath & "\" & strv
Select Case arrValueTypes(i)
Case REG_SZ
MyFile.WriteLine WshShell.RegRead( strKeyPath1 )
Case REG_EXPAND_SZ
MyFile.WriteLine WshShell.RegRead( strKeyPath1 )
Case REG_BINARY
oReg.GetBinaryValue HKCU,strKeyPath ,strv,strValue
MyFile.WriteLine uBound(strValue)
For j = 0 to uBound(strValue)
MyFile.WriteLine strValue(j)
Next
Case REG_DWORD
MyFile.WriteLine WshShell.RegRead( strKeyPath1 )
Case REG_MULTI_SZ
End Select
Next
next
getfldr()
for i=0 to FolderCnt-1
closefldr(FldrPath(i))
next
msgbox "終了しました"
MyFile.Close
WScript.Quit
sub getfldr()
dim i,j,k
j=0
for i=0 to WindowsShell.Count-1
BusyCheck(WindowsShell.item(i))
if TypeName(WindowsShell.item(i))<>"Nothing" then
if InStr(WindowsShell.item(i).LocationURL,"file") = 1 then
ItmNo(j) = i
FldrPath(j) = WindowsShell.item(i).LocationURL
j=j+1
end if
end if
next
FolderCnt = j
end sub
sub closefldr(path)
dim i,obj
for i=0 to WindowsShell.Count-1
Set obj = WindowsShell.Item(i)
BusyCheck(obj)
if TypeName(obj)<>"Nothing" then
if obj.LocationURL = path then
pCnt = WindowsShell.Count
obj.Quit
do while pCnt = WindowsShell.Count
WScript.Sleep 100
loop
Exit for
end if
end if
next
end sub
sub GetSubKey()
oReg.EnumKey HKCU, strBags, arrSubKeys
end sub
sub openfolder(path)
pCnt = WindowsShell.Count
Shell.Open path
do while pCnt = WindowsShell.Count
WScript.Sleep 100
loop
end sub
Sub AddressBarChange()
for i=0 to UBound(arrSubKeys)
if StatusChk(i)<>2 then
StatusChk(i) = not StatusChk(i)
WshShell.RegWrite "HKCU\" & strBags & arrSubKeys(i) & "\Shell\Address" ,StatusChk(i),"REG_DWORD"
end if
next
End sub
sub BusyCheck(obj)
do
WScript.Sleep 100
loop while obj.Busy
end sub
Sub SINK_OnObjectReady(wmiObject, wmiAsyncContext)
flag=1
End Sub
function getSID()
Set objWMIService = GetObject("winmgmts:root\cimv2")
Set colProcess = objWMIService.ExecQuery("Select * from Win32_Process")
For Each objItem in colProcess
if objItem.Caption = "explorer.exe" then
objItem.GetOwnerSid getSID
end if
Next
Set colProcess = Nothing
Set objWMIService = Nothing
end function
実行するとスクリプトと同じパスにバックアップファイルが作成されるので
メモ帳で開いて確認してみてください。
汎用性を持たせたいんですが
マイドキュメントのパスがユーザー毎に違うので
困っています。
この回答への補足
ながーいスクリプト、すいません。ありがとうございます。
やってみました。
■バックアップ:結果報告■こちらではうまくいきません。
・OSに依存するのでしょうか?(2000とMeで試してみました。)
・バックアップのときに 47行目で「型が一致しません:'UBound'」エラー
コード:800A000D
・・・という表示になります。
■レストア:結果報告■こちらもメッセージが表示されます。
・49行目 「オブジェクトがありません:'WindowsShell.item(..)'」
コード800A01A8
・・・・だそうです。
No.8
- 回答日時:
任意のフォルダの設定なら
HKEY_CURRENT_USER\Software\Microsoft\Windows\ShellNoRoam\Bags
キーをいじることになります。
このサブキーの数字はフォルダに対応していて
「全フォルダのリセット」後
開いた順番に増えていきます。
すべてのマシンで違います。
どの番号がどのフォルダに対応しているかは
スクリプトで判明可能です。
>マイドキュメントやマイコンピューターの
>ウィンドウのサイズや位置を記憶して
個人的に興味があるので、スクリプトを作成してもいいです(o゜▽゜)o
こんなのです↓
参考URL:http://www.okweb.ne.jp/kotaeru.php3?q=537261
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(パソコン・スマホ・電化製品) レジストリーの特定のフォルダーは他のPCへコピペ出来ますか? 4 2023/05/03 09:44
- Windows 10 レジストリの変更が反映されない 5 2023/03/02 22:11
- 消費者問題・詐欺 通っている日焼けサロンなのですが、ランプが切れていても交換をしない、マシンが故障しても平気で数週間修 2 2022/10/10 10:55
- その他(コンピューター・テクノロジー) 50台の織機から回転数を取得・集計しモニターに表示したい 2 2022/11/05 15:48
- ヤフオク! ヤフオク!の個人情報系はどの程度公開されるのでしょうか? 3 2022/11/22 23:04
- ドライブ・ストレージ 複数のパソコンが自宅にあり、互いの固有のHD、光学ドライブを相互にアクセスする方法。その2 3 2022/12/16 09:54
- Firefox(ファイヤーフォックス) Firefoxでグーグルの検索画面が変です 2 2022/09/20 19:25
- 大学・短大 続報 以前大学編入後に生じた問題から、こちらに質問 させていただいたものです。 詳しくご存知ない方に 1 2023/06/24 15:19
- Excel(エクセル) エクセル関数の変わった使い方 3 2022/05/13 17:12
- Visual Basic(VBA) VBA リボンののリカバリーでオーバーフローエラーになります 2 2023/07/04 19:07
このQ&Aを見た人はこんなQ&Aも見ています
-
あなたの「必」の書き順を教えてください
ふだん、どういう書き順で「必」を書いていますか? みなさんの色んな書き順を知りたいです。 画像のA~Eを使って教えてください。
-
スマホに会話を聞かれているな!?と思ったことありますか?
スマートフォンで検索はしてないのに、友達と話していた製品の広告が直後に出てきたりすることってありませんか? こんな感じでスマホに会話を聞かれているかも!?と思ったエピソードってありますか?
-
もし10億円当たったら何に使いますか?
みなさんの10億円プランが知りたいです!
-
人生でいちばんスベッた瞬間
誰しも、笑いをとろうとして失敗した経験があると思います。
-
今から楽しみな予定はありますか?
いよいよ2025年が始まりました。皆さんには、今から楽しみにしている予定はありますか?
-
エクスプローラのウインドウサイズを変更したい
Windows Vista・XP
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・【大喜利】【投稿~1/31】『寿司』がテーマの本のタイトル
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・【大喜利】【投稿~1/20】 追い込まれた犯人が咄嗟に言った一言とは?
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・【大喜利】【投稿~1/9】 忍者がやってるYouTubeが炎上してしまった理由
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
WindowsXPを最近のパソコンに...
-
絶対にいけるWindowsXPsp3の無...
-
Windows XP SP3のインストール...
-
履歴書の住所の欄にふりがなを...
-
Windows 11 のウィンドゥのうっ...
-
アウトルックを「タスクバー」...
-
XPがインストールできない
-
パソコンのiTunesからスマホに...
-
Windowsxpってどうやってインス...
-
OphcrackがWindowsVistaでブー...
-
WindowsXPのプロダクトキーを紛...
-
パソコンで フォルダ を作るシ...
-
電源ボタンでスリープするよう...
-
windows10 フォルダを上書きす...
-
ラズパイでwindows XPは動くのか
-
エクセルでの文字入力がIMEでし...
-
WindowsXPが起動しなくなったと...
-
windows11になってなぜ重くなっ...
-
WinXP 定期的にでる「オフライ...
-
やっぱり現代のPCにWindowsXPを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ウィンドウサイズ・場所のレジ...
-
別シートのマクロを実行する方法
-
Application.Runエラー(1004)
-
エクセルのマクロボタンが編集...
-
Access終了時にマクロまたはVBA...
-
access2010 コマンドまたはアク...
-
エクセルVBAでNumLockキーの状...
-
エクセルVBAで、ボタンの文字を...
-
vbaでmsgboxの位置を指定
-
InputBox内の表示について
-
マクロ 戻るボタンを押したらシ...
-
アクセスのマクロについて
-
特定のシートだけ印刷はマクロ...
-
シート保護を掛けたまま並べ替...
-
AccessでExcelファイルを印刷
-
エクセル VBA SendKeys ループ...
-
ExcelVBAで右クリックメニュー...
-
アクセス:検索フォームボタンに...
-
今日の日付の範囲を指定して印...
-
マクロとモジュールの違いを教...
おすすめ情報