我正在尝试创建一个函数,该函数在 Firefox 中打开一个与主进程分开的 PDF。我相信我在使用 createProcess 的参数时遇到问题......非常感谢任何帮助
编辑:正在创建批处理文件,我已经对其进行了多次测试,并解释一下:批处理文件是因为我真的不知道自己在做什么,我是计算机科学专业的学生,这是一方面项目来帮助我的工作。我在一家律师事务所工作,并在邮件收到时以电子方式归档。我想制作一个简单的程序,该程序将遍历扫描目录,显示扫描并提示用户输入有关文档的信息。因此我需要能够动态地构建文件路径。最初我是使用“系统”来打开 Firefox 并显示文档。经过一番尝试,我让它与批处理文件一起工作。然后我了解到 system 是一个阻塞命令,我需要启动一个单独的线程。这是我遇到createprocess的地方。
void openPDF(char scansQueue[][MAX_NAME], int index)
{
// build bat file
fstream outfile;
outfile.open("C:\\firefox.bat");
if(outfile.good())cout<<"outfile good!!!!"<<endl;
outfile<<"\"C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe\" \"C:\\Scans\\" <<scansQueue[index]<<"\"";
STARTUPINFOW si;
PROCESS_INFORMATION pi;
ZeroMemory( &si, sizeof(si) );
si.cb = sizeof(si);
ZeroMemory( &pi, sizeof(pi) );
if(!CreateProcess(NULL, L"C:\\firefox", NULL, NULL, false, 0, NULL, NULL, &si, &pi))cout<<"PROCESS FAILED TO EXECUTE!!!";
CloseHandle( pi.hProcess );
CloseHandle( pi.hThread );
}