Win32視窗程式使用控制台

2021-10-23 08:18:41 字數 972 閱讀 5153

win32視窗程式使用控制台對應的函式是allocconsole和freeconsole。

向控制台輸出

allocconsole()

;handle hd =

getstdhandle

(std_output_handle)

;writeconsole

(hd ,

"hello console\n"

,sizeof

("hello console\n"),

null

,null);

closehandle

(hd)

;freeconsole()

;

可以正常開啟和關閉console控制台輸出。

如果想使用std::cout標準輸出函式,可以使用freopen重定向函式到"conout$"特殊檔案。

allocconsole()

;freopen

("conout$"

,"w"

,stdout);

freopen

("conout$"

,"w"

,stderr);

doelse

}while

(null == psetting)

;freeconsole()

;

這個時候可以用標準輸出函式輸出文字資訊,但是freeconsole並不會關掉控制台視窗,需要再呼叫freopen重定向函式重定向回預設控制台輸出流,就可以關閉控制台視窗了。

freeconsole()

;freopen

("conout$"

,"w"

,stdout);

freopen

("conout$"

,"w"

,stderr

);

win32視窗程式轉為控制台

windows支援兩種型別的程式,gui graphical user inte ce 和cui console user inte ce 他們是通過乙個叫載入器的東西進行載入,vs中只要修改聯結器 系統 子系統中的值,如果是gui則是 subsystem windows 如果是cui則是 subs...

讓Win32視窗程式擁有控制台視窗

讓win32視窗程式擁有控制台視窗 首先,為什麼我們有了普通視窗後還要控制台視窗呢?因為我們可以用它方便的輸出除錯資訊,而且普通玩家看到了也會覺得很高階。如果他會輸幾條命令,可能他會以為自己就是黑客了。示例效果 winmain作為入口函式後,手動建立了控制台視窗,然後建立了普通視窗,輸出了一些資訊到...

WIN32控制台程式隱藏DOS視窗

如下 pragma comment linker,subsystem windows entry winmaincrtstartup pragma comment linker,subsystem windows entry maincrtstartup pragma comment linker,...