注册 登录
编程论坛 C++教室

萌新求教 c++使用createprocess调命令行出错

wsz123456 发布于 2020-07-05 08:56, 1247 次点击
#include "stdafx.h"
#include <windows.h>


int main(int argc, char* argv[])
{
    CreateProcess(
        _T("C:\\Windows\\SysWOW64\\cmd.exe"),
        _T("/c calc"),
    );
}
想知道是哪里出了错
1 回复
#2
rjsp2020-07-05 12:32
调命令行出错

遇到什么错误你不肯说说?!

另外,CreateProcess 需要很多个参数,你却只给了两个。遇到问题后你没去 msdn 看一眼它的函数原型?
https://docs.

程序代码:
#include <cstdio>
#include <windows.h>

int main( void )
{
    wchar_t cmdline[MAX_PATH];
    GetSystemDirectoryW( cmdline, _countof(cmdline) );
    wcscat( cmdline, L"/calc.exe" );

    STARTUPINFOW si = { sizeof(si) };
    PROCESS_INFORMATION pi;
    BOOL b = CreateProcessW( NULL, cmdline
                           , NULL, NULL, FALSE, NORMAL_PRIORITY_CLASS, NULL, NULL
                           , &si, &pi );
    if( !b )
    {
        puts( "failed to invoke CreateProcessW" );
        return 1;
    }

    WaitForSingleObject( pi.hProcess, INFINITE );
}
1