CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C++ Builder >  基础类

如何在我的主程序中运行另一个程序?

楼主Loff()2003-12-02 22:20:38 在 C++ Builder / 基础类 提问

比如,我的Form1中有个Botton,点击它就打开了星际争霸的主程序?亦即,在Botton的Onclick事件里加入什么代码? 问题点数:0、回复次数:10Top

1 楼fancy05(浪花)回复于 2003-12-02 22:45:14 得分 0

ShellExecute(Handle,"open","路径",0,0,SW_SHOW);Top

2 楼ycdelphicsdn(小新)回复于 2003-12-03 08:16:30 得分 0

上面的楼主说的没有错,就是这个函数Top

3 楼huoniao1976(火鸟1976)回复于 2003-12-03 08:20:05 得分 0

ShellExecute,或   WinExec  
  打开目录:ShellExecute(handle,"Explore","D:",0,0,SW_SHOWNORMAL);  
   
  也可以写成函数,只要传如   路径及文件名   就可以启动外部程序  
  ShellExecute(NULL,"open","c:\\program   file\\ahead\\nero.exe",0,0,SW_SHOW);  
  WinExec("c:\\program   file\\ahead\\nero.exe",SW_SHOWNORMAL);Top

4 楼kofbashen2001(八神)回复于 2003-12-03 08:40:05 得分 0

楼主难道想做跟星际相关的游戏不成??厉害哦!!  
  建议用winexec(),这个好且容易用哦.Top

5 楼lansb1(一也)回复于 2003-12-03 10:52:19 得分 0

8错,  
  楼主有前途.  
  PF  
   
  方法我就不屁话啦.Top

6 楼goneaway1981(当我们踏上征程)回复于 2003-12-03 13:04:11 得分 0

顶,同意楼上  
  Top

7 楼JedyWoody(学,然后知不足)回复于 2003-12-03 13:10:25 得分 0

CreateProcess()Top

8 楼yjy1001(蓝鲸--优秀得郁闷的鱼)回复于 2003-12-03 13:14:06 得分 0

用   ShellExecute(NULL,"open","d:\\star\\Starcraft.exe",0,0,SW_MAXIMIZE);  
  //自己   修改一下程序   路径   注意用   \\   表示路径\Top

9 楼lilachue(静水思雅)回复于 2003-12-03 13:15:15 得分 0

