WTL在Win8.1系统WM_DROPFILES无法响应的解决办法
来源:互联网 发布:apache主目录配置文件 编辑:程序博客网 时间:2024/05/22 10:51
由于UAC的限制,WM_DROPFILES只能由权限较低的APP拖拽到权限较高的APP,反之如果从权限较高的APP拖拽到低权限的APP上,WM_DROPFILES不会被发送到低权限的APP消息队列。所以,WM_DROPFILES会有时候变得不能响应。
解决的办法,使用ChangeWindowMessageFilter注册WM_DROPFILES这个MEESSAGE。
ChangeWindowMessageFilter是Vista以后的一个API,WinXP下并没有。
这个API在User32.dll中,使用时LoadLibrary,GetProcAddress得到函数地址就能使用。
1、在你的程序中添加以下函数://register global messages for vista win7 win8.1typedef BOOL(WINAPI *_ChangeWindowMessageFilter)(UINT message, DWORD dwFlag);.BOOL AllowMeesageForVistaAbove(UINT uMessageID, BOOL bAllow){ BOOL bResult = FALSE; HMODULE hUserMod = NULL; //vista and later hUserMod = LoadLibrary(_T("user32.dll")); if( NULL == hUserMod ) { return FALSE; } _ChangeWindowMessageFilter pChangeWindowMessageFilter = (_ChangeWindowMessageFilter)GetProcAddress( hUserMod, "ChangeWindowMessageFilter"); if( NULL == pChangeWindowMessageFilter ) { return FALSE; } bResult = pChangeWindowMessageFilter( uMessageID, bAllow ? 1 : 2 );//MSGFLT_ADD: 1, MSGFLT_REMOVE: 2 if( NULL != hUserMod ) { FreeLibrary( hUserMod ); } return bResult;}2、头文件定义以下宏 :
#define MSGFLT_ADD 1#define MSGFLT_REMOVE 2
3、在OnInitDialog中添加函数调用:
AllowMeesageForVistaAbove(SPI_SETANIMATION, MSGFLT_ADD);//allow drop filesAllowMeesageForVistaAbove(WM_DROPFILES, MSGFLT_ADD);
0 0
- WTL在Win8.1系统WM_DROPFILES无法响应的解决办法
- Vista/Win7上WM_DROPFILES无法响应的解决办法
- 在Win8/Win8.1下安装WAMPServer后无法打开localhost的解决办法
- 【win8系统无法连接到网络的解决办法】
- Win7、Win8系统USB-Blaster驱动程序无法安装的解决办法
- 在Win8下无法拖动文件的解决办法
- 关于win8/win8.1系统不能调节亮度的解决办法
- 关于EFI分区下win8.1系统无法进入bios的解决办法
- win8.1系统无线连接受限的解决办法
- 无法更新到Win8.1的原因与解决办法
- Win8.1打开CHM文件无法正常显示的解决办法
- Win8.1 IE11 浏览器无法打开任何网页的解决办法
- Win8无法升级.NET Framework 3.5.1的解决办法
- win8无法删除文件的解决办法
- Win7、Win8、Win10系统USB-Blaster驱动程序无法安装的解决办法
- Win7 x64 VS6无法安装WTL的解决办法
- Win8.1系统拖拽文件得不到路径的解决办法
- WTL在父窗口中响应控件的通知消息
- Java线程池使用说明
- xp 权限设置
- 建立嵌入式gdb调试环境
- ios 实现推送消息
- android 4.4 shareactionprovider小结
- WTL在Win8.1系统WM_DROPFILES无法响应的解决办法
- IO系统性能之一:衡量性能的几个指标
- POJ 1007
- redhat图形界面启动后出现桌面但是没有登录界面解决办法
- leetcode-Single Number II
- PAT_1008
- 插值算法
- miniui 选择器
- android 项目框架和资源