我誰應該兩種模式執行的小應用程序:非UI或WPF窗口。它應該取決於命令行參數。如何動態地或者控制檯應用程序或Windows應用程序
在每種模式下,我需要顯示一些反饋日誌:
- 在WPF窗口模式下,WPF是要採取可視化日誌的照顧,
- 在沒有用戶界面模式,我需要一個控制檯顯示日誌。如果我的應用程序是從一個控制檯(主要是cmd.exe)啓動的,我想在不打開一個新的應用程序的情況下使用它。如果我的應用程序已經在控制檯之外啓動(雙擊explorer,CreateProcess,...),我需要創建一個新控制檯來輸出結果並等待一個Readkey關閉它。
我發現:
- 我怎麼可以創建一個新的控制檯: How to open/close console window dynamically from a wpf application?,
- 如何獲取當前控制檯窗口句柄顯示/隱藏: Show/Hide the console window of a C# console application
我知道我可以靜態選擇項目屬性中的「Windows應用程序」或「控制檯應用程序」。
選擇「Windows應用程序」,GetConsoleWindow()始終爲0,我看不出如何重用以前的控制檯。
選擇「控制檯應用程序」,我可以重用以前的控制檯,但是從資源管理器中的WPF窗口模式下啓動時,我的WPF主窗口下創建一個控制檯。
的問題是:應用程序如何能真正的動態?在WPF窗口模式下,只有一個WPF窗口(並且根本沒有控制檯)或在非UI中,只有一個控制檯(啓動一個或新創建的一個)。
我認爲它與WPF無關,但只在PE頭和main/winmain中植入子系統。 – MuiBienCarlota