Fix Directory Opus integration by allowing WM_COPYDATA from different privilege levels

Co-authored-by: emako <24737061+emako@users.noreply.github.com>
This commit is contained in:
copilot-swe-agent[bot]
2026-02-05 13:01:59 +00:00
parent 7447732abd
commit 43f964fea0
2 changed files with 16 additions and 0 deletions

View File

@@ -124,7 +124,15 @@ void DOpus::PrepareMessageWindow()
wx.lpszClassName = MSGWINDOW_CLASS;
if (RegisterClassEx(&wx))
{
hMsgWnd = CreateWindowEx(0, MSGWINDOW_CLASS, L"", 0, 0, 0, 0, 0, HWND_MESSAGE, nullptr, nullptr, nullptr);
// Allow WM_COPYDATA from processes with different privilege levels
if (hMsgWnd != nullptr)
{
ChangeWindowMessageFilterEx(hMsgWnd, WM_COPYDATA, MSGFLT_ALLOW, nullptr);
}
}
hGetResultEvent = CreateEvent(nullptr, FALSE, FALSE, nullptr);
}

View File

@@ -63,7 +63,15 @@ bool MultiCommander::PrepareMessageWindow()
wx.lpszClassName = MULTICMD_MSGWINDOW_CLASS;
if (RegisterClassEx(&wx))
{
hMsgWnd = CreateWindowEx(0, MULTICMD_MSGWINDOW_CLASS, L"", 0, 0, 0, 0, 0, HWND_MESSAGE, nullptr, nullptr, nullptr);
// Allow WM_COPYDATA from processes with different privilege levels
if (nullptr != hMsgWnd)
{
ChangeWindowMessageFilterEx(hMsgWnd, WM_COPYDATA, MSGFLT_ALLOW, nullptr);
}
}
if (nullptr == hMsgWnd) {
return false;