vc++如何运行bat文件

如何用vc函数或语句执行一个bat文件,即达到双击bat文件的效果... 如何用vc函数或语句执行一个bat文件,即达到双击bat文件的效果 展开
 我来答
dong_1984dd
推荐于2017-09-03 · TA获得超过1.1万个赞
知道小有建树答主
回答量:1070
采纳率:100%
帮助的人:228万
展开全部
  1. C++ 代码如下:

  2. STARTUPINFO si = {sizeof(si)};)//设定结构的大小
     PROCESS_INFORMATION pi = {0};

    //执行bat 文件路径
     TCHAR szPath[MAX_PATH] = _T("F:\\11.bat");

    //执行bat 文件
     if(CreateProcess(NULL, szPath, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi))
     {
      CloseHandle(pi.hThread);
      CloseHandle(pi.hProcess);
     }

  3. 结构体介绍:

  4. typedef  struct _STARTUPINFO
    {
        DWORD cb;            //包含STARTUPINFO结构中的字节数.如果Microsoft将来扩展该结构,它可用作版本控制手段.应用程序必须将cb初始化为sizeof  ( STARTUPINFO )  
        PSTR  lpReserved;      //保留。必须初始化为N U L L  
        PSTR lpDesktop;    //用于标识启动应用程序所在的桌面的名字。如果该桌面存在,新进程便与指定的桌面相关联。如果桌面不存在,便创建一个带有默认属性的桌面,并使用为新进程指定的名字。    如果lpDesktop是NULL(这是最常见的情况  ),那么该进程将与当前桌面相关联  
        PSTR  lpTitle;    //用于设定控制台窗口的名称。如果l p Ti t l e 是N U L L  ,则可执行文件的名字将用作窗口名  
        DWORD dwX;        //用于设定应用程序窗口在屏幕上应该放置的位置的x 和y 坐标(以像素为单位)。  
        DWORD dwY;       //只有当子进程用CW_USEDEFAULT作为CreateWindow的x参数来创建它的第一个重叠窗口时,    才使用这两个坐标。若是创建控制台窗口的应用程序,这些成员用于指明控制台窗口的左上角  

        DWORD dwXSize;  //用于设定应用程序窗口的宽度和长度(以像素为单位)只有dwYsize  
        DWORD dwYSize;  //  当子进程将CW_USEDEFAULT 用作CreateWindow  的nWidth参数来创建它的第一个重叠窗口时,才使用这些值。若是创建控制台窗口的应用程序,这些成员将用于指明控制台窗口的宽度  
        DWORD dwXCountChars;  //用于设定子应用程序的控制台窗口的宽度和高度(以字符为单位)  
        DWORD dwYCountChars;
        DWORD dwFillAttribute;   //用于设定子应用程序的控制台窗口使用的文本和背景颜色  
        DWORD dwFlags;           //请参见下一段和表4 - 7 的说明  
        WORD wShowWindow;        //用于设定如果子应用程序初次调用的ShowWindow 将SW_SHOWDEFAULT  作为    nCmdShow 参数传递时,该应用程序的第一个重叠窗口应该如何出现。本成员可以是通常用于ShowWindow 函数的任何一个SW_*标识符  
        WORD cbReserved2;        //保留。必须被初始化为0  
        PBYTE lpReserved2;       //保留。必须被初始化为N U L L  
        HANDLE hStdInput;        //用于设定供控制台输入和输出用的缓存的句柄。按照默认设置,hStdInput  用于标识键盘缓存,hStdOutput 和hStdError用于标识控制台窗口的缓存  
        HANDLE hStdOutput;
        HANDLE hStdError;
    } STARTUPINFO,  *LPSTARTUPINFO;

最硬的石头
推荐于2017-09-15 · 超过14用户采纳过TA的回答
知道答主
回答量:51
采纳率:0%
帮助的人:32.3万
展开全部
ShellExeC
UINT WinExec(
LPCSTR lpCmdLine,
UINT uCmdShow
);
第一个参数:
命令行,文件名和参数,如没指定路径会按以下顺序查找: 程序目录/当前目录/System32/Windows/PATH环境变量

第二个参数显示参数类型,同ShowWindows可能的取值为 :
SW_HIDE //程序启动后隐藏主窗口
SW_MAXIMIZE //最大化运行
SW_MINIMIZE //最小化运行
SW_RESTORE //将最大化或最小化的窗口恢复正常
SW_SHOW //以当前位置和大小显示主窗口
SW_SHOWMAXIMIZED //激活窗口并以最大化运行
SW_SHOWMINIMIZED //激活窗口并以最小化运行
SW_SHOWMINNOACTIVE //最小化运行,但不激活
SW_SHOWNOACTIVATE //以上一次的窗口大小运行,但不激活
SW_SHOWNORMAL //普通方式,一般运行时采用这个

使用方法如下:
WinExec("Notepad.exe", SW_SHOW); // 打开记事本
WinExec("D:\\Program Files\\Test\\Test.exe",SW_SHOWMAXIMIZED); // 以最大化的方式打开Test.exe
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dony_fox
2010-07-30 · 超过31用户采纳过TA的回答
知道答主
回答量:137
采纳率:0%
帮助的人:96.4万
展开全部
WinExec( "*.bat",SW_SHOW);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式