C++ 如何在作为控制台启动的应用程序中创建窗口?
我知道当应用程序从一开始就打开一个窗口时,窗口的创建方式,也就是你调用C++ 如何在作为控制台启动的应用程序中创建窗口?,c++,winapi,console,window,C++,Winapi,Console,Window,我知道当应用程序从一开始就打开一个窗口时,窗口的创建方式,也就是你调用 LRESULT CALLBACK WindowProc(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam); int WinMain(HINSTANCE hInst,HINSTANCE,LPSTR,int nCmdShow); 但如果我想让用户选择在控制台应用程序输出结束时显示它,该怎么办呢。也就是说,在临时创建的窗口中以更可读的形式显示其数据,而不是控制台允许的纯文本模式
LRESULT CALLBACK WindowProc(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam);
int WinMain(HINSTANCE hInst,HINSTANCE,LPSTR,int nCmdShow);
但如果我想让用户选择在控制台应用程序输出结束时显示它,该怎么办呢。也就是说,在临时创建的窗口中以更可读的形式显示其数据,而不是控制台允许的纯文本模式
在控制台应用程序中,我有一个监视用户按键的功能,当我的程序结束时,它会显示一条消息:按D以在窗口而不是控制台中显示结果,并且在代码中:
if (virtual_key == 0x44) {
HWND myWindow = myCreateWindFunc(/* data */);
}
也就是说,我需要将创建窗口的所有代码打包到一个函数中,然后用数据调用该函数以填充其控件。控制台应用程序可以使用任何相关的WinAPI函数(MessageBox
,DialogBox
等)创建子窗口或对话框
唯一需要注意的是,create函数可能需要控制台窗口的句柄。要获得它,您可以使用这里的示例