Открытие диалогового окна «Свойства моих документов» вручную

2049
the3seashells

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

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

1

6 ответов на вопрос

1
Snark

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

WinActivate("[CLASS:Progman]", "") Send("My Documents") Send("+") Send("") Send("") 

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

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

Не у всех есть значок на рабочем столе, хотя: \ John T 14 лет назад 0
Я знаю, не знаю, является ли это возможным требованием или если нужно найти способ, который не требует значка «Мои документы» на рабочем столе ... Snark 14 лет назад 0
При необходимости я могу написать скрипт AutoHotKey, который открывает меню «Пуск» и отправлять нажатия клавиш, чтобы открыть «Свойства моих документов», но я надеялся найти способ открыть окно вручную. the3seashells 14 лет назад 0
0
William Hilsum

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

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

Моя цель - изменить папку, связанную с папкой «Мои документы», на другую папку, но без перемещения файлов. По умолчанию «Мои документы» указывают на C: \ Documents and Settings \ ИМЯ ПОЛЬЗОВАТЕЛЯ \ Мои документы, но я хочу переназначить «Мои документы» на флэш-диск. Я видел записи реестра, но те требуют перезагрузки, тогда как использование встроенного «Переместить» из диалогового окна работает мгновенно. the3seashells 14 лет назад 0
0
John T

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

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

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

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

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

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

Спасибо за подробный ответ. Я понимаю, как переместить место назначения папки, и я пытаюсь понять, как автоматизировать шаг «Щелкните правой кнопкой мыши на Мои документы и перейдите в свойства». Я пытаюсь отобразить это диалоговое окно из командной строки / командной строки. the3seashells 14 лет назад 0
Когда вы нажмете «Применить», появится всплывающее сообщение с вопросом, хотите ли вы переместить существующие файлы в новое место. Просто сказать нет". Ganesh R. 14 лет назад 0
Что касается перезагрузки в случае записей реестра, я думаю, что перезагрузка требуется для проводника, чтобы получить новые значения. Вы пробовали сделать записи в реестре -> crash explorer -> start explorer. Просто мысль. Ganesh R. 14 лет назад 0
0
Will Eddins

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

explorer.exe ::

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

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

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

Я не знаю, как это сделать 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 () не позволяет сценарию немедленно выйти и (!) Убить окно свойств.

Спасибо, что нашли время, чтобы написать это. Это решение подходит очень близко, но вместо того, чтобы открывать собственное окно «Свойства моих документов» (см. Снимок экрана Джона Т. ниже), оно открывает только стандартное окно свойств папки. the3seashells 14 лет назад 0
0
Joshua

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

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

Похожие вопросы