View previous topic :: View next topic |
Author |
Message |
LonerD
Joined: 04 Jan 2011 Posts: 1169 Location: Макеевка
|
(Separately) Posted: Thu Oct 10, 2013 05:05 Post subject: |
|
|
D1P wrote: |
Кнопка, вызывающая диалог отключения USB Flash-накопителей и других подобных устройств.
Code: | TOTALCMD#BAR#DATA
RunDll32.exe
shell32.dll,Control_RunDLL hotplug.dll
hotplug.dll
Извлечение флеш-накопителя
-1 |
Позволяет избежать щёлканья по иконке в трее |
А каким образом можно вызвать тот диалог, который отображается при щёлканье по иконке в трее или аналогичный ему по функциональности родной windows-диалог?
Считал, что приведённое решение эквивалентно клику по иконке в трее, оказалось, что это совсем не так. Если через трей устройство (USB-док-станция HDD) извлекается без вопросов, то через диалог, вызванный указанной кнопкой, - ни-ни - "devise is not removable, я такое извлекать ни хАчу и ни буду!". _________________ Windows 11 | TC DreamLair eternal pre-α |
|
Back to top |
|
|
LonerD
Joined: 04 Jan 2011 Posts: 1169 Location: Макеевка
|
(Separately) Posted: Fri Oct 18, 2013 00:49 Post subject: |
|
|
Похоже мой вопрос не имеет ответа.
Погуглил, в том числе и по сайту Майкрософта - вопрос несколько раз поднимался, но решения так и не было предложено. _________________ Windows 11 | TC DreamLair eternal pre-α |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sat Oct 19, 2013 16:46 Post subject: |
|
|
LonerD
Когда прочитал, первая мысль - это не диалог, а всплывающее меню. Какие ты знаешь вспл. меню, которые вызываются нативной комстрокой? Я таких не знаю.
Поэтому логичным вариантом было обратиться на скриптофорумы AutoIt/AHK. Я видел вариации по теме работы с ОУ. Подразумеваю, что решение где-то имеет место быть. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
ApceH
Joined: 08 Apr 2011 Posts: 316 Location: Димитровград
|
(Separately) Posted: Fri Nov 01, 2013 00:12 Post subject: |
|
|
LonerD
Тот диалог, по моему, ещё менее удобно использовать, кликать больше придётся.
Я использую прогу RemoveDrive (http://www.uwe-sieber.de/drivetools_e.html) и к ней вот такой скриптик:
Code: | var ws = WScript.CreateObject("WScript.Shell");
if (WScript.Arguments.Count() < 2 || WScript.Arguments(0).substring(1, 2) != ':') {
ws.Popup("Скрипт предназначен для запуска из Total Commander!\n\nСкрипт ожидает 2 параметра:\n• путь в текущей панели (можно использовать %P)\n• путь в противоположной панели.",0,"Неправильное использование",16);
WScript.Quit(1);
}
WScript.Sleep(100);
var SourcePath = WScript.Arguments(0);
var TargetPath = WScript.Arguments(1);
if (TargetPath.substring(0,1) == SourcePath.substring(0,1)) TargetPath = "C:\\";
ws.Run("\"" + ws.ExpandEnvironmentStrings("%COMMANDER_EXE%") + "\" /O /S /L=C:\\ /R=\"" + TargetPath + "\"", 7, true);
ws.Run("\"" + ws.ExpandEnvironmentStrings("%COMMANDER_PATH%") + "\\ADDONS\\RemoveDrive.exe\" " + SourcePath.substring(0, 2)+" -l -e -b", 0, false);
|
Ну и на кнопке параметры:
Отлично извлекает и флешки, и USB-HDD, и даже выдвигает CD-ROM. К тому же скрипт предварительно переключается на C: в панелях, где открыта флешка, поэтому извлечение обычно мгновенное. _________________ kIT Programs PowerPack, kIT Universal Presets | Есть только одна истинная вера: чёрная магия... |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sat Nov 02, 2013 03:22 Post subject: |
|
|
ApceH
Несколько неуместный пример. Во-первых, RemoveDrive (о котором LonerD, разумеется, прекрасно знает) тут не раз обсуждалась, а во-вторых, меню выбора на то и нужно, чтобы выбирать определённое устройство для отключения, к тому же есть всплывающие окна результатов без всяких консолей.
Привязка к ТС в скрипте - явное излишество. Я бы, конечно, такой ерундой скрипты не нагружал, коль они и так в папке ТС и понятно, откуда будут запускаться. Кстати, зачем там задержка тоже неясно. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
angry_dog
Joined: 21 Nov 2009 Posts: 143 Location: Питер
|
(Separately) Posted: Mon Mar 10, 2014 13:13 Post subject: |
|
|
TViP wrote: | Немного переделал скрипт от Skole под RemoveDrive v2.1
По сравнению с другими утилитами для безопасного извлечения у этой большое преимущество в том что она может показывать какой процесс в данный момент блокирует USB устройство... |
После запуска окошко с предложением отключить флешку, а потом ошибка
Code: | Windows Script Host
---------------------------
Сценарий: C:\Program Files\Total Commander\REMOVEFLASH\RemoveDrive\скрипт.vbs
Строка: 13
Символ: 7
Ошибка: Не удается найти указанный файл.
Код: 80070002
Источник: (null) |
Подскажите, что исправить? |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Mon Mar 10, 2014 13:47 Post subject: |
|
|
angry_dog
Читаем нижнюю часть памятки. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
angry_dog
Joined: 21 Nov 2009 Posts: 143 Location: Питер
|
(Separately) Posted: Mon Mar 10, 2014 13:59 Post subject: |
|
|
Flasher, прочитал все. Путь исправил на свой.
Ошибка на эту строку указывает
Code: | WSH.Run Exe & objDisk.PNPDeviceID & " -i -h -l -b -w:2000" |
На седьмой символ, а это пробел. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Mon Mar 10, 2014 14:05 Post subject: |
|
|
angry_dog
Прочесть - хорошо, а сделать как написано?
В частности: Quote: | 1) Укажите в новом сообщении на это автору скрипта. Укажите ссылку на нужный пост, если скриптов в топике приведено более одного. |
В общем, пока в исходный пост добавляется ссылка на скрипт, привожу редакцию:
Code: | ' Отключить запоминающие 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) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
angry_dog
Joined: 21 Nov 2009 Posts: 143 Location: Питер
|
(Separately) Posted: Mon Mar 10, 2014 19:04 Post subject: |
|
|
Извиняюсь, сначала не понял что нужно. Я не указал скрипт, про который спрашиваю. Вот этот - http://forum.wincmd.ru/viewpost.php?p=78370
Спасибо Вам, Flasher
Скопировал Ваш код, сохранил с расширением VBS, запускаю, ошибка. Что я делаю не так? Прошу простить меня за несообразительность. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Mon Mar 10, 2014 20:22 Post subject: |
|
|
Исходный пост, надо полагать, этот, а не последующий.
angry_dog wrote: | запускаю, ошибка | Неужели не бросается в глаза кусок с формой "Путь к утилите RemoveDrive"? Логично, что путь должен соответствовать реальному расположению программы. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
angry_dog
Joined: 21 Nov 2009 Posts: 143 Location: Питер
|
(Separately) Posted: Mon Mar 10, 2014 22:42 Post subject: |
|
|
Flasher wrote: | Неужели не бросается в глаза кусок с формой "Путь к утилите RemoveDrive" |
Спасибо Вам, Flasher за помощь и терпение. Забыл поставить в конце пути. Все получилось! Я люблю этот форум! |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|