| |
|
|
| |
|
| |
|
|
|
| Mit einer nativen Behelfsfunktion kann man sich den Laufwerksbuchstaben auch als UserMessage zustellen lassen. KompilierenMarkierenSeparieren {$cleq}
windowstyle 1 | 2 | 4 | 8 | 512
cls
userMessages wm_close,wm_user+wm_deviceChange
hWnd.SubClass.wm_deviceChange.toUserMessage(1,0,0,0)//"service" einschalten
While 1
WaitInput
select uMessage
caseof 16 : break
caseof wm_user+wm_deviceChange : print "Laufwerksbuchstabe:"+chr$(ulParam+64)
endSelect
Wend
hWnd.SubClass.wm_deviceChange.toUserMessage(0,0,0,0)//"service" ausschalten
End
nProc hWnd.SubClass.wm_deviceChange.toUserMessage(long a,b,c,d)
long owp=getWindowLong(hWnd,gwl_userData)
if b=0 and c=0 and d=0
if a=1
return setWindowLong(hWnd,gwl_userData,setWindowLong(hWnd,gwl_wndProc,procaddr(hWnd.SubClass.wm_deviceChange.toUserMessage,4)))
elseif a=0
return setWindowLong(hWnd,gwl_wndProc,owp)
endif
else
if a=-1
whileLoop 0,25
if testbit(b,loop)
a=loop+1
break
endif
wend
return a
endif
if b=wm_deviceChange and c=$8000// dbt_deviceArrival
case long(d,4)=2 : sendMessage(hWnd,wm_user+wm_deviceChange,,hWnd.SubClass.wm_deviceChange.toUserMessage(-1,long(d,12),0,0))// dbt_devTyp_volume
endif
return callWindowProc(owp,a,b,c,d)
endif
endproc
|
|
|
| |
|
|
|
Detlef Tussing | ausser einem weißem Fenster seh ich nichts
ist das so gewollt? |
|
|
| |
|
|
|
| Ja, aber wenn Du ein USB-Gerät ansteckst und Windows dafür ein Wechseldatenträgerlaufwerk erzeugt, dann wird dies gemeldet und das Laufwerk von obigem Code angezeigt. |
|
|
| |
|
|
|
Detlef Tussing | Bei
userMessages 16//wm_close = Fehlermeldung Division durch 0 subClass %hWnd,1 = Fehlermeldung subClass unbekannter Befehl
meckert er schon
da ich mich mit diesem Thema noch nicht beschäftigt habe, es aber sehr interessant finde würde ich mit etwas Hilfe vieleicht etwas mehr über den USB-Stick herausfinden. |
|
|
| |
|
|
|
| Der von mir gepostete Code ist XProfan11-Code, ldr. nicht kompatibel mit XProfan 10.
userMessages 16//wm_close wäre dann userMessages 16 //wm_close
Hier wird // von XProfan10 nicht als REM erkannt (was aber auch nur auffällt, wenn man keinen XPSE vorgeschaltet hat, andernfalls stehen alle Rem-Varianten zur Verfügung).
>> subClass %hWnd,1 = Fehlermeldung subClass unbekannter Befehl subClass %hWnd,1
Der Befehl SubClass existiert ab XProfan 11 - Du könntest imho aber den 2. Code (hier in diesem Thread) nutzen (der mit der NProc) welcher rein als UserMessage weiterleitet - ich persönlich würde auch nur mit diesem 2. Code arbeiten da er "verlustfrei" arbeitet im Gegensatz zur SubClass-Befehl-Variante. |
|
|
| |
|
|