Как из программы отключить флэш-диск

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Chuvak
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 102
Зарегистрирован: 11.03.2003 (Вт) 8:39
Откуда: Russia, Ozёrsk

Как из программы отключить флэш-диск

Сообщение Chuvak » 29.04.2005 (Пт) 12:41

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

Oxygen
Белая и пушистая
Белая и пушистая
Аватара пользователя
 
Сообщения: 1314
Зарегистрирован: 15.07.2003 (Вт) 7:14
Откуда: Москва

Сообщение Oxygen » 29.04.2005 (Пт) 12:47

Может быть тебе поможет WinAPI или поссмотри какая прграмма вызивается для отключения и помудри с параметрами. У меня временно отключен USB порт, посему проверить не смогу.
Процедура клонирования завершена.
Коррекция имплантированного сознания соответствует принятым алгоритмам.
Уникальный идентификатор скопирован в чип временного паспорта.
Активация прав гражданина ожидается в течение 24 часов

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 29.04.2005 (Пт) 12:51

Копать советую в сторону WMI. Сейчас гляжу в MSDN, присоединяйтесь ;)

Oxygen
Белая и пушистая
Белая и пушистая
Аватара пользователя
 
Сообщения: 1314
Зарегистрирован: 15.07.2003 (Вт) 7:14
Откуда: Москва

Сообщение Oxygen » 29.04.2005 (Пт) 12:53

С большим удовольствием присоединилась бы, но диски с MSDN временно отдала попользоваться другу.
Процедура клонирования завершена.
Коррекция имплантированного сознания соответствует принятым алгоритмам.
Уникальный идентификатор скопирован в чип временного паспорта.
Активация прав гражданина ожидается в течение 24 часов

Chuvak
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 102
Зарегистрирован: 11.03.2003 (Вт) 8:39
Откуда: Russia, Ozёrsk

Сообщение Chuvak » 29.04.2005 (Пт) 12:58

