我想将自定义边框矩形添加到另一个应用程序窗口,如下所示:
我通过谷歌浏览编写了这段代码,但没有帮助我:
HWND hWndX;
HRGN hRegX;
HDC hdc;
hWndX = FindWindow(NULL, "Untitled - Notepad");
hdc = GetDC(hWndX);
if (hWndX)
{
hRegX = CreateRectRgn(10, 10, 200, 200);
SetWindowLong(hWndX, GWL_STYLE, GetWindowLong(hWndX, GWL_STYLE));
SetWindowPos(hWndX, hWndX, 0, 0, 100, 100, SWP_FRAMECHANGED);
SetWindowRgn(hWndX, hRegX, true);
}
else
MessageBox(hWndX, "Cant find the window handle", "Error!", 0);
最佳答案
这种事情/可能/在旧的 Win16/Windows 95 时代有效,但如今,操作系统会保护一个程序不影响另一个程序。要更改另一个进程的边界,您需要将代码(作为 dll)注入(inject)到另一个进程中(假设您具有正确的安全级别)。这并不是说不可能,但这不是初学者能够做到的事情。
关于c - 使用 Win32 API 将自定义边框添加到另一个应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44779980/