CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C++ Builder >  基础类

请问如何在BCB执行一个外部程序 而不是调用它

楼主songshuhua(宝华)2005-06-01 10:50:53 在 C++ Builder / 基础类 提问

请问如何在BCB执行一个外部程序   而不是调用它   也就是说给指定地点的一个程序下一个运行的命令然后让它在幕后悄悄的运行而不显示运行过程(过程很短)。不是调用它。是让它跟我们在BCB之外运行一样     请教诸位高手了 问题点数:0、回复次数:8Top

1 楼netsys2(来电!)回复于 2005-06-01 11:03:09 得分 0

WinExec("test.exe",SW_HIDE);Top

2 楼netsys2(来电!)回复于 2005-06-01 11:03:26 得分 0

WinExec("test.exe",SW_HIDE);Top

3 楼xpdavis(咕嘟-不想孤独)回复于 2005-06-01 11:24:37 得分 0

想后台运行必须用CreateProcess函数Top

4 楼futulove(福途£爱)回复于 2005-06-01 11:25:18 得分 0

ShellExecuteTop

5 楼songshuhua(宝华)回复于 2005-06-01 13:54:39 得分 0

SHELL是调用了它运行一次   跟命令它在自己所在的地方运行不同  
  咕嘟老大能不能详细说明一下Top

6 楼xpdavis(咕嘟-不想孤独)回复于 2005-06-01 14:06:59 得分 0

STARTUPINFO   sinfo;                                                           //   进程启动所需信息  
        sinfo.cb   =   sizeof(STARTUPINFO);                                 //   结构体长度  
        memset(&sinfo,   0,   sizeof(STARTUPINFO));                 //   清除所有的域  
        sinfo.dwFlags   =   STARTF_FORCEOFFFEEDBACK;               //   关闭回馈  
        sinfo.wShowWindow   =   SW_SHOWDEFAULT;                         //   使用缺省窗口  
   
        String   AppName;                                                                 //   应用名称  
        TListItem   *Item   =   FItems->Item[CurIndex];             //   相应的列表项目  
        TStrings   *SubItems   =   Item->SubItems;                       //   相应的子项目  
        AppName.printf("%s%s.exe",   FAppPath.c_str(),   SubItems->Strings[4].c_str());  
                                                                                                      //   组合出应用名称  
        if(CreateProcess(AppName.c_str(),   Item->Caption.c_str(),   NULL,   NULL,  
              0,   CREATE_NO_WINDOW,   NULL,   FAppPath.c_str(),   &sinfo,   &FProcessList[CurIndex]))  
        {  
              SubItems->Strings[1]   =   "启动";                             //   设置进程的状态为启动  
              SubItems->Strings[2]   =   FormatDateTime("yyyy-mm-dd   hh:mm:ss",   Now());  
                                                                                                      //   填充进程启动时间  
        }  
        else   FProcessList[CurIndex].hProcess   =   NULL;       //   启动进程  
  Top

7 楼xpdavis(咕嘟-不想孤独)回复于 2005-06-01 14:12:25 得分 0

STARTUPINFO   sinfo;                                                           //   进程启动所需信息  
        sinfo.cb   =   sizeof(STARTUPINFO);                                 //   结构体长度  
        memset(&sinfo,   0,   sizeof(STARTUPINFO));                 //   清除所有的域  
        sinfo.dwFlags   =   STARTF_FORCEOFFFEEDBACK;               //   关闭回馈  
        sinfo.wShowWindow   =   SW_SHOWDEFAULT;                         //   使用缺省窗口  
   
        PROCESS_INFORMATION   pinfo;  
        if(CreateProcess("d:\\test\\test.exe",   "test   abc",   NULL,   NULL,  
              0,   CREATE_NO_WINDOW,   NULL,   "d:\\test",   &sinfo,   &PInfo))  
              ShowMessage("启动成功");  
        else   ShowMessage("启动失败");Top

8 楼xpdavis(咕嘟-不想孤独)回复于 2005-06-01 14:13:34 得分 0

前面的例子是项目中使用的,后面的例子更一般些,CREATE_NO_WINDOW表示没有窗口(后台运行)Top

相关问题

  • 怎样在BCB中调用外部可执行程序。
  • 关于可执行程序的调用
  • 欲在程序中调用另一个可执行程序(同为bcb做的),怎么办?
  • Delphi程序中怎样调用别的可执行程序?
  • bcb如何调用应用程序啊?
  • bcb调用windows的记事本程序
  • 如何调用外部程序并等待它执行完毕?
  • 怎样在程序里调用执行combobox的onchange事件
  • 请问 VC 如何调用可执行程序!
  • 怎么判断WinExec(...)调用的程序是否执行完毕?

关键词

  • null
  • sinfo
  • 运行
  • 程序
  • subitems
  • startupinfo
  • appname
  • sw
  • 是调用
  • item

得分解答快速导航

  • 帖主:songshuhua

相关链接

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

广告也精彩

反馈

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