he   ShellExecute   function   opens   or   prints   a   specified   file.   The   file   can   be   an   executable   file   or   a   document   file.   See   ShellExecuteEx   also.    
   
  HINSTANCE   ShellExecute(  
   
          HWND   hwnd, //   handle   to   parent   window  
          LPCTSTR   lpOperation, //   pointer   to   string   that   specifies   operation   to   perform  
          LPCTSTR   lpFile, //   pointer   to   filename   or   folder   name   string  
          LPCTSTR   lpParameters, //   pointer   to   string   that   specifies   executable-file   parameters    
          LPCTSTR   lpDirectory, //   pointer   to   string   that   specifies   default   directory  
          INT   nShowCmd   //   whether   file   is   shown   when   opened  
        );  
     
   
  Parameters  
   
  hwnd  
   
  Specifies   a   parent   window.   This   window   receives   any   message   boxes   that   an   application   produces.   For   example,   an   application   may   report   an   error   by   producing   a   message   box.  
   
  lpOperation  
   
  Pointer   to   a   null-terminated   string   that   specifies   the   operation   to   perform.   The   following   operation   strings   are   valid:  
   
  String Meaning  
  "open" The   function   opens   the   file   specified   by   lpFile.   The   file   can   be   an   executable   file   or   a   document   file.   The   file   can   be   a   folder   to   open.  
  "print" The   function   prints   the   file   specified   by   lpFile.   The   file   should   be   a   document   file.   If   the   file   is   an   executable   file,   the   function   opens   the   file,   as   if   "open"   had   been   specified.  
  "explore" The   function   explores   the   folder   specified   by   lpFile.    
     
   
  The   lpOperation   parameter   can   be   NULL.   In   that   case,   the   function   opens   the   file   specified   by   lpFile.    
   
  lpFile  
   
  Pointer   to   a   null-terminated   string   that   specifies   the   file   to   open   or   print   or   the   folder   to   open   or   explore.   The   function   can   open   an   executable   file   or   a   document   file.   The   function   can   print   a   document   file.    
   
  lpParameters  
   
  If   lpFile   specifies   an   executable   file,   lpParameters   is   a   pointer   to   a   null-terminated   string   that   specifies   parameters   to   be   passed   to   the   application.  
  If   lpFile   specifies   a   document   file,   lpParameters   should   be   NULL.    
   
  lpDirectory  
   
  Pointer   to   a   null-terminated   string   that   specifies   the   default   directory.    
   
  nShowCmd  
   
  If   lpFile   specifies   an   executable   file,   nShowCmd   specifies   how   the   application   is   to   be   shown   when   it   is   opened.     This   parameter   can   be   one   of   the   following   values:    
   
  Value Meaning  
  SW_HIDE Hides   the   window   and   activates   another   window.  
  SW_MAXIMIZE Maximizes   the   specified   window.  
  SW_MINIMIZE Minimizes   the   specified   window   and   activates   the   next   top-level   window   in   the   Z   order.  
  SW_RESTORE Activates   and   displays   the   window.   If   the   window   is   minimized   or   maximized,   Windows   restores   it   to   its   original   size   and   position.   An   application   should   specify   this   flag   when   restoring   a   minimized   window.  
  SW_SHOW Activates   the   window   and   displays   it   in   its   current   size   and   position.    
  SW_SHOWDEFAULT Sets   the   show   state   based   on   the   SW_   flag   specified   in   the   STARTUPINFO   structure   passed   to   the   CreateProcess   function   by   the   program   that   started   the   application.   An   application   should   call   ShowWindow   with   this   flag   to   set   the   initial   show   state   of   its   main   window.  
  SW_SHOWMAXIMIZED Activates   the   window   and   displays   it   as   a   maximized   window.  
  SW_SHOWMINIMIZED Activates   the   window   and   displays   it   as   a   minimized   window.  
  SW_SHOWMINNOACTIVE Displays   the   window   as   a   minimized   window.   The   active   window   remains   active.  
  SW_SHOWNA Displays   the   window   in   its   current   state.   The   active   window   remains   active.  
  SW_SHOWNOACTIVATE Displays   a   window   in   its   most   recent   size   and   position.   The   active   window   remains   active.  
  SW_SHOWNORMAL Activates   and   displays   a   window.   If   the   window   is   minimized   or   maximized,   Windows   restores   it   to   its   original   size   and   position.   An   application   should   specify   this   flag   when   displaying   the   window   for   the   first   time.  
     
   
  If   lpFile   specifies   a   document   file,   nShowCmd   should   be   zero.    
   
     
   
  Return   Values  
   
  If   the   function   succeeds,   the   return   value   is   the   instance   handle   of   the   application   that   was   run,   or   the   handle   of   a   dynamic   data   exchange   (DDE)   server   application.  
  If   the   function   fails,   the   return   value   is   an   error   value   that   is   less   than   or   equal   to   32.   The   following   table   lists   these   error   values:  
   
  Value Meaning  
  0 The   operating   system   is   out   of   memory   or   resources.  
  ERROR_FILE_NOT_FOUND The   specified   file   was   not   found.  
  ERROR_PATH_NOT_FOUND The   specified   path   was   not   found.  
  ERROR_BAD_FORMAT The   .EXE   file   is   invalid   (non-Win32   .EXE   or   error   in   .EXE   image).  
  SE_ERR_ACCESSDENIED The   operating   system   denied   access   to   the   specified   file.    
  SE_ERR_ASSOCINCOMPLETE The   filename   association   is   incomplete   or   invalid.  
  SE_ERR_DDEBUSY The   DDE   transaction   could   not   be   completed   because   other   DDE   transactions   were   being   processed.  
  SE_ERR_DDEFAIL The   DDE   transaction   failed.  
  SE_ERR_DDETIMEOUT The   DDE   transaction   could   not   be   completed   because   the   request   timed   out.  
  SE_ERR_DLLNOTFOUND The   specified   dynamic-link   library   was   not   found.    
  SE_ERR_FNF The   specified   file   was   not   found.    
  SE_ERR_NOASSOC There   is   no   application   associated   with   the   given   filename   extension.  
  SE_ERR_OOM There   was   not   enough   memory   to   complete   the   operation.  
  SE_ERR_PNF The   specified   path   was   not   found.  
  SE_ERR_SHARE A   sharing   violation   occurred.  
     
   
  Remarks  
   
  The   file   specified   by   the   lpFile   parameter   can   be   a   document   file   or   an   executable   file.   If   the   file   is   a   document   file,   the   ShellExecute   function   opens   or   prints   it,   depending   on   the   value   of   the   lpOperation   parameter.   If   the   file   is   an   executable   file,   the   ShellExecute   function   opens   it,   even   if   lpOperation   specifies   printing.    
  You   can   use   ShellExecute   to   open   or   explore   a   shell   folder.   To   open   a   folder,   use   either   of   the   following   calls:  
   
  ShellExecute(handle,   NULL,   path_to_folder,   NULL,   NULL,   SW_SHOWNORMAL);  
   
  or  
       
   
  ShellExecute(handle,   "open",   path_to_folder,   NULL,   NULL,   SW_SHOWNORMAL);  
       
   
  To   explore   a   folder,   use   the   following   call:  
   
  ShellExecute(handle,   "explore",   path_to_folder,   NULL,   NULL,   SW_SHOWNORMAL);  
       
   
  If   lpOperation   is   NULL,   the   function   opens   the   file   specified   by   lpFile.   If   lpOperation   is   "open"   or   "explore",   the   function   will   force   an   open   window   or   explorer.  
   
  See   Also  
   
  FindExecutable,   ShellExecuteExTop

10 楼MartinWang(小磋磋)回复于 2003-12-03 13:46:59 得分 0

以前有人讨论过这样的问题,ShellExecute(),winexec()对像cs那样的游戏会报错!!:)Top

相关问题

  • *******如何让程序启动另一个程序,并阻塞当前运行的程序,等另一个程序运行结束后再唤醒主程序
  • 请问怎么让我的主程序带参数运行?
  • 求助:如何让主程序调用的程序只运行一次
  • 主窗体关闭后主程序仍然运行,怎么回事?
  • 如何显示一个子窗体,并暂停主程序运行,直到子程序运行结束。
  • VFP的程序怎么才能运行在任何目录下?主程序应该怎么写?
  • inno setup如何在安装时运行一个其他程序(不是软件的主程序)
  • 怎么去掉主程序运行窗口上的最大,最小化和关闭按钮???
  • 怎样自定义消息。在线程运行时发出消息,主程序收到消息后处理?
  • 如何在主程序运行之前,增加登陆界面的设置(Delphi6.0)?请兄弟们帮助。

关键词

  • shellexecute
  • 路径
  • 程序
  • winexec
  • sw
  • lpctstr
  • specifies
  • pointer
  • opened
  • handle

得分解答快速导航

  • 帖主:Loff

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo