C++ 隐藏屏幕顶层窗口

C++ 隐藏屏幕顶层窗口,第1张

1.调用Windows API函数
hwnd是窗口的变量
SW_HIDE 的值是 0
把SW_HIDE 替换成FALSE,即显示窗口,可以配合其他函数使用

void HideWindow() {
    HWND hwnd = GetForegroundWindow();
    ShowWindow(hwnd, SW_HIDE);
}

2.设置程序的Main函数入口地址

#pragma comment( linker, "/subsystem:\"windows\"/entry:\"mainCRTStartup\"" ) 

在默认情况下链接器看到/subsystem下是windows选项的时候,它会自动寻找WinMain或者wWinMain
但我们强制指定入口地址,这样运行程序的时候默认的console窗口就会隐藏
引用:

如果你建立了一个console程序的话,编译器得链接开关会是以下这种形式 
/subsystem: "console " /entry: "mainCRTStartup " (ANSI) 
/subsystem: "console " /entry: "wmainCRTStartuup " (UNICODE) 

如果你建立了一个win32 application,编译器得链接开关则会是一下形式 
/subsystem: "windows " /entry: "WinMain " (ANSI) 
/sbusystem: "windows " /entry: "wWinMain " (UINCODE) 
在默认情况下/subsystem 和/entry开关是匹配的,也就是 
console对应mainCRTStartup或者wmainCRTStartup 
windows对应WinMain或者wWinMain 

3.隐藏调用其他的程序(可以是自身)

WinExec("Test.exe",SW_HIDE); // windows.h

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1324375.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-12
下一篇 2022-06-12

发表评论

登录后才能评论

评论列表(0条)

保存