link
Não tenho certeza se esse método pode ser adaptado a dispositivos não USB. Unidades de disco devem aparecer sob HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Enum \ IDE .
This can be achieved by modifying a registry value. So far I had no time writing a little tool for this...
Devices are shown there if they are marked as removable and if they do no have the 'surprise removal ok' flag. These are bit coded flags:
From cfgmgr32.h:
The device capabilities are found in the registry in a value named 'Capabilities' under (sample for one of my USB flash drives): HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB\Vid_058f&Pid_63318F091111B
If you take away 4 from the value or add 80h and then refresh the save removal dialog by toggeling the checkbox, then the drive is gone. But the value is reset when you attach the drive for the next time. This is hard coded into the driver and read each time the drive is loaded. If you export the modified value an reg file then you can silently load it on startup by regedit /s hidecardreader.reg
The device id string of your card reader (this Vid_058f&Pid_63318F091111B thing) is found in the properties of the USB device in the device manager. My ListUsbDrives tool shows it too (the 'Ctrl DevID'): http://www.uwe-sieber.de/files/listusbdrives.zip