在Winform動態啟動 控制台命令列的方法

2021-06-17 19:46:12 字數 1695 閱讀 3134

需求

winform 程式輸出型別為 windows 程式(不是命令列程式)

在執行時想輸入一些資訊編譯開發除錯,如何實現這一功能

解答:allocconsole、freeconsole 這兩個 api 可以在任何時候呼叫和關閉 命令列。

**演示:

api 部分

using

system;

using

system.collections.generic;

using

system.linq;

using

system.text;

using

system.runtime.interopservices;

namespace

public

partial

class

nativemethods 

} 啟動引數的實現

using

system;

using

system.collections.generic;

using

system.linq;

using

system.windows.forms;

using

system.runtime.interopservices;

using

system.diagnostics;

namespace

static

class

program

finally}}

} 程式實現

using

system;

using

system.collections.generic;

using

system.componentmodel;

using

system.data;

using

system.drawing;

using

system.linq;

using

system.text;

using

system.windows.forms;

namespace

public

partial

class

form1 : form

private

void

btnopenconsole_click(

object

sender, eventargs e)

private

void

btncloseconsole_click(

object

sender, eventargs e)

private

void

btnout_click(

object

sender, eventargs e)}}

/files/flashelf/winformshellconsole_vs08.rar

最後:其實**很簡單,不過很適合在執行時輸出一些臨時除錯資訊

用gui畫圖的操作一般下斷點很容易影響print 事件的情況

,有時候在客戶那裡程式問題在上開啟控制台輸出一些除錯資訊看著比較方便;

而且控制太沒有執行緒限制的,所以使用起來要比單獨的日誌視窗方便、而且容易複製內容,還支援 paus 鍵;

如何 在 Winform 動態啟動 控制台命令列?

需求 winform 程式輸出型別為 windows 程式 不是命令列程式 在執行時想輸入一些資訊編譯開發除錯,如何實現這一功能 解答 allocconsole freeconsole 這兩個 api 可以在任何時候呼叫和關閉 命令列。演示 api 部分 using system using sys...

Winform中嵌入Console控制台

最近做了小軟體,裡面要用到實時顯示日誌 本來呢,是自己做個累似的視窗,原理就是用定時讀取文字檔案,但是發現如果文字檔案到了100k的時候,程式會顯得很卡 所以不得已還是得用console控制台。目前來說,網上有兩種方法,一種是將專案的輸出改成控制台方式 另一種就是呼叫win32 api來執行控制台....

在控制台程式中隱藏控制台視窗

因為此種方法是通過設定編譯器的鏈結開關來實現,所以讓我們來看一下編譯 器的鏈結開關選項 也就是linker選項 首先我們來看一下linker的 subsystem 選項 這個鏈結選項告訴作業系統如何執行可執行檔案 console win32 字元模式應用程式,此種型別的應用程式在執行的時候會產生乙個...