找回密码
 加入
搜索
查看: 6759|回复: 22

[AU3基础] 在使用AUTOIT脚本中使用run跑外部程序不支持文件拖拽的问题

 火.. [复制链接]
发表于 2016-12-29 08:43:30 | 显示全部楼层 |阅读模式
我在AUTOIT3脚本中使用run函数执行外部程序,但是该外部程序不能用文件拖拽,百度说和UAC有关系,有没有大神回答一下
发表于 2016-12-29 10:41:49 | 显示全部楼层
啥意思啊,是不是把文件拉到AU的程序里,然后自动运行?
发表于 2016-12-29 18:43:06 | 显示全部楼层
看不懂。到底是什么。
 楼主| 发表于 2017-1-4 23:00:24 | 显示全部楼层
回复 3# wbb870319
就是我在AU3脚本中使用run 或者shellexecute去执行的外部程序,比如Foxmail客户端等,执行的程序无法使用系统的拖拽功能,比如在添加附件过程中,只能使用文件浏览器去添加,不能直接将文件拖拽到客户端来添加,但是我手动打开的客户端确可以?Who know?
发表于 2017-1-4 23:57:13 | 显示全部楼层
经测试,RUN出来的foxmail ,写信时,可以直接拖文件进去当附件.
发表于 2017-1-5 12:39:51 | 显示全部楼层
或者可以用 ShellExecute 试试
发表于 2017-1-6 12:53:55 | 显示全部楼层
#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)
发表于 2017-1-6 17:27:50 | 显示全部楼层
回复 7# tubaba


  大神   学习了~
 楼主| 发表于 2017-1-6 23:14:50 | 显示全部楼层
回复 7# tubaba
非常感谢,有时间我试试!
 楼主| 发表于 2017-1-6 23:15:26 | 显示全部楼层
回复 5# Alam
其实不是这个客户端,只是不方便透露。。。
 楼主| 发表于 2017-1-6 23:16:12 | 显示全部楼层
回复 6# austere
我现在就是用的这个去运行,可是依旧不行,7楼的回答可能有帮助!
 楼主| 发表于 2017-1-7 08:47:58 | 显示全部楼层
回复 7# tuba

    还是不行,还有别的补充么?
 楼主| 发表于 2017-1-7 11:43:58 | 显示全部楼层
谁来回答一下呀
发表于 2017-1-7 11:50:41 | 显示全部楼层
本帖最后由 q410225 于 2017-1-7 11:51 编辑

不知道,没遇到过
发表于 2017-1-7 12:59:21 | 显示全部楼层
If StringInStr(@OSArch, '64') Then DllCall("kernel32.dll", "Bool", "Wow64DisableWow64FsRedirection", "ptr",'')
加上这段代码,然后用ShellExecute打开试下~  发哥的管理员权限的运行
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-4-20 22:27 , Processed in 0.086212 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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