Спасибо за активность! Не ожидал... Очень рад.
По поводу WinAPI - копал я там. Вот только результата ноль... По крайней мере пока. Ну и про WMI - такая же история. Я благодарен за любую информацию, но пожалуйста, если сможете, дайте чего-нибудь конкретного... :(

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 29.04.2005 (Пт) 12:58

msdn.microsoft.com/library
:?

Oxygen
Белая и пушистая
Белая и пушистая
Аватара пользователя
 
Сообщения: 1314
Зарегистрирован: 15.07.2003 (Вт) 7:14
Откуда: Москва

Сообщение Oxygen » 29.04.2005 (Пт) 13:01

Это конечно хорошо, но при диалапе на 19 с копейками несколько проблематично..... :(
Процедура клонирования завершена.
Коррекция имплантированного сознания соответствует принятым алгоритмам.
Уникальный идентификатор скопирован в чип временного паспорта.
Активация прав гражданина ожидается в течение 24 часов

Oxygen
Белая и пушистая
Белая и пушистая
Аватара пользователя
 
Сообщения: 1314
Зарегистрирован: 15.07.2003 (Вт) 7:14
Откуда: Москва

Сообщение Oxygen » 29.04.2005 (Пт) 13:51

Драйвер, который отвечает за работу USB устройств носит имя pid.dll лежит в system32. Вот только что с ним делать - остается загадкой. К проекту на vb у меня он никак не захотел подключаться. Может кто-нибудь придумает, что с ним делать, но у меня на это не хватает мозгов.
Процедура клонирования завершена.
Коррекция имплантированного сознания соответствует принятым алгоритмам.
Уникальный идентификатор скопирован в чип временного паспорта.
Активация прав гражданина ожидается в течение 24 часов

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 29.04.2005 (Пт) 14:08


Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 29.04.2005 (Пт) 14:11


Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 29.04.2005 (Пт) 14:15

...determine what kind of device is plugged into a USB port? Use the Win32_USBHub class and check the Description property. This property may have a value such as " Mass Storage Device" or "Printing Support".

Код: Выделить всё
strComputer = "."
Set objWMIService = GetObject(_
    "winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery( _
    "Select * from Win32_USBHub")
For Each objItem in colItems
    Wscript.Echo "Device ID: " & objItem.DeviceID
    Wscript.Echo "PNP Device ID: " _
        & objItem.PNPDeviceID
    Wscript.Echo "Description: " _
        & objItem.Description
    Wscript.Echo
Next


Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 29.04.2005 (Пт) 14:22

а это , чтобы добить:

http://benoit.papillault.free.fr/usbsnoop/

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 29.04.2005 (Пт) 14:37

а это на закуску:

Код: Выделить всё
'Script for Win32_USBController WMI Class
'Generated using 'WMI Win32 Class Autoscript Generator' - Developed by Karthikeyan
'Homepage: http://www.geocities.com/marskarthik

On Error Resume Next
Computer = "."
Set OutFile = CreateObject("WScript.Shell")
Const ForAppending = 2
Set FileSystem = CreateObject("Scripting.FileSystemObject")
Set TextFile = FileSystem.OpenTextFile ("c:\temp\Win32_USBController.txt", ForAppending, True)
TextFile.WriteLine "Script for Win32_USBController Class by Karthikeyan"
TextFile.WriteLine
Set WMIService = GetObject("winmgmts:\\" & Computer & "\root\cimv2")
Set Items = WMIService.ExecQuery("Select * from Win32_USBController",,48)
For Each SubItems in Items
TextFile.WriteLine "********************************************************************"
    TextFile.WriteLine "Availability: " & SubItems.Availability
    TextFile.WriteLine "Caption: " & SubItems.Caption
    TextFile.WriteLine "ConfigManagerErrorCode: " & SubItems.ConfigManagerErrorCode
    TextFile.WriteLine "ConfigManagerUserConfig: " & SubItems.ConfigManagerUserConfig
    TextFile.WriteLine "CreationClassName: " & SubItems.CreationClassName
    TextFile.WriteLine "Description: " & SubItems.Description
    TextFile.WriteLine "DeviceID: " & SubItems.DeviceID
    TextFile.WriteLine "ErrorCleared: " & SubItems.ErrorCleared
    TextFile.WriteLine "ErrorDescription: " & SubItems.ErrorDescription
    TextFile.WriteLine "InstallDate: " & SubItems.InstallDate
    TextFile.WriteLine "LastErrorCode: " & SubItems.LastErrorCode
    TextFile.WriteLine "Manufacturer: " & SubItems.Manufacturer
    TextFile.WriteLine "MaxNumberControlled: " & SubItems.MaxNumberControlled
    TextFile.WriteLine "Name: " & SubItems.Name
    TextFile.WriteLine "PNPDeviceID: " & SubItems.PNPDeviceID
    TextFile.WriteLine "PowerManagementCapabilities: " & SubItems.PowerManagementCapabilities
    TextFile.WriteLine "PowerManagementSupported: " & SubItems.PowerManagementSupported
    TextFile.WriteLine "ProtocolSupported: " & SubItems.ProtocolSupported
    TextFile.WriteLine "Status: " & SubItems.Status
    TextFile.WriteLine "StatusInfo: " & SubItems.StatusInfo
    TextFile.WriteLine "SystemCreationClassName: " & SubItems.SystemCreationClassName
    TextFile.WriteLine "SystemName: " & SubItems.SystemName
    TextFile.WriteLine "TimeOfLastReset: " & SubItems.TimeOfLastReset
TextFile.WriteLine "********************************************************************"
Next
TextFile.Close
OutFile.Run "notepad.exe c:\temp\Win32_USBController.txt",1,True

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 29.04.2005 (Пт) 15:19

Win32_Volume.Dismount
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 29.04.2005 (Пт) 15:39

Sebas
точно подмечено, спасибо

Chuvak
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 102
Зарегистрирован: 11.03.2003 (Вт) 8:39
Откуда: Russia, Ozёrsk

Сообщение Chuvak » 03.05.2005 (Вт) 5:37

Всем учавствовавшим в форуме - ОГРОМНОЕ ПРЕОГРОМНОЕ СПАСИБО!! Информации много, - ток что пойду разгребать... Если удасться - напишу код. Если нет, то понятно не напишу... Если кто напишет и не жалко, то выкладывайте свой код. Еще раз спасибо всем!


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex-бот и гости: 139

    TopList