Hi,
On_WM_DROPFILES funktioniert nicht mit #RequireAdmin.
Ich starte das folgende Skript über den Explorer.
Nun kann ich eine Datei auf das ListView ziehen.
Es erscheint eine msgbox.
Aktiviere ich #RequireAdmin funktioniert es nicht mehr.
Es kommt keine Fehlermeldung.
Was muß man das ändern damit es läuft?
C
#Region ;************ Includes ************
#include <WindowsConstants.au3>
#include <ListViewConstants.au3>
#include <GUIConstantsEx.au3>
#include <WinAPISysWin.au3>
#EndRegion ;************ Includes ************
;~ #RequireAdmin
Opt("GUIOnEventMode", 1) ; 0=ausgeschaltet, 1=OnEvent Modus aktiviert
Global $hGui_haupt = GUICreate("Test", 300, 300, 0, 0, -1, $WS_EX_ACCEPTFILES)
Global $idListview_bilder = GUICtrlCreateListView("Test", 10, 10, 200, 200, BitOR($LVS_SHOWSELALWAYS, $LVS_NOSORTHEADER), BitOR($LVS_EX_DOUBLEBUFFER, $WS_EX_CLIENTEDGE))
;mehrere Dateien auf die GUI ziehen und so einlesen
GUIRegisterMsg($WM_DROPFILES, "On_WM_DROPFILES")
GUISetState(@SW_SHOW, $hGui_haupt)
GUISetOnEvent($GUI_EVENT_CLOSE, "_beenden")
;********************************************************
; Dateien aus dem Explorer auf die GUI ziehen *
;********************************************************
Func On_WM_DROPFILES($hWnd, $msg, $wParam, $lParam)
Local $aFileList, $nSize, $pFileName, $tPoint, $hCtrl
$tPoint = _WinAPI_DragQueryPoint($wParam)
If Not DllStructGetSize($tPoint) Then Return ;window border
$hCtrl = _WinAPI_ChildWindowFromPointEx($hWnd, $tPoint)
If $hCtrl = ControlGetHandle($hGui_haupt, "", $idListview_bilder) Then ;ListView
$aFileList = _WinAPI_DragQueryFileEx($wParam)
If Not @error Then MsgBox(0, 0, 0)
_WinAPI_DragFinish($wParam)
_WinAPI_MessageBeep(0) ;Ton erzeugen
EndIf
Return
EndFunc ;==>On_WM_DROPFILES
Func _beenden()
Exit
EndFunc ;==>_beenden
While 1
Sleep(10)
WEnd
Alles anzeigen