lwei24:哦哦,这样可以在管理员权限下实现拖拽吗?ChangeWndMessageFilterOk这些需要添加那些头文件呢?
(2023-05-16 10:21) 
可以的。
ChangeWndMessageFilterOk忘了贴代码了,如下
BOOL CMainWindow::ChangeWndMessageFilterOk(HWND hWnd, UINT nMessage, DWORD dwAction, PCHANGEFILTERSTRUCT chfit)
{
typedef BOOL (WINAPI *ChangeWindowMessageFilterOkFn)(HWND, UINT, DWORD, PCHANGEFILTERSTRUCT);
HMODULE hModUser32 = NULL;
hModUser32 = LoadLibrary(L"user32.dll");
if (hModUser32 == NULL)
{
qDebug()<<"load failed";
return FALSE;
}
ChangeWindowMessageFilterOkFn pfnChangeWindowMessageFilter = (ChangeWindowMessageFilterOkFn) GetProcAddress(hModUser32, "ChangeWindowMessageFilterEx");
if (pfnChangeWindowMessageFilter == NULL)
{
FreeLibrary(hModUser32);
qDebug()<<"failed";
return FALSE;
}
FreeLibrary(hModUser32);
BOOL ret = pfnChangeWindowMessageFilter(hWnd, nMessage, dwAction, chfit);
const QString strOut = QString("%1 ret = [%2] ExtStatus=[%3]\n").arg(__FUNCTION__, QString::number(ret), QString::number(chfit->ExtStatus));
qDebug()<<strOut;
return ret;
}