А каким образом можно вызвать тот диалог, который отображается при щёлканье по иконке в трее или аналогичный ему по функциональности родной windows-диалог?
Считал, что приведённое решение эквивалентно клику по иконке в трее, оказалось, что это совсем не так. Если через трей устройство (USB-док-станция HDD) извлекается без вопросов, то через диалог, вызванный указанной кнопкой, - ни-ни - "devise is not removable, я такое извлекать ни хАчу и ни буду!".
Похоже мой вопрос не имеет ответа.
Погуглил, в том числе и по сайту Майкрософта - вопрос несколько раз поднимался, но решения так и не было предложено.
LonerD
Когда прочитал, первая мысль - это не диалог, а всплывающее меню. Какие ты знаешь вспл. меню, которые вызываются нативной комстрокой? Я таких не знаю.
Поэтому логичным вариантом было обратиться на скриптофорумы AutoIt/AHK. Я видел вариации по теме работы с ОУ. Подразумеваю, что решение где-то имеет место быть.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
LonerD
Тот диалог, по моему, ещё менее удобно использовать, кликать больше придётся.
Я использую прогу RemoveDrive (http://www.uwe-sieber.de/drivetools_e.html) и к ней вот такой скриптик:
Отлично извлекает и флешки, и USB-HDD, и даже выдвигает CD-ROM. К тому же скрипт предварительно переключается на C: в панелях, где открыта флешка, поэтому извлечение обычно мгновенное.
kIT Programs PowerPack, kIT Universal Presets | Есть только одна истинная вера: чёрная магия...
ApceH
Несколько неуместный пример. Во-первых, RemoveDrive (о котором LonerD, разумеется, прекрасно знает) тут не раз обсуждалась, а во-вторых, меню выбора на то и нужно, чтобы выбирать определённое устройство для отключения, к тому же есть всплывающие окна результатов без всяких консолей.
Привязка к ТС в скрипте - явное излишество. Я бы, конечно, такой ерундой скрипты не нагружал, коль они и так в папке ТС и понятно, откуда будут запускаться. Кстати, зачем там задержка тоже неясно.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
TViP писал(а):Немного переделал скрипт от Skole под RemoveDrive v2.1
По сравнению с другими утилитами для безопасного извлечения у этой большое преимущество в том что она может показывать какой процесс в данный момент блокирует USB устройство...
После запуска окошко с предложением отключить флешку, а потом ошибка
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
' Отключить запоминающие USB-устройства
'================ Путь к утилите RemoveDrive ================
RD = """%COMMANDER_PATH%\Utils\RemoveDrive\RemoveDrive.exe"""
'============================================================
Dim WSH : Set WSH = CreateObject("WScript.Shell")
For Each Disk In GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")._
ExecQuery("SELECT Caption, PNPDeviceID FROM Win32_DiskDrive WHERE InterfaceType = 'USB' AND Partitions = 1")
If MsgBox("Отключить " & Disk.Caption & " ?", 36, Space(20) & "Безопасное извлечение") = 6 Then _
WSH.Run RD & " " & Disk.PNPDeviceID & " -i -h -l -b -w:2000", 2, True
Next : Set WSH = Nothing : WScript.Quit
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Извиняюсь, сначала не понял что нужно. Я не указал скрипт, про который спрашиваю. Вот этот - http://forum.wincmd.ru/viewpost.php?p=78370
Спасибо Вам, Flasher
Скопировал Ваш код, сохранил с расширением VBS, запускаю, ошибка. Что я делаю не так? Прошу простить меня за несообразительность.
Исходный пост, надо полагать, этот, а не последующий.
angry_dog писал(а):запускаю, ошибка
Неужели не бросается в глаза кусок с формой "Путь к утилите RemoveDrive"? Логично, что путь должен соответствовать реальному расположению программы.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.