您的位置:首页 > 运维架构

关于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等系统的权限限制
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