回复 9# superflq
这样可以么?我这里可以#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#RequireAdmin
DllCall('User32.dll', 'BOOL', 'ChangeWindowMessageFilter', 'UINT', 0x0233, 'DWORD', 1)
DllCall('User32.dll', 'BOOL', 'ChangeWindowMessageFilter', 'UINT', 0x0049, 'DWORD', 1)
Example()
Func Example()
; 创建一个 GUI 及其各种控件.
Local $hGUI = GUICreate("内置函数示例", 420, 200, -1, -1, -1, $WS_EX_ACCEPTFILES)
; 创建一个文本标签. 并设置其状态为接受拖放.
Local $idLabel = GUICtrlCreateLabel("拖放文件到此标签.", 10, 10, 400, 40, $WS_BORDER)
GUICtrlSetState($idLabel, $GUI_DROPACCEPTED)
; 创建一个输入框. 并设置其状态为接受拖放.
Local $idInput = GUICtrlCreateInput("", 10, 60, 400, 22)
GUICtrlSetState($idInput, $GUI_DROPACCEPTED)
Local $idOK = GUICtrlCreateButton("确定", 310, 170, 85, 25)
; 显示 GUI.
GUISetState(@SW_SHOW, $hGUI)
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE, $idOK
ExitLoop
Case $GUI_EVENT_DROPPED
; 如果 @GUI_DropId = $iLabel, 则设置文本标签接受拖放文件.
If @GUI_DropId = $idLabel Then GUICtrlSetData($idLabel, @GUI_DragFile)
EndSwitch
WEnd
; 删除先前创建的 GUI 和所有控件.
GUIDelete($hGUI)
EndFunc ;==>Example
|