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
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)