如何在对话框中或窗体中打开一个游戏子窗口?这叫MDI吗?

LENOVO_ 2010-01-28 01:52:07
学Windows程序设计不深,目前只会处理对话框界面的一些简单操作,如响应按钮事件。

我的问题:

现在有一个游戏,但这个游戏的主窗口标题栏上没有最小化按钮、最大化按钮,就连关闭按钮都是不可用的。

所以每次都硬挺挺的摆在桌面中央。

我想,可不可以自己做个窗口,在我的窗口里以子窗口的形式打开这个游戏,然后我就可以实现最小化了。

我想呢,在我的窗口上只要一个菜单,一个选项 -> “打开” 就行了。

打开的函数应该是

void OnFileOpen()
{
CFileDialog file(TRUE);
if(file.DoModal() == IDOK)
{
STARTUPINFO si = { sizeof(si) };
PROCESS_INFORMATION pi;
::CreateProcess(NULL,file.GetPathName(),NULL,NULL,FALSE,NULL,NULL,NULL,&si,&pi);
}
}

然后关联映射到菜单选项。

但CreateProcess 创建的进程一定是一个新窗口,满足不了我的要求。

请各位麻烦看一下,该怎么做? 这个算是 MDI 吗?

谢谢!

...全文
108 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
lllyyy2403 2010-01-28
  • 打赏
  • 举报
回复
用ShowWindow(handle,WM_HIDE)或者ShowWindow(handle,WM_MINUNIZE)就可以隐藏或最小化,当然也可以控制大小,这个很简单哈。如果想打开的话呢就还是这一句:ShowWindow(handle,WM_SHOW)
LENOVO_ 2010-01-28
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 sandy1983 的回复:]

事实正如你所说创建的会是弹出一个新窗口,你又没有游戏程序的源代码,想做到你要的要求不大可能。
[/Quote]

哎,我学的不多。这难度对我而言确实大。



[Quote=引用 2 楼 heksn 的回复:]
如果能获取游戏窗口的句柄的话 你可以控制它的大小和隐藏
[/Quote]

前辈高明,我怎么没想到呢? 试了一下,确实可以将游戏窗口隐藏。

谢谢点拨。。。
  • 打赏
  • 举报
回复
如果能获取游戏窗口的句柄的话 你可以控制它的大小和隐藏
sandy1983 2010-01-28
  • 打赏
  • 举报
回复
[Quote=引用楼主 lenovo_ 的回复:]

但CreateProcess 创建的进程一定是一个新窗口,满足不了我的要求。

[/Quote]

事实正如你所说创建的会是弹出一个新窗口,你又没有游戏程序的源代码,想做到你要的要求不大可能。

16,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