Page 1 of 1

Deaktivierung von CD/DVD Laufwerken (Windows XP deutsch)

Posted: 29. May 2008, 15:40
by HaPe Jehle
Die eigentliche Deaktivierung des CD/DVD-Laufwerks geschieht über folgende AutoIt-Routine, deren resultierende 'EXE' einfach in der Setup.inf aufgerufen wird.

;
; AutoIt Version: 3.0
; Language: English
; Platform: WinNT/XP
; Author: HaPe Jehle
;
; Script Function:
; Deaktivierung CD/DVD
;

BlockInput(1)


AutoItSetOption("MouseClickDelay", 10) ;10 milliseconds
AutoItSetOption("MouseClickDownDelay",10) ;10 milliseconds
AutoItSetOption("MouseClickDragDelay",250) ;250 milliseconds
AutoItSetOption("MouseCoordMode", 0) ;1=absolute, 0=relative
AutoItSetOption("PixelCoordMode", 0) ;1=absolute, 0=relative
AutoItSetOption("RunErrorsFatal", 1) ;1=fatal, 0=silent error
AutoItSetOption("SendCapslockMode", 1) ;1=store and restore, 0=don't
AutoItSetOption("SendKeyDelay", 10) ;10 milliseconds
AutoItSetOption("SendKeyDownDelay", 10) ;10 milliseconds
AutoItSetOption("TrayIconHide", 0) ;0=show, 1=hide
AutoItSetOption("TrayIconDebug", 0) ;0=no info, 1=debug line info
AutoItSetOption("WinWaitDelay", 250) ;250 milliseconds
AutoItSetOption("WinDetectHiddenText", 0) ;0=don't detect, 1=do detect
AutoItSetOption("WinTitleMatchMode", 1) ;1=start, 2=substr, 3=exact, 4=...


; SAFER VERSION of Double click at 0,500
Dim $primary
Dim $secondary
;Determine if user has swapped right and left mouse buttons
$k = RegRead("HKEY_CURRENT_USER\Control Panel\Mouse", "SwapMouseButtons")

; It's okay to NOT check the success of the RegRead operation
If $k = 1 Then
$primary = "right"
$secondary = "left"
Else ;normal (also case if could not read registry key)
$primary = "left"
$secondary = "right"
EndIf

#include <String.au3>

$cd1 = ""
$cd1_name = ""
$p2 = 0

;-------------------------------------------------------------------------------------
; folgende Schleife kann vereinfacht werden,
; wenn der LW-Buchstabe immer gleich ist.
;-------------------------------------------------------------------------------------
For $a = 68 to 90
$lw = Chr($a)
$reg = RegRead("HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices","\DosDevices\" & $lw & ":")
$wert = ""
$name = ""
For $i = 1 To StringLen($reg)-2 Step 2
$tmp = _HexToString(StringMid($reg,$i,2))
If $tmp <> "" Then
$wert = $wert & $tmp
EndIf
Next
$p1 = StringInStr($wert, "#")+1
$type = StringMid($wert, $p1, 5)
If $type = "CdRom" Then
$p2 = StringInStr($wert, "__")
If $p2 > 6 Then
$name = StringMid($wert, $p1+5, $p2-($p1+5))
$name = StringReplace($name,"_"," ")
EndIf
EndIf
$p2 = 0
Next
;-------------------------------------------------------------------------------------
; Schleifenende
;-------------------------------------------------------------------------------------

Run("rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl,,2")

WinWaitActive("Systemeigenschaften", "Geräte-Manager",10)
While WinExists("Systemeigenschaften", "Geräte-Manager")
WinActivate("Systemeigenschaften", "Geräte-Manager")
Send("!g")
WinWaitActive("Geräte-Manager")
$e = 0
While WinExists("Geräte-Manager")
WinActivate("Geräte-Manager")
Send("{TAB}")
WinActivate("Geräte-Manager")
Send("DVD")
WinActivate("Geräte-Manager")
Send("{RIGHT}")
WinActivate("Geräte-Manager")
Send("{RIGHT}")
WinActivate("Geräte-Manager")
Send("!tv")

While WinExists("Geräte-Manager")
If WinExists($name, "Wenn Sie dieses Gerät deaktivieren") Then
WinActivate($name, "Wenn Sie dieses Gerät deaktivieren")
WinwaitActive($name, "Wenn Sie dieses Gerät deaktivieren")
Send("!j")
WinClose("Geräte-Manager")
WinClose("Systemeigenschaften", "Geräte-Manager")
$e = 1
EndIf
Wend

If $e = 0 then
Send("!n")
EndIf
WinClose("Geräte-Manager")
WinClose("Systemeigenschaften", "Geräte-Manager")
wend
Wend

BlockInput(0)

Exit

Posted: 16. Jun 2008, 21:56
by Friso
hallo

jetzt mache ich es nicht mehr so wie ich es ihnen vorschlage, da wir jetzt ein tool einsetzen welches die nutzung von cd, dvd, Flopy USB usw unterbindet aber bis dahinn habe ich einfach den dienst des CD Rom auf (4) gesetzt und schon gibt es kein cd oder DVD

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Cdrom, Start, 4

fals manche Rechner noch ein Floppy haben kann man das da genauso machen.