如何在控制台隐藏后取回wish shell

时间:2016-04-14 10:13:18

标签: tcl tk

我有一个tcl wish shell作为Tcl解释器,我执行console hide命令。因此控制台变得不可见,但是任务管理器中存在进程。 他们是否可以再次获得控制台。我们有console show但在哪里运行它?

Attaching 8.6 wish shell with hide console option

2 个答案:

答案 0 :(得分:3)

你有可以与之互动的Tk gui吗?如果是这样,一个选项是绑定一个键,以便在你的gui中按下它时打开控制台。例如。如果顶层gui窗口是“。”然后选择键F2,将以下内容添加到您的Tk代码中:

bind . <F2> {console show}

答案 1 :(得分:1)

可能有点沉重的方法,但如果你有TWAPI包和过程的PID,这是有效的:

% package require twapi
4.1.27

现在让我们获取PID的窗口句柄:

% set w [twapi::get_toplevel_windows -pid 2432]
{197612 HWND} {132106 HWND} {590378 HWND} {132100 HWND} {327716 HWND}  {132098 HWND} {132094 HWND} {393624 HWND}

其中一个窗口应该是隐藏的控制台:

% foreach win $w {
>   puts "[twapi::get_window_text $win] Handle: $win"
> }
Konsole Handle: 197612 HWND
TclNotifier Handle: 132106 HWND
wish Handle: 590378 HWND
E Handle: 132100 HWND
M Handle: 327716 HWND
TtkMonitorWindow Handle: 132098 HWND
MSCTFIME UI Handle: 132094 HWND
Default IME Handle: 393624 HWND

这是一个德语窗口,所以对我来说Konsole是正确的,让我们再次展示它:

% twapi::show_window {197612 HWND}
1

现在控制台又回来了,你可以使用它。