2010年1月29日 星期五

vista資料夾下無法使用SHIFT複選檔案

之前XP偶爾會有這個現象
不過因為是偶爾所以我沒留意
想不到這個現象到了VISTA變的嚴重
剛剛一氣之下就去找了解決方案
方案一
在資料夾裡面按右鍵選內容
選"自訂"那個頁籤
進去之後可以看到上方有一個對話方塊問你
"您要用哪一種資料夾?"
選所有項目
按確定
據說可以復原
不過我剛剛試了一下沒有用
所以我又找了方案二

const HKEY_CURRENT_USER = &H80000001
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colProcessList = objWMIService.ExecQuery _
("Select * from Win32_Process Where Name = 'explorer.exe'")
For Each objProcess in colProcessList
objProcess.Terminate()
Next
Set objRegistry=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" &_
strComputer & "\root\default:StdRegProv")
strKeyPath1 = "Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags"
strKeyPath2 = "Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\BagMRU"
strKeyPath3 = "SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Streams\Defaults"
DeleteSubkeys HKEY_CURRENT_USER, strKeypath1
DeleteSubkeys HKEY_CURRENT_USER, strKeypath2
DeleteSubkeys HKEY_CURRENT_USER, strKeypath3
Sub DeleteSubkeys(HKEY_CURRENT_USER, strKeyPath)
objRegistry.EnumKey HKEY_CURRENT_USER, strKeyPath, arrSubkeys
If IsArray(arrSubkeys) Then
For Each strSubkey In arrSubkeys
DeleteSubkeys HKEY_CURRENT_USER, strKeyPath & "\" & strSubkey
Next
End If
objRegistry.DeleteKey HKEY_CURRENT_USER, strKeyPath
End Sub

把上面那段程式碼貼到筆記本存成.vbs
然後按點兩下執行即可

沒有留言: