在MFC程序中启动其他的exe程序
ShellExecute(NULL, "open", "http://www.sina.com.cn", NULL, NULL, SW_SHOWNORMAL);
// ShellExecute(NULL, "open", "C:\\Documents and Settings\\Administrator\\桌面\\xq1\\TestChess0.exe", NULL, NULL, SW_SHOWNORMAL);
还可以使用一个ShellExecuteEx的函数,在那里可以设置工作目录路径
工作中曾经有同事使用了 ShellExecute但是没有使用.exe的工作目录路径,所以有些图片调用不出来
阅读排行榜评论排行榜
Q: 如何打开一个应用程序?
ShellExecute(this->m_hWnd,"open","calc.exe","","", SW_SHOW );或 ShellExecute(this->m_hWnd,"open","notepad.exe","c:\\MyLog.log","",SW_SHOW );正如您所看到的,我并没有传递程序的完整路径。
Q: 如何打开一个同系统程序相关连的文档?
ShellExecute(this->m_hWnd,"open","c:\\abc.txt","","",SW_SHOW );
Q: 如何打开一个网页?
ShellExecute(this->m_hWnd,"open","","","", SW_SHOW );
Q: 如何激活相关程序,发送EMAIL?
ShellExecute(this->m_hWnd,"open","mailto:nishinapp@yahoo.com","","", SW_SHOW );
Q: 如何用系统打印机打印文档?
ShellExecute(this->m_hWnd,"print","c:\\abc.txt","","", SW_HIDE);
Q: 如何用系统查找功能来查找指定文件?
ShellExecute(m_hWnd,"find","d:\\nish",NULL,NULL,SW_SHOW);
Q: 如何启动一个程序,直到它运行结束?
SHELLEXECUTEINFO ShExecInfo = {0};
ShExecInfo.cbSize = sizeof(SHELLEXECUTEINFO);
ShExecInfo.fMask = SEE_MASK_NOCLOSEPROCESS;
ShExecInfo.hwnd = NULL;
ShExecInfo.lpVerb = NULL;
ShExecInfo.lpFile = "c:\\MyProgram.exe";
ShExecInfo.lpParameters = "";
ShExecInfo.lpDirectory = NULL;
ShExecInfo.nShow = SW_SHOW;
ShExecInfo.hInstApp = NULL;
ShellExecuteEx(&ShExecInfo);
WaitForSingleObject(ShExecInfo.hProcess,INFINITE);
或:
PROCESS_INFORMATION ProcessInfo;
STARTUPINFO StartupInfo; //This is an [in] parameter
ZeroMemory(&StartupInfo, sizeof(StartupInfo));
StartupInfo.cb = sizeof StartupInfo ; //Only compulsory field
if(CreateProcess("c:\\winnt\\notepad.exe", NULL,
NULL,NULL,FALSE,0,NULL,
NULL,&StartupInfo,&ProcessInfo))
{
WaitForSingleObject(ProcessInfo.hProcess,INFINITE);
CloseHandle(ProcessInfo.hThread);
CloseHandle(ProcessInfo.hProcess);
}
else
{
MessageBox("The process could not be started...");
}
Q: 如何显示文件或文件夹的属性?
SHELLEXECUTEINFO ShExecInfo ={0};
ShExecInfo.cbSize = sizeof(SHELLEXECUTEINFO);
ShExecInfo.fMask = SEE_MASK_INVOKEIDLIST ;
ShExecInfo.hwnd = NULL;
ShExecInfo.lpVerb = "properties";
ShExecInfo.lpFile = "c:\\"; //can be a file as well
ShExecInfo.lpParameters = "";
ShExecInfo.lpDirectory = NULL;
ShExecInfo.nShow = SW_SHOW;
ShExecInfo.hInstApp = NULL;
ShellExecuteEx(&ShExecInfo);
分享到:
相关推荐
MFC开机自启动设置,显示为托盘程序,双击托盘,显示窗口,单击右键,显示子菜单,采用VS2013 VC++编程
简单的MFC程序,完成程序启动时的启动画面效果
VS2010/MFC 启动程序检查自身是否已经在运行。如果已经有一个在运行,则退出当前,并把原来已经运行的程序激活显示在当前窗口中。
MFC编写的控制MFC程序,判断只能运行一次,编译成功,能够直接用
MFC实现程序只启动一次,如果程序已经启动则把程序掉到窗口最前面
里面的C++文件可以实行开机启动的功能,供各位刚开始学习C++的同学使用学习。
可以很简单的使用该短小的文档实现MFC中窗口启动程序,使用的sleep函数虽然不是很完美 可以优化
包含两个程序:第一个,实现开机启动程序,第二个,程序启动后隐藏在托盘,作为定时程序。
mfc程序获得命令行参数,vc6.0实现 // 获取命令行 CString strCommandLine = "获得的命令行参数为:"; strCommandLine += GetCommandLine(); MessageBox(strCommandLine);
MFC程序中如何接受命令行参数 line函数的详解
MFC中用CreateProcess调用外部程序
改程序实现让MFC对话框程序可以在后台运行,同时可以通过热键将后台运行的程序调出到前台显示。改程序用VC++6.0编写
MFC程序执行流程
其他release版、MFC程序什么的都是拷redist下相应文件夹下的文件就可以了,文件夹后都有标识! 方法二: 修改编译选项,将/MD或/MDd 改为 /MT或/MTd,这样就实现了对VC运行时库的静态链接,在运行时就不再需要VC的...
主要介绍了VS2019创建MFC程序的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
MFC设置开机自动启动源代码
大程序启动时,一般都是先弹出来一个画面,然后再进入程序。在VC里面怎么才能实现?看完这个文档大家就都会了!
修改可运行程序的启动图标通过修改resource.h对应的加载图标的ID为最小来实现; 修改关于对话框的图标可通过覆盖工程中res文件夹下的项目名.ico图标来实现. 您可能感兴趣的文章:MFC中动态创建控件以及事件响应实现...
MFC Windows 程序设计之程序启动画面,适合初学MFC的小伙伴学习研究,博客中有对应的讲解和演示,避免走弯路,费时费力。也真心希望能够帮助正在苦学MFC Windows 程序设计的小伙伴们,你们的成长是我最大的幸福
可配置mfc看门狗程序,最多同时检测十个程序,让你不再为程序死机而烦恼!