随手写的小东西
2023-08-02 19:38:44
发布于:河南
#include <iostream>
#include <Windows.h>
int main() {
HWND hWnd = GetConsoleWindow();
ShowWindow(hWnd, SW_HIDE);
//隐藏程序自带的控制台窗口
while (true) {
HWND hWnd = FindWindowA(NULL, "Window Title"); // 替换为你要重复弹出的窗口的标题
if (hWnd == NULL) {
// 创建一个新窗口
MessageBoxA(NULL, "Hello World!", "Window Title", MB_OK); // 替换为你要弹出的窗口内容和标题
} else {
// 激活已存在的窗口
SetForegroundWindow(hWnd);
}
}
return 0;
}
无限重复弹出窗口(关一个开一个)
#include <windows.h>
// 回调函数,处理窗口消息
LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
switch (uMsg)
{
case WM_CLOSE:
// 忽略关闭窗口消息
return 0;
case WM_DESTROY:
// 退出消息循环
PostQuitMessage(0);
return 0;
}
// 默认处理其他消息
return DefWindowProc(hwnd, uMsg, wParam, lParam);
}
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
HWND hWnd = GetConsoleWindow();
ShowWindow(hWnd, SW_HIDE);
//隐藏c++自带的控制台窗口
const char* className = "UnkillableWindow";
const char* windowTitle = "UnkillableWindow";
// 注册窗口类
WNDCLASS wc = {0};
wc.lpfnWndProc = WindowProc;
wc.hInstance = hInstance;
wc.lpszClassName = className;
RegisterClass(&wc);
// 创建窗口
HWND hwnd = CreateWindow(className, windowTitle, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 400, 300, NULL, NULL, hInstance, NULL);
// 显示窗口
ShowWindow(hwnd, nCmdShow);
// 进入消息循环
MSG msg = {0};
while (GetMessage(&msg, NULL, 0, 0) > 0)
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}
弹出一个关不掉的窗口
tip:两个窗口均能通过正常手段关闭
1.开启……信号不好,再见
全部评论 1
怎么关昂
2023-08-06 来自 广东
0打开任务管理器,在里面关掉
2023-08-06 来自 河北
13Q
2023-08-06 来自 广东
0
有帮助,赞一个