2008-11-17 20 views
7

Estoy buscando una forma de montar/desmontar una unidad flash USB utilizando VBScript. Esto es lo más cerca que pude llegar.Montar/Desmontar unidades USB con VBSCript

Sub EjectDrive(strDrive) 
On Error Resume Next 
CONST SSF_DRIVES = 17 
Set objShell = CreateObject("Shell.Application") 
Set objDrive = objShell.Namespace(SSF_DRIVES).ParseName(strDrive) 
objDrive.InvokeVerb "E&ject" 
End Sub 
+0

También me interesaría esto en C#, si alguien tiene ejemplos de C#. De hecho, probablemente sean bastante similares. –

Respuesta

2

Esto funcionará en Windows Server 2003, pero no en NT/2000/XP/Vista, lamentablemente.

strComputer = "." 
Set objWMIService = GetObject("winmgmts:" _ 
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") 

Set colItems = objWMIService.ExecQuery _ 
    ("Select * From Win32_Volume Where Name = 'E:\\'") 

For Each objItem in colItems 
    objItem.Dismount(True, True) 
Next 

De Dismount a Volume.

0

Puede abrir el cuadro de diálogo de expulsión utilizando algo como esto. No estoy seguro de si es posible desmontar un dispositivo específico.

Set WshShell = WScript.CreateObject("WScript.Shell") 
intReturn = WshShell.Run("RunDll32.exe shell32.dll,Control_RunDLL hotplug.dll", 1, TRUE) 
Cuestiones relacionadas