求教一个关于调用程序的问题 最近再做一个关于MFC的程序,在主界面上需要调用一个可执行程序,但是吧!我还想让这个可执行程序指定的打开一个文件,例如吧!需要调用一个画图程序,但是我还希望这个画图程序在被我调用打开的同时,能够打开我已经画好的一个图形,不知道该怎么样才能实现这个功能,求大哥们帮帮忙!!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 传递参数就行了.比如你的画图程序叫 DrawImage.exe 的话.ShellExecute(NULL, "open", "C:\\DrawImage.exe", "传递的参数如("C:\\123.bmp")", NULL, SW_SHOWNORMAL); // 打开文件然后你 要在你的画图程序的InitInstance里面接受参数. this->m_lpCmdLine就是你传过来的"C:\\123.bmp"..判断有参数你就执行打开文件操作就行了.没有就正常启动程序! 首选要确定你所要调用的可执行程序能否传递参数,可以就像一楼所说的直接ShellExecute调用传递参数.不行的话就没有办法,除非你能修改那个可执行程序为可以启动接受参数. 用CreateProecss也可以。PROCESS_INFORMATION piProcInfo; STARTUPINFO siStartInfo;// Set up members of STARTUPINFO structure.siStartInfo.cb = sizeof(STARTUPINFO); siStartInfo.lpReserved = NULL;siStartInfo.lpReserved2 = NULL; siStartInfo.cbReserved2 = 0;siStartInfo.lpDesktop = NULL; siStartInfo.dwFlags = 0;// Create the child process.CreateProcess(NULL,"\"C:\\Program Files\\MyApp.exe\" 1.bmp",NULL, // process security attributesNULL, // primary thread security attributes0, // handles are inherited0, // creation flagsNULL, // use parent's environmentNULL, // use parent's current directory&siStartInfo, // STARTUPINFO pointer&piProcInfo); // receives PROCESS_INFORMATION 就是呀!怎么去找画图程序中的InitInstance呀!它们都是封装好的!!! 你的需求楼上已经实现了啊你要找什么InitInstance 给exe传参就可以了啊。 这个前提是exe已经有处理参数的功能了。 比如一楼给你的画图程序。如果你调用别人的程序, 人家又没有处理参数, 这个你是没办法。 如何想文件夹里写入文件? [求正则表达式] lstrlen()的疑惑 vc++数据库连接问题 求日期转星期的算法 MFC中如何在文本编辑框中画图 关于论坛结分 高分:请问socket编程中重载的OnSend函数什么时候调用? 关于对话框字体的问题!!! 谁能解释CWnd::InvalidateRect的作用 vc怎么做下面这个界面啊 其中的背景图片和左边的树型菜单怎么弄啊 窗口显示的问题
比如你的画图程序叫 DrawImage.exe 的话.
ShellExecute(NULL, "open", "C:\\DrawImage.exe", "传递的参数如("C:\\123.bmp")", NULL, SW_SHOWNORMAL); // 打开文件然后你 要在你的画图程序的InitInstance里面接受参数. this->m_lpCmdLine就是你传过来的"C:\\123.bmp"..判断有参数你就执行打开文件操作就行了.没有就正常启动程序!
不行的话就没有办法,除非你能修改那个可执行程序为可以启动接受参数.
PROCESS_INFORMATION piProcInfo;
STARTUPINFO siStartInfo;// Set up members of STARTUPINFO structure.
siStartInfo.cb = sizeof(STARTUPINFO);
siStartInfo.lpReserved = NULL;
siStartInfo.lpReserved2 = NULL;
siStartInfo.cbReserved2 = 0;
siStartInfo.lpDesktop = NULL;
siStartInfo.dwFlags = 0;// Create the child process.
CreateProcess(NULL,
"\"C:\\Program Files\\MyApp.exe\" 1.bmp",
NULL, // process security attributes
NULL, // primary thread security attributes
0, // handles are inherited
0, // creation flags
NULL, // use parent's environment
NULL, // use parent's current directory
&siStartInfo, // STARTUPINFO pointer
&piProcInfo); // receives PROCESS_INFORMATION
你要找什么InitInstance