3

我知道当应用程序从一开始就窗口化时创建窗口的方式,即您调用

LRESULT CALLBACK WindowProc(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam);
int WinMain(HINSTANCE hInst,HINSTANCE,LPSTR,int nCmdShow);

但是,如果我想让用户选择在结束时显示控制台应用程序输出,该怎么办。那就是在临时创建的窗口中以更易读的形式显示其数据,而不是控制台允许的纯文本模式。

在控制台应用程序中,我有一个监视用户按键的功能,当我的程序结束时,它显示 message: press D to display result in a window instead of console,并在代码中:

if (virtual_key == 0x44) {
  HWND myWindow = myCreateWindFunc(/* data */);
}

那就是我需要将用于创建窗口的所有代码打包到一个函数中,然后只需在其上调用函数并使用数据填充它的控件。

4

1 回答 1

3

MessageBox控制台应用程序可以使用任何相关的 WinAPI 函数(等)创建子窗口或对话框DialogBox

唯一需要注意的是 create 函数可能需要控制台窗口的句柄。要获取它,您可以使用此处的示例如何获取控制台窗口句柄

于 2012-07-27T08:48:21.137 回答