怎样在VC中启动一个可执行文件

zhao_sh 2002-06-11 09:29:18
怎样在VC中启动一个可执行文件,其中这个可执行文件可以是任意语言编写的。最好能给一个简单的例程,谢谢!!!
...全文
164 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
memory_xj 2002-06-11
  • 打赏
  • 举报
回复
我也从其它地方学的。用ShellExecute,取代WinExec。你可以给它任何文件的名字,它都能识别出来并打开它。例如:

ShellExecute(NULL,"open","iloveu.bmp",NULL,NULL,SW_SHOWNORMAL);


用缺省的位图编辑器打开一个叫iloveu.bmp的位图文件,这个缺省的位图编辑器可能是Microsoft Paint, Adobe Photoshop, 或者 Corel PhotoPaint。

有关ShellExecute的详细用法信息自己去参考有关资料吧,重要的是你知道了这个函数能打开任何文件,甚至是桌面和URL快捷方式( .ink或 .url)。ShellExecute解析系统注册表HKEY_CLASSES_ROOT中所有的内容,判断启动那一个执行程序,并且启动一个新的实例或使用DDE将文件名连到一打开的实例。然后,ShellExecute 返回打开文件的应用的实例句柄。

更奇妙的是ShellExecute不仅能打开机器上的文件,还能打开Internet的站点地址。例如:

ShellExecute(NULL, "open", "http://www.microsoft.com", NULL, NULL, SW_SHOWNORMAL);
liugy 2002-06-11
  • 打赏
  • 举报
回复
WinExec("notepad.exe", SW_SHOW);
mfkzj 2002-06-11
  • 打赏
  • 举报
回复
#include<windows.h>
void main()
{
BOOL Success;
STARTUPINFO si;
PROCESS_INFORMATION pi;
memset(&si, 0, sizeof(si));
si.cb = sizeof(si);

si.dwFlags = STARTF_USESHOWWINDOW | STARTF_USESTDHANDLES;
si.wShowWindow = SW_SHOW;
Success = CreateProcess("E:\\练习\\MyApp\\mousehook\\TEST\\Debug\\test.EXE",//NULL,/* filename */
TEXT("test"),//NULL,NOTEPAD/* full command line for child */
NULL,/* process security descriptor */
NULL,/* thread security descriptor */
FALSE,/* inherit handles? Also use if STARTF_USESTDHANDLES */
HIGH_PRIORITY_CLASS,/* creation flags */
NULL,/* inherited environment address */
NULL, /* startup dir; NULL = start in current */
&si, /* pointer to startup info (input) */
&pi); /* pointer to process info (output) */
}
saucer 2002-06-11
  • 打赏
  • 举报
回复
or
CreateProcess(...), for example:

STARTUPINFO sinfo;
PROCESS_INFORMATION pinfo;

ZeroMemory( &sinfo, sizeof( STARTUPINFO ) );
ZeroMemory( &pinfo, sizeof( PROCESS_INFORMATION ) );
sinfo.cb = sizeof( STARTUPINFO );
sinfo.dwFlags = STARTF_USESHOWWINDOW;
sinfo.wShowWindow = SW_SHOWNORMAL;

if ( !CreateProcess( NULL,
_T("notepad.exe C:\\foo.txt"),
NULL,
NULL,
FALSE,
0,
NULL,
NULL,
&sinfo,
&pinfo ) )
{
//canot start
}
iceneve 2002-06-11
  • 打赏
  • 举报
回复
winexec
蒋晟 2002-06-11
  • 打赏
  • 举报
回复
ShellExecute

16,547

社区成员

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

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

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