首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

C 語言 ShowWindow 隱藏主控台視窗參數詳解

     編輯:程式設計綜合問答

程式碼

ShowWindow(FindWindow("ConsoleWindowClass", argv[0]), 0);

參數說明

參數意義
ConsoleWindowClass主控台視窗的視窗類別名稱(Window Class Name),系統固定值。
argv[0]程式啟動參數陣列第一個元素,通常為執行檔完整路徑,作為視窗標題比對依據。
0 (SW_HIDE)隱藏視窗。對應 SW_SHOW (5) 顯示,SW_MINIMIZE (6) 最小化等。

常用 ShowWindow 命令

#define SW_HIDE             0
#define SW_SHOWNORMAL       1
#define SW_SHOWMINIMIZED    2
#define SW_SHOWMAXIMIZED    3
#define SW_SHOWNOACTIVATE   4
#define SW_SHOW             5
#define SW_MINIMIZE         6
#define SW_SHOWMINNOACTIVE  7
#define SW_SHOWNA           8
#define SW_RESTORE          9
#define SW_SHOWDEFAULT     10

注意事項

  • FindWindow 若找不到視窗回傳 NULL,需檢查回傳值再呼叫 ShowWindow。
  • 主控台標題可能被程式修改(SetConsoleTitle),導致 argv[0] 比對失效,建議改用 GetConsoleWindow() 直接取得 HWND(Win32 API,需 #include <windows.h>)。
  • 隱藏主控台後程式仍在背景執行,若需完全無視窗,專案屬性 → Linker → System → SubSystem 設為 Windows (/SUBSYSTEM:WINDOWS)。

最佳實務

HWND hWnd = GetConsoleWindow(); // 直接取得主控台 HWND
if (hWnd) ShowWindow(hWnd, SW_HIDE);
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved