1

В WinXP SP3, возможно ли открыть диалоговое окно "Свойства моих документов" из командной строки? Диалоговое окно, на которое я ссылаюсь, - это диалоговое окно, которое открывается, когда вы щелкаете правой кнопкой мыши по папке "Мои документы" и открываете свойства.

Я искал способ сделать это без успеха. Этот файл: % windir%\system32\mydocs.dll содержит диалоговое окно, но я не могу понять, как загрузить его из командной строки.

6 ответов6

1

При условии, что на рабочем столе отображается значок "Мои документы", этот скрипт AutoIt должен выполнить свою задачу:

WinActivate("[CLASS:Progman]", "")
Send("My Documents")
Send("+{F10}")
Send("{UP}")
Send("{ENTER}")

Сначала он выбирает рабочий стол, затем выбирает значок "Мои документы". Он отправляет SHIFT-F10, ярлык для "щелчка правой кнопкой мыши". Клавиша ВВЕРХ выбирает последний пункт меню (пункт "Свойства" для "Мои документы") и нажимает клавишу ВВОД, чтобы открыть его.

Протестировал его на Windows 7 RTM English, за исключением того, что я заменил "Мои документы" на "Корзину" для тестирования, так как в Windows 7 нет "Мои документы". У меня нет XP, чтобы проверить это, к сожалению. Я не уверен на 100% насчет записи "CLASS:Progman", хотя это старое наследие и должно быть то же самое для XP.

0

Я только что проверил rundll32 на указанном вами пути, и мне не повезло.

Я не думаю, что вы можете сделать это из командной строки. Если вы говорите, чего именно вы пытаетесь достичь, я или кто-то еще можем порекомендовать альтернативный способ сделать это (с помощью ключей реестра или других команд и т.д.)

0

Прочитав ваш комментарий по поводу решения Уилла, вы можете переместить цель «Мои документы» следующим образом:

  • Щелкните правой кнопкой мыши Мои документы и перейдите к свойствам:

    альтернативный текст

  • Нажмите "Переместить" и выберите новое место для хранения документов:

    альтернативный текст

  • Применить и ОК

0

До сих пор я не смог найти метод для автоматизации этой задачи. В качестве руководства к тому, к чему я стремился, возможно, чтобы помочь вам в поиске, следующая команда в командной строке откроет Мои документы:

explorer.exe ::{450D8FBA-AD25-11D0-98A8-0800361B1103}

Путь здесь - это CLSID, и список таких идентификаторов можно посмотреть здесь. Учитывая эту информацию, если вы сможете найти, как на нее ссылается CLSID, вы можете изменить его таким образом.

Если у вас уже есть метод реестра для изменения папки, требующий перезагрузки, вы должны иметь возможность перезапустить проводник программным способом, чтобы получить тот же эффект:

taskkill /F /IM explorer.exe
explorer.exe
0

Я не знаю, как сделать perl -e '...' с VBScript, (и нет никаких гарантий в отношении стиля или идиома со следующим), но вы можете вызвать этот сценарий из командной строки:

set shell = CreateObject("Wscript.Shell")
set app = CreateObject("Shell.Application")
app.namespace(0).parsename(shell.RegRead("HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell 

Folders\Personal")).invokeVerb("P&roperties")
MsgBox("Click OK")

Последний MsgBox() удерживает скрипт от немедленного выхода и (!) убивая окно свойств.

0

Глядя на ответы и ваши комментарии, знаете ли вы, что вы можете просто перетащить свою папку из старого места в новое? Нет всплывающих диалоговых окон или чего-то еще, и Windows автоматически переназначит все необходимые пути, чтобы ваш профиль пользователя указывал на новое местоположение. (В XP это были папки «Мои документы», «Мои рисунки» и «Моя музыка»).

Кроме того, глядя на экспорт для mydocs.dll, он выглядит как COM DLL без видимых точек входа для использования с rundll32. Конечно, я могу ошибаться по этому поводу.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .