找回密码
 加入
搜索
查看: 1667|回复: 3

[GUI管理] 请教下各位,WIN10下$GUI_DROPACCEPTED经常失效怎么办?

[复制链接]
发表于 2016-11-26 15:24:06 | 显示全部楼层 |阅读模式
弄了个快捷上传图床FTP的小软件,但是在WIN10下面经常失效,比如在写代码按F5编译的时候,拖放根本不起作用。

以前还好,不过这两天貌似更新了补丁的关系,编译后的EXE业不能拖放了。文件往里面拖放只能听到“咚”的一声。。。

有没有好的解决办法?
;建立窗口
Global $Form1 = GUICreate("FTP图床", 305, 205, $confiPosX, $confiPosY,-1,$WS_EX_ACCEPTFILES)
Global $Group1 = GUICtrlCreateGroup("快到碗里来", 8, 8, 289, 161)
Global $Label1 = GUICtrlCreateLabel("创建新目录", 8, 184, 64, 17)
Global $ComboBox1 = GUICtrlCreateCombo("", 216, 180, 81, 25,BitOR($CBS_DROPDOWN, $CBS_AUTOHSCROLL, $ES_CENTER))
GUICtrlSetData($ComboBox1, "Markdown|Dokuwiki|Link", $defaultCombox)
GUICtrlSetState($Group1,$GUI_DROPACCEPTED)
;Global $Button1 = GUICtrlCreateButton("测试连接", 216, 178, 81, 25)
Global $Input1 = GUICtrlCreateInput("", 80, 180, 129, 21)
GUISetIcon("D:\git\upPicture\upPicture\1.ico", -1)
GUISetFont(-1,$FW_BOLD = 700)
GUICtrlSetState($Input1, $GUI_FOCUS)
GUISetState(@SW_SHOW)
 楼主| 发表于 2016-11-26 21:20:03 | 显示全部楼层
哪位朋友能帮看下么。。。同样编译的EXE程序,我放到WIN7和XP中正常
发表于 2016-11-28 09:33:10 | 显示全部楼层
其实在论坛上是有答案的。

此种情况是因为UAC造成的,解决方法贴上

#CS 在Vista以上操作系统,由于UAC的限制,WM_DROPFILES只能由权限较低的APP拖拽到权限较高的APP,
        反之如果从权限较高的APP拖拽到低权限的APP上,WM_DROPFILES不会被发送到低权限的APP消息队列。
        所以,WM_DROPFILES会有时候变得不能响应。
        解决的办法,从用户界面特权隔离 (UIPI) 消息过滤器添加二个消息.使用ChangeWindowMessageFilter注册WM_DROPFILES和COPYGLOBALDATA。
        WM_DROPFILES = 0x0233,COPYGLOBALDATA=0x0049
        对于文件拖拽(Drag&Drop)消息,需要解除过滤的消息不仅仅是WM—DROPFILES这一个,还有一个MessageID为0x0049的消息。
        只有这两消息都添加到过滤器中,高权限下拖拽功能才可以正常使用。
        ChangeWindowMessageFilter是Vista以上的一个API,WinXP下并没有。
#CE
Global Const $MSGFLT_ADD = 1
DllCall('User32.dll', 'BOOL', 'ChangeWindowMessageFilter', 'UINT', 0x0233, 'DWORD', $MSGFLT_ADD)
DllCall('User32.dll', 'BOOL', 'ChangeWindowMessageFilter', 'UINT', 0x0049, 'DWORD', $MSGFLT_ADD)
 楼主| 发表于 2016-11-28 18:24:31 | 显示全部楼层
感谢您的恢复.添加了这三行代码没什么用...不知道怎么回事.只能听到咚的一声
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-3-28 21:45 , Processed in 0.076334 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表