c++怎样去启动电脑的其他程序     

        在我刚刚学习完c,和c++出来工作的时候,遇到一个问题,就是怎么去启动电脑里的其他程序,不看不知道,一看吓一跳,其实很简单,就是一个创建进程的函数CreateProcessW();在#include<windows.h>头文件里面。用vs,vc都可以。

           首先,我们需要找到我们要启动的程序的路径,比如QQ音乐;那我们就要获取他的路径 

C:\Program Files (x86)\Tencent\QQMusic\QQMusic1273.10.33.58\QQMusic.exe这是我的路径,然后定义一个wstring szCmdLine把它装起来,wstring 类在#include <string>头文件里,

            那么,接下来就是调用系统的API函数来创建进程执行这个.exe文件

    BOOL ret = ::CreateProcessW(
                                                 NULL,
                                                &szCmdLine[0],
                                               NULL,
                                                NULL,
                                                 0,
                                                 0,
                                                 NULL,
                                                NULL,
                                                  &si,
                                                     &pi);

            这样,就可以完成调用其它程序的功能了,

             下面是一个简单的完整代码:

// ConsoleApplication3.cpp : 定义控制台应用程序的入口点。
//#include "stdafx.h"
#include <iostream>
#include <string>
#include<windows.h>
#include<iostream>using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{ wstring szCmdLine = L"E:\\svn\\备份\\cefclient\\Release\\安装包\\科学阅读器
Setup.exe";
//wstring szCmdLine = L"C:\\Users\\Jin\\Documents\\Visual Studio 2013\\Projects\\Win32Project2\\Debug\\Win32Project2.exe";
STARTUPINFO si = { sizeof(si) };
PROCESS_INFORMATION pi;
si.wShowWindow = 1;
//si.dwFlags = STARTF_USESHOWWINDOW;
BOOL ret = ::CreateProcessW(
NULL,
&szCmdLine[0],
NULL,
NULL,
0,
0,
NULL,
NULL,
&si,
&pi);
if(ret)
{
::CloseHandle(pi.hProcess);
::CloseHandle(pi.hThread);
std::cout<<"新进程的id:"<<pi.dwProcessId<<std::endl
<<"Thread id:"<<pi.dwThreadId<<std::endl;
}return 0;
}//希望能给大家帮助