Hi,
wie ich soeben zufällig entdeckt habe, funktioniert folgendes Skript nur, wenn man auch eine GUI hat.
Geht dies irgendwie auch ohn GUI?
Es geht mir um die MY_WM_DEVICECHANGE Funktion durch die erkannt wird, wenn ein Laufwerk angeschlossen bzw. entfernt wird.
Spoiler anzeigen
#Region ;************ Includes ************
#include <WindowsConstants.au3>
#include <GUIConstantsEx.au3>
#EndRegion ;************ Includes ************
;Deklarierung MY_WM_DEVICECHANGE (Laufwerk hinzu oder entfernt)
Global Const $DBT_DEVICEARRIVAL = 0x8000 ; A device or piece of media has been inserted and is now available.
Global Const $DBT_DEVICEREMOVECOMPLETE = 0x8004 ; A device or piece of media has been removed.
;~ GUICreate(100, 100, 100) ;warum ist GUICreate notwendig???
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]GUIRegisterMsg($WM_DEVICECHANGE, 'MY_WM_DEVICECHANGE') ;Laufwerk hinzu oder entfernt
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]While 1
Sleep(10)
WEnd
Func MY_WM_DEVICECHANGE($hWnd, $Msg, $wParam, $lParam)
#forceref $hWnd, $Msg, $lParam
Switch $wParam
Case $DBT_DEVICEARRIVAL ;Laufwerk hinzu
MsgBox(0,0,0)
Case $DBT_DEVICEREMOVECOMPLETE ;Laufwerk entfernt
MsgBox(0,0,0)
EndSwitch
Return $GUI_RUNDEFMSG
EndFunc ;==>MY_WM_DEVICECHANGE