关于vc6程序拖拽文件WM_DROPFILE在win7,win8,vista上不能响应的解决方法
2013-10-27 16:39
706 查看
vc6程序拖拽文件WM_DROPFILE在win7,win8,vista上不能响应的解决方法,我用到了为了防止忘记
#define WM_COPYGLOBALDATA 0x0049
typedef WINUSERAPI BOOL WINAPI CHANGEWINDOWMESSAGEFILTER(UINT message, DWORD dwFlag);
void ChangeMessageProi()
{
HINSTANCE hDllInst = LoadLibrary(_T("user32.dll"));
if (hDllInst)
{
CHANGEWINDOWMESSAGEFILTER *pAddMessageFilterFunc = (CHANGEWINDOWMESSAGEFILTER *)GetProcAddress(hDllInst, "ChangeWindowMessageFilter");
if (pAddMessageFilterFunc)
{
pAddMessageFilterFunc(WM_DROPFILES, 1); //MSGFLT_ADD: 1, MSGFLT_REMOVE: 2
pAddMessageFilterFunc(WM_COPYDATA, 1);
pAddMessageFilterFunc(0x0049, 1);
}
FreeLibrary(hDllInst);
}
}
然后在代码中调用ChangeMessageProi() ;之后就正常了,问题源于win7等系统的权限限制
#define WM_COPYGLOBALDATA 0x0049
typedef WINUSERAPI BOOL WINAPI CHANGEWINDOWMESSAGEFILTER(UINT message, DWORD dwFlag);
void ChangeMessageProi()
{
HINSTANCE hDllInst = LoadLibrary(_T("user32.dll"));
if (hDllInst)
{
CHANGEWINDOWMESSAGEFILTER *pAddMessageFilterFunc = (CHANGEWINDOWMESSAGEFILTER *)GetProcAddress(hDllInst, "ChangeWindowMessageFilter");
if (pAddMessageFilterFunc)
{
pAddMessageFilterFunc(WM_DROPFILES, 1); //MSGFLT_ADD: 1, MSGFLT_REMOVE: 2
pAddMessageFilterFunc(WM_COPYDATA, 1);
pAddMessageFilterFunc(0x0049, 1);
}
FreeLibrary(hDllInst);
}
}
然后在代码中调用ChangeMessageProi() ;之后就正常了,问题源于win7等系统的权限限制
相关文章推荐
- qt 在win8 win10下不能拖拽文件到程序的问题 终于找到答案了 因为把程序的权限设置太高了.解决方法,降低运行权限
- win7 win8计算机-右键-管理“该文件没有与之关联的程序来执行该操作”问题的解决方法
- 关于在win7环境下线程里调用SaveFileDialog不能显示的解决方法
- MFC对话框程序不能响应WM_CHAR消息的解决办法
- IE input file隐藏不能上传文件解决方法
- 关于Oracle10g二进制参数文件损坏不能启动Oracle实例的解决方法
- 打开方式中无法添加程序,双击文件不能用指定程序打开的解决方法
- win7或win8+cad2008+天正电气8.5双击cad图纸文件在新程序中打开的解决方法
- 什么是MMC,关于Sql Server企业管理器MMC 不能打开文件的解决方法
- Win7 64 MTK编译Modis出现fatal error C1083: 无法打开包括文件:“stdarg.h”: No such file or directory 解决方法
- win7中C#的winForm编程使用savefiledialog不能弹出保存窗体的解决方法
- 关于各种文件用Editplus的方式打开出现“向程序发送命令时出现问题”的解决方法
- IE input file隐藏不能上传文件解决方法(转载)
- andorid 解压zip文件、android中文文件存放问题、asset里不能放中文名文件的解决方法、用File读asset的路径的问题、把asset的文件写入机器
- 关于MFC读取excel文件后退出程序后出现dispatch错误的解决方法
- 关于调用listFile()在遍历含有乱码文件时出现input is not valid Modified UTF-8错误的解决方法
- 关于VC++6.0时点打开文件时总弹出“ox5003eaed”指令引用的“ox00000000”内存。该内存不能为“read”的解决方法 .
- 关于UIWebView不能响应touchesBegan等四个方法的解决案例【可以检测 单击双击】
- Win7中Javascript读取File框中文件路径变更为C:\Fakepath的解决方法