一个关于启动对话框程序的问题!!!

pan7861 2003-06-11 11:44:54
我需要另一个程序调用这个对话框程序,但是需要这个对话框程序开启后不能切换到其他程序。比如我开了A程序,点菜单启动B程序,以上我都做到了,但是要求启动了B程序(也就是对话框程序)必须关闭后才能对A程序做响应。注意这是两个程序。
也就是模态和非模态的问题。
...全文
29 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
pan7861 2003-06-11
  • 打赏
  • 举报
回复
楼上的哥们谢谢了,我也是球迷。编译通过,但是我想问为什么在程序B运行的情况下关闭程序A出对话框说没响应问是否关闭。我选择否,然后关闭程序B后程序A也关闭了,为什么。
zwvista 2003-06-11
  • 打赏
  • 举报
回复
参数确实太多,不过全填0应该可以通过,示例如下
STARTUPINFO s;
ZeroMemory(&s, sizeof(s));
s.cb = sizeof(s);
PROCESS_INFORMATION p;
BOOL b = CreateProcess("c:\\windows\\system32\\notepad.exe", NULL, NULL, NULL, FALSE, 0, NULL, NULL, &s, &p);
DWORD e = 0;
if(b) WaitForSingleObject((HANDLE)p.hProcess, INFINITE);
else e = GetLastError();
zwvista 2003-06-11
  • 打赏
  • 举报
回复
STARTUPINFO s;
ZeroMemory(&s, sizeof(s));
s.cb = sizeof(s);
PROCESS_INFORMATION p;
BOOL b = CreateProcess("c:\\windows\\system32\\notepad.exe", NULL, NULL, NULL, FALSE, 0, NULL, NULL, &s, &p);
DWORD e =0;
if(b) WaitForSingleObject((HANDLE)p.hProcess, INFINITE);
else e = GetLastError();
pan7861 2003-06-11
  • 打赏
  • 举报
回复
CreateProcess函数参数太多能否详细说明谢谢
zwvista 2003-06-11
  • 打赏
  • 举报
回复
用CreateProcess启动B程序,就可以得到B程序的句柄
注意CreateProcess最后一个参数LPPROCESS_INFORMATION lpProcessInformation
pan7861 2003-06-11
  • 打赏
  • 举报
回复
你说的进程句柄是指什么
pan7861 2003-06-11
  • 打赏
  • 举报
回复
A程序中启动B程序后

用WaitForSingleObject(hProcess, TimeOut)锁住,
其中hProcess是B程序进程句柄 TimeOut可以设置为INFINITE

-------------------------------------------------
我用ShellExecute()启动的B程序,你说的加在哪个程序里
licyme 2003-06-11
  • 打赏
  • 举报
回复
楼上,妙!
zwvista 2003-06-11
  • 打赏
  • 举报
回复
A程序中启动B程序后

用WaitForSingleObject(hProcess, TimeOut)锁住,
其中hProcess是B程序进程句柄 TimeOut可以设置为INFINITE

15,976

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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