auto working_dir = std::experimental::filesystem::current_path().string(); STARTUPINFO startup_info {}; startup_info.cb = sizeof(STARTUPINFO); PROCESS_INFORMATION processor_information {}; auto microstation_command_line = "(C:\\Program Files\\Bentley\\MicroStation CONNECT Edition\\MicroStation\\microstation.exe -R \")" + dgn_file + "\""; auto a = std::string(R"(C:\Program Files\Bentley\MicroStation CONNECT Edition\MicroStation\microstation.exe)"); CreateProcessA( nullptr, &a[0], nullptr, nullptr, FALSE, NORMAL_PRIORITY_CLASS | CREATE_NEW_CONSOLE | DEBUG_ONLY_THIS_PROCESS, nullptr, &working_dir[0], &startup_info, &processor_information);
以上是代码示例。我用别的程序(chrome.exe)试可以启动
CreateProcessA的第一个参数是.exe文件的路径。
Answer Verified By: xiang shi
我按你说又试了一下,发现可以了。这个方法的参数真的太迷了,我上面的那种试其他软件是行的。
解决了,谢谢。