c - 使用 Win32 API 将自定义边框添加到另一个应用程序

标签 c winapi

我想将自定义边框矩形添加到另一个应用程序窗口,如下所示:

enter image description here

我通过谷歌浏览编写了这段代码,但没有帮助我:

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/

相关文章:

c - 如何在结构中存储当前系统日期?

java - 使用 JNA 调用另一个进程中的函数

c++ - 我的笔记本电脑的向下箭头键?

c++ - 使用 TerminateProcess 终止 "mstsc.exe"进程时出现错误代码 (5) 访问被拒绝

multithreading - 如何退出线程的消息循环?

c++ - 是否可以使用现有 API 将 Windows 功能区控件修改为看起来更像 MS Word 2010 中的功能区

OSX 中的 python 地穴

c - 在软件上生成模拟输入/输出的方波

c - 向 C 中的 pthreads 发送和捕获信号

c - c中fork()后fprintf返回null