2013-02-26 32 views
0

我剛剛從所提供的源代碼構建了tcl 8.5,並開始了一個wish85/wish進程。Tcl 8.5 Wish.exe生成兩個窗口(控制檯+另一個窗口)

產生了兩個窗口,其中一個是實際的控制檯。

我想知道如何強制這種行爲:關閉控制檯應該關閉進程。 我試圖強制WM_DELETE_WINDOW消息的處理程序,但它似乎不工作。

你們能幫忙嗎?

+0

當您運行應用程序時,控制檯通常不會顯示,只有當您將其作爲外殼啓動時纔會顯示。你想讓控制檯始終顯示你的應用程序? – 2013-02-26 17:21:32

+0

是的,控制檯應該始終顯示。我的問題是關閉控制檯不會關閉整個過程(wish85.exe)。 – 2013-03-27 06:33:10

回答

2

控制檯窗口運行在不同的interp中,因此您必須在其中安裝協議處理程序。要做到這一點的方法是用

console eval {wm protocol . WM_DELETE_WINDOW exit} 

控制檯實現在[file join $tk_library console.tcl](在我的系統C:/Tcl/lib/tk8.6/console.tcl),如果你想勾搭有(不推薦)。

+0

謝謝。我會試一試。 – 2013-03-27 06:33:33