Visual Studio win10无法接收ondropfiles消息

typedef WINUSERAPI BOOL WINAPI CHANGEWINDOWMESSAGEFILTER(UINT message, DWORD dwFlag);
BOOL CxxxDlg::OnInitDialog()
{
    CDialogEx::OnInitDialog();

    // 设置此对话框的图标。  当应用程序主窗口不是对话框时,框架将自动
    //  执行此操作
    SetIcon(m_hIcon, TRUE);            // 设置大图标
    SetIcon(m_hIcon, FALSE);        // 设置小图标

    // TODO: 在此添加额外的初始化代码

    //修正win10无法接收到WM_ONDROPFILES消息
    HINSTANCE hDll = LoadLibrary(_T("user32.dll"));
    if (hDll)
    {
        CHANGEWINDOWMESSAGEFILTER *pAddMessageFilterFunc = 
            (CHANGEWINDOWMESSAGEFILTER *)GetProcAddress(hDll, "ChangeWindowMessageFilter");
        if (pAddMessageFilterFunc)
        {
            pAddMessageFilterFunc(WM_DROPFILES, MSGFLT_ADD);
            pAddMessageFilterFunc(WM_COPYDATA, MSGFLT_ADD);
            pAddMessageFilterFunc(0x0049, MSGFLT_ADD);
        }
        FreeLibrary(hDll);
    }

    return TRUE;  // 除非将焦点设置到控件,否则返回 TRUE
}

猜你喜欢

转载自www.cnblogs.com/dailycode/p/9436986.html
今日推荐