文件拖拽功能失效,原来是UAC把它过滤了

本文介绍了解决Windows Vista及以上版本中,因用户账户控制(UAC)导致的管理员模式下文件拖拽功能失效的问题。通过使用ChangeWindowMessageFilterEx()函数解除窗口消息过滤,实现了在管理员权限下正常进行文件拖拽。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

碰到这样一个问题,文件拖拽功能在没有以管理员身份运行的时候是正常的,但是一旦使用管理员身份运行,这个功能就失效了,搜索了好久总算找到原因了。

在window visa以上版本里引入了用户账户控制(UAC),在管理员权限上会过滤掉一些窗口消息,文件拖拽正好也也被过滤了,解决的方法就是使用ChangeWindowMessageFilterEx()解除过滤

//解除window7以上窗口对该消息的过滤
ChangeWindowMessageFilterEx(hwndDlg, WM_DROPFILES, MSGFLT_ALLOW, NULL);
ChangeWindowMessageFilterEx(hwndDlg, 0x0049, MSGFLT_ALLOW, NULL);//这句不详,但是没它不行
//ChangeWindowMessageFilterEx函数最低版本要window visa,所以要做版本校验

 

转载于:https://www.cnblogs.com/jiajiafu/p/6437676.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值