Есть ли скрипт для: REFRESH рабочий стол и проводник (xp pro, в файл.vbs)
Привет, я новичок с Excel VB. с попыткой файла.vbs, вероятно, потребуется рабочий пример, спасибо. (пытаясь заставить межстрочный интервал работать здесь..)
У меня есть файл.vbs, который я вставляю прямо на рабочий стол, чтобы переключить настройки для скрытия расширений имен файлов, которые действительно работают. Он не обновляет рабочий стол и проводник (при первом щелчке файла), так же, как если бы он был установлен вручную (как показано ниже). Мне нужна помощь с обновлением.
у меня есть пример файла.vbs, используя:
РУЧНАЯ НАСТРОЙКА: (скрытого расширения: вы получаете 1 бесплатное обновление рабочего стола и проводника)
проводник, инструменты, параметры, вид, флажок для: скрыть расширения для известных типов файлов (этот элемент автоматически обновляет рабочий стол и проводник Windows).
Я хотел бы включить это в свой сценарий. та же самая основная идея: мой сценарий к текстовому файлу / .vbs, так что я могу щелкнуть на моем рабочем столе (как переключатель, т. е. 1 клик включает его, следующий клик выключает его, понял, что он работает), мне нужно добавьте к нему, чтобы вызвать обновление, аналогичное или эквивалентное для обоих: рабочий стол и проводник).
вставьте следующее в текстовый файл (или эквивалент, который даст тот же результат):
FileExt = "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\HideFileExt"
Set Sh = WScript.CreateObject("WScript.Shell")
St = Sh.RegRead(FileExt)
If St = 1 Then
Sh.RegWrite FileExt, 0, "REG_DWORD"
Else
Sh.RegWrite FileExt, 1, "REG_DWORD"
End If
Sh.SendKeys("{F5}")
переименуйте текстовый файл в: HIDE EXT.vbs вместо.txt и вставьте его на рабочий стол.
ЧТО НУЖНО:
то, что мне нужно добавить, это обновление рабочего стола и окна (окон) проводника. так же, как при настройке вручную. F5 здесь, кажется, не работает в первый раз. при 2-м щелчке по файлу, он работает, чтобы отправить представление противоположное тому, для которого фактически отображается состояние.
1 ответ
Надеюсь, что это может помочь:
Вместо
Sh.SendKeys("{F5}")
Попробуйте использовать:
Sh.run "cmd.exe /c taskkill /f /im explorer.exe && start explorer.exe"
Это прекрасно работает со мной. (Я использую XP и Windows Server 2003)
Я обнаружил, что клавиша F5 не будет просто работать так же, как на рабочем столе, щелкните правой кнопкой мыши, а затем нажмите кнопку "Обновить". Я сослался на мой код здесь: http://en.kioskea.net/faq/7789-batch-script-to-automatically-reload-explorer-exe
Я был очень счастлив, когда мне удалось обнаружить проблему с этим кодом.
Спустя долгое время я понял, что перед вызовом F5 необходимо добавить в скрипт функцию "сна". Так у вас не будет проблем, и щелчок будет работать.
OBS1: Несмотря на это, я не нашел решения по обновлению рабочего стола. Скрипт работает только в активном окне. Если вы запустите его на фоне рабочего стола, он обновит все папки и файлы, иначе он обновит только открытую папку.
OBS2: Пример значения сна -> 1000 = 1 с Вот код:
FileExt = "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\HideFileExt"
Set Sh = WScript.CreateObject("WScript.Shell")
St = Sh.RegRead(FileExt)
If St = 1 Then
Sh.RegWrite FileExt, 0, "REG_DWORD"
wscript.sleep 500
Else
Sh.RegWrite FileExt, 1, "REG_DWORD"
wscript.sleep 500
End If
Sh.SendKeys("{F5}")
Если кто-нибудь знает, как я отправляю F5 на рабочий стол, я был бы признателен. Спасибо