很简单啊,使用ShellExecute就可以了。如:
ShellExecute(m_hWnd, "Open", "D:\\test.txt", NULL, NULL, SW_SHOWNORMAL);
ShellExecute(m_hWnd, "Open", "D:\\test.doc", NULL, NULL, SW_SHOWNORMAL);
ShellExecute(m_hWnd, "Open", "D:\\test.bmp", NULL, NULL, SW_SHOWNORMAL);
他们分别调用Notepad,Word和画笔打开相应的文件.具体的参数含义可以看帮助,m_hwnd是你的窗口句柄。
ShellExecute(m_hWnd, "Open", "D:\\test.txt", NULL, NULL, SW_SHOWNORMAL);
ShellExecute(m_hWnd, "Open", "D:\\test.doc", NULL, NULL, SW_SHOWNORMAL);
ShellExecute(m_hWnd, "Open", "D:\\test.bmp", NULL, NULL, SW_SHOWNORMAL);
他们分别调用Notepad,Word和画笔打开相应的文件.具体的参数含义可以看帮助,m_hwnd是你的窗口句柄。
解决方案 »
- 几千人的聊天室该用什么套接字I/O模型?
- 单线程 发数据,多线程 发数据,有差别吗??
- (100分)求屏幕录相程序代码(在线等)
- 急急急,怎么在不同的窗体之间定义几个全局变量传递参数啊???
- 请教:标准C写的静态链接库链接出现了问题
- VC++ 中有没有不用在OnDraw中或OnPain这类消息事件中进行维护的作画的方法?
- 听说这里高手多,问个菜又急的问题.
- dongfa,请进,为什么2个socket绑定一个端口,而没有setsockopt(),偷窥者的源程序.up有分
- 问个关于结果显示的问题
- 遇到"烫烫烫烫烫烫烫烫烫烫烫"的问题怎么办?
- Reference和Pointer的区别,敬请高手光临!
- 请问,创建一对话框后,如何能使原本起关闭作用的Esc键失效?
当然你也可以使用CreateProcess函数,它很复杂,但功能很强.
可以监视一个程序从开始到终止。(而ShellExecute一旦运行,就无法控制)
另外,还有WinExec,比ShellExecute 还方便。
对于ShellExecute
有
ShellExecute(m_hWnd,"Open","mailto:[email protected]",NULL,NULL,SW_SHOWMAXIMIZE);
ShellExecute(m_hWnd,"Open","http://www.yahoo.com",NULL,NULL,SW_SHOWNORMAL);
其实用CreateProcess也并不复杂。
{
STARTUPINFO si;
PROCESS_INFORMATION pi; ZeroMemory( &si, sizeof(si) );
si.cb = sizeof(si); // Start the child process.
if( !CreateProcess( NULL,
"MyChildProcess",
NULL,
NULL,
FALSE,
0,
NULL,
NULL,
&si,
&pi )
)
{
printf( "Create Process failed." );
} //等待子进程结束
WaitForSingleObject( pi.hProcess, INFINITE ); //关闭句柄
CloseHandle( pi.hProcess );
CloseHandle( pi.hThread );
}