[Vista]Shortcut om USB device te disablen/enablen

Pagina: 1
Acties:
  • 152 views sinds 30-01-2008
  • Reageer

  • Palomar
  • Registratie: Februari 2000
  • Niet online
Ik heb een interne cardreader in mn PC die een aantal stationletters aanmaakt. Ook staat er door die (usb) cardreader telkens een icoontje in de systray (safely remove hardware). Omdat ik het ding meestal niet gebruik stoor ik me hieraan. Als ik in device manager het betreffende 'mass storage device' disable dan zijn die stationsletters en het systray icoontje weg. Precies wat ik wil.

Nu zoek ik echter een manier om dit met een shortcut of hotkey te kunnen doen. Dat gaat wat sneller dan eerst allemaal menuutjes aan te klikken. Default zal ik hem dan op disabled hebben staan, en als ik de cardreader wil gebruiken wil ik dmv een toetscombinatie/shortcut het apparaat enablen en weer disablen als ik hem niet meer gebruik.

Ik heb het progje AutoHotKey geprobeerd, maar dat lijkt me nogal ingewikkeld. Volgens mij moet dit heel simpel kunnen door een commando als 'rundll32.exe /enabledevice:usb002' (oid ;)). Heeft iemand een idee hoe ik bovenstaand eenvoudig kan bewerkstelligen?

[ Voor 5% gewijzigd door Palomar op 02-07-2007 01:39 ]


  • Room42
  • Registratie: September 2001
  • Niet online
Hmmm... misschien heb ik een betere oplossing voor het drive-letter probleem. Je kunt namelijk schijven ook in lege mappen "mounten" (net zoals in Linux). Daarvoor maak je een lege map aan (bijvoorbeeld "Kaartlezer") ergens op schijf en kun je via de Disk Management de schijfletter aanpassen. Deze kun je echter ook verwijderen en een mountpoint aanwijzen op een NTFS-schijf. Op die manier gebruikt ie dus geen schijfletter. Wel houd je dat icoontje in de tray, maar die kun je op automatisch verbergen zetten, natuurlijk.

*Disclaimer: Ik baseerde mijn terminologie trouwens op XP Pro.

Lekker aan het fotograferen? 📸
Check mijn V&A voor een upgrade!


  • Palomar
  • Registratie: Februari 2000
  • Niet online
Thnx, das wel een goed idee idd. Zal er es mee gaan experimenteren.

Overigens vond ik nog een handig tooltje genaamd Devcon (The DevCon command-line utility functions as an alternative to Device Manager). Daarmee kun je via de command line een commando geven om een bepaalde hardware (oa.) te disablen of enablen adhv. het deviceID. Ik krijg het alleen niet voor elkaar. Krijg aldoor 'Disable failed', maar ik heb vermoedens dat dat komt omdat het tooltje gewoon niet compatible is met Vista. Iemand hier ideeen over?

  • Room42
  • Registratie: September 2001
  • Niet online
Palomar schreef op maandag 02 juli 2007 @ 02:03:
[...] maar ik heb vermoedens dat dat komt omdat het tooltje gewoon niet compatible is met Vista.
You can use DevCon with Microsoft Windows 2000, Windows XP, and Windows Server 2003. You cannot use DevCon with Windows 95, Windows 98, or Windows Millennium Edition.
Ik vermoed het ook ;)

Lekker aan het fotograferen? 📸
Check mijn V&A voor een upgrade!


  • Palomar
  • Registratie: Februari 2000
  • Niet online
hehe, had ik gezien hoor, maar je weet maar nooit.

Maar... ik heb es even wat windows cd's doorgebladerd en op de Windows XP x64 CD stond de x64-versie tussen de support-tools en die werkt wel :) Met het commando 'devcon disable *USB\VID_058F*' zet ik hem uit en verdwijnen de stationletters en het icoontje in de systray. Met devcon enable *USB\VID_058F* gaat ie weer aan :)

  • Palomar
  • Registratie: Februari 2000
  • Niet online
Nog een vraagje waar ik niet direct een nieuw topic voor wil starten. Bovenstaand werkt nu, alleen wil ik 1 batch-bestandje maken die checkt wat de status is en dan de status 'togglet'. Ik heb nu dit:

[code]
devcon status USB\VID_058F*|find "running"
if errorlevel 1 devcon enable USB\VID_058F*
if errorlevel 0 devcon disable USB\VID_058F*
[/code]

of dit:

[code]
devcon status USB\VID_058F*|find "running"
if errorlevel 1 devcon enable USB\VID_058F*
devcon status USB\VID_058F*|find "running"
if errorlevel 1 devcon disable USB\VID_058F*
[/code]


maar hij blijft aldoor eerst enablen en dan direct weer disablen (regel 2 en 3 worden dus allebei uitgevoerd).

De output van het commando ziet er overigens zo uit:
code:
1
2
3
4
5
C:\Program Files\Support Tools>devcon status USB\VID_058F*
USB\VID_058F&PID_6362\058F312D81B
    Name: USB Mass Storage Device
    Device is disabled.
1 matching device(s) found.

De laatste regel kan ofwel 'Device is disabled' zijn of 'Device is running'.

[edit]
Kwam met google nog een ander voorbeeld tegen en na wat aangepast te hebben werkt het nu wel:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
@echo off
devcon status USB\VID_058F*|find "running"
if errorlevel 1 goto :ENABLE
if errorlevel 0 goto :DISABLE

:ENABLE
echo ENABLING
@devcon enable USB\VID_058F* 
exit

:DISABLE
echo ENABLING
@devcon disable USB\VID_058F* 
exit

[ Voor 30% gewijzigd door Palomar op 02-07-2007 10:47 ]

Pagina: 1