C ++ CreateProcess-系统错误#2找不到文件-我的文件路径出了什么问题?

用户名

我正在尝试使用Firefox通过Firefox打开PDF CreateProcess(),我是一个初学者,对使用一无所知CreateProcess,但是在最后一个问题中,有人指出了它的MSDN ...它表明:

To run a batch file, you must start the command interpreter; 
set lpApplicationName to    cmd.exe and set lpCommandLine to the 
following arguments: /c plus the name of the batch file.

因此,我创建了一个使用system()命令可以完美运行的批处理文件,该批处理文件没有任何问题。

我不知道为什么系统找不到文件,并且我不知道它是批处理文件,批处理文件中的exe,批处理文件中的PDF doc还是cmd.exe...的位置。非常感谢...

void openPDF(char scansQueue[][MAX_NAME], int index)
{
// build batch file
char openPath[300];
char procCommand[MAX_NAME]="C:\\firefox";
char cmdEXE[MAX_NAME]="C:\\Windows\\System32\\cmd.exe";
fstream outfile;
outfile.open("C:\\firefox.bat");
copyCString(openPath,"\"C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe\"");
outfile << openPath;
outfile << ' ';
copyCString(openPath,"\"C:\\Scans\\");
catArray(openPath,scansQueue[index]);
catArray(openPath,"\"");

STARTUPINFOW si; 
    PROCESS_INFORMATION pi; 
    ZeroMemory( &si, sizeof(si) );
    si.cb = sizeof(si);
    ZeroMemory( &pi, sizeof(pi) );
cout<<"PROCESS ATTEMPT"<<endl;
if(!CreateProcess((LPCTSTR)cmdEXE ,(LPWSTR)procCommand, NULL, NULL, false, 0, NULL, NULL, &si, &pi))cout << GetLastError();cout<<"PROCESS FAILED TO EXECUTE!!!";
}
退休忍者

假设整个批处理文件都是XY问题的一部分,因为您实际上不需要制作批处理文件,您只想使用命令行参数启动Firefox。

我还假设您实际上并不需要传递带有要使用的索引的文件名的整个数组,而是应该像我在调用该函数的地方那样自行传递文件名。

#include <Windows.h>
#include <stdio.h>

void MsgBoxLastError()
{
    LPWSTR lpMsgBuf = NULL;
    if(FormatMessage(
        FORMAT_MESSAGE_ALLOCATE_BUFFER | 
        FORMAT_MESSAGE_FROM_SYSTEM |
        FORMAT_MESSAGE_IGNORE_INSERTS,
        NULL,
        GetLastError(),
        MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
        (LPWSTR)&lpMsgBuf,
        0, NULL ) != 0)
    {
        MessageBox(NULL, lpMsgBuf, L"Error", MB_OK);
    }
    LocalFree(lpMsgBuf);
}

void OpenWithFirefox(const char* Filename)
{
    const WCHAR pathToFirefox[] = L"C:/Program Files (x86)/Mozilla Firefox/firefox.exe";
    const WCHAR scanPrefix[] = L"file://C:/Scans/";
    WCHAR fullCommandLine[MAX_PATH] = {0};

    //Build full command line
    swprintf_s(fullCommandLine, L"\"%s\" \"%s%S\"", pathToFirefox, scanPrefix, Filename);

    STARTUPINFOW si; 
    PROCESS_INFORMATION pi; 
    ZeroMemory( &si, sizeof(si) );
    si.cb = sizeof(si);
    ZeroMemory( &pi, sizeof(pi) );
    BOOL success = CreateProcess(NULL, fullCommandLine, NULL, NULL, false, 0, NULL, NULL, &si, &pi);
    if(success)
    {
        CloseHandle(pi.hProcess);
        CloseHandle(pi.hThread);
    }
    else
    {
        MsgBoxLastError();
    }
}

int main()
{
    const int MAX_NAME = 13;
    char scansQueue[][MAX_NAME] =
    {
        "file1.pdf",
        "file2.pdf"
    };

    for(int i = 0; i < 2; ++i)
    {
        OpenWithFirefox(scansQueue[i]);
    }
    return 0;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

找不到CreateProcess()C ++文件

来自分类Dev

找不到CreateProcess()C ++文件

来自分类Dev

CreateProcess错误= 2,系统找不到指定的文件[Android studio]

来自分类Dev

CreateProcess错误= 2,系统找不到指定的文件

来自分类Dev

Blackberry错误:无法运行程序“ jar”:CreateProcess错误= 2,系统找不到指定的文件

来自分类Dev

AppStartError: CreateProcess: 系统找不到指定的文件

来自分类Dev

IOException:无法运行程序“ javac”:CreateProcess错误= 2,系统找不到指定的文件

来自分类Dev

Air-Adb:错误“无法运行程序” bash.exe”:CreateProcess错误= 2,系统找不到指定的文件)

来自分类Dev

java.io.IOException:无法运行程序“python”:CreateProcess error=2,系统找不到指定的文件

来自分类Dev

我的批处理文件出了什么问题

来自分类Dev

我的文件检查脚本出了什么问题?

来自分类Dev

在我的示例中,此C ++中的lambda函数出了什么问题-编译错误?

来自分类Dev

分段错误-如何找出我的代码出了什么问题?- C

来自分类Dev

错误2系统找不到指定的文件-Sublime Text 2

来自分类Dev

我的WHILE-DO循环出了什么问题,或者为什么我的脚本找不到在板上放置的文件?

来自分类Dev

C#中的Process.Start系统找不到指定的文件错误

来自分类Dev

Windows上的Objective C-错误-CreateProcess:没有这样的文件或目录

来自分类Dev

Python-WindowsError:[错误2]系统找不到指定的文件

来自分类Dev

pytesseract,WindowsError:[错误2]系统找不到指定的文件

来自分类Dev

无法解决“ WindowsError:[错误2]系统找不到指定的文件”

来自分类Dev

产生错误:产生(e = 2):系统找不到指定的文件

来自分类Dev

Pydub(WindowsError:[错误2]系统找不到指定的文件)

来自分类Dev

C++ - CreateProcess 失败代码 2

来自分类Dev

使用Shell Glob时,Ubuntu cron.daily返回路径错误-我的路径出了什么问题?

来自分类Dev

C makefile,在CCS中,“系统找不到指定的文件”

来自分类Dev

Java:系统找不到文件C:\ ... java.exe

来自分类Dev

Java:系统找不到文件C:\ ... java.exe

来自分类Dev

使用CreateProcess运行批处理文件

来自分类Dev

尝试从iOS将文件上传到OneDrive。我的要求出了什么问题?

Related 相关文章

  1. 1

    找不到CreateProcess()C ++文件

  2. 2

    找不到CreateProcess()C ++文件

  3. 3

    CreateProcess错误= 2,系统找不到指定的文件[Android studio]

  4. 4

    CreateProcess错误= 2,系统找不到指定的文件

  5. 5

    Blackberry错误:无法运行程序“ jar”:CreateProcess错误= 2,系统找不到指定的文件

  6. 6

    AppStartError: CreateProcess: 系统找不到指定的文件

  7. 7

    IOException:无法运行程序“ javac”:CreateProcess错误= 2,系统找不到指定的文件

  8. 8

    Air-Adb:错误“无法运行程序” bash.exe”:CreateProcess错误= 2,系统找不到指定的文件)

  9. 9

    java.io.IOException:无法运行程序“python”:CreateProcess error=2,系统找不到指定的文件

  10. 10

    我的批处理文件出了什么问题

  11. 11

    我的文件检查脚本出了什么问题?

  12. 12

    在我的示例中,此C ++中的lambda函数出了什么问题-编译错误?

  13. 13

    分段错误-如何找出我的代码出了什么问题?- C

  14. 14

    错误2系统找不到指定的文件-Sublime Text 2

  15. 15

    我的WHILE-DO循环出了什么问题,或者为什么我的脚本找不到在板上放置的文件?

  16. 16

    C#中的Process.Start系统找不到指定的文件错误

  17. 17

    Windows上的Objective C-错误-CreateProcess:没有这样的文件或目录

  18. 18

    Python-WindowsError:[错误2]系统找不到指定的文件

  19. 19

    pytesseract,WindowsError:[错误2]系统找不到指定的文件

  20. 20

    无法解决“ WindowsError:[错误2]系统找不到指定的文件”

  21. 21

    产生错误:产生(e = 2):系统找不到指定的文件

  22. 22

    Pydub(WindowsError:[错误2]系统找不到指定的文件)

  23. 23

    C++ - CreateProcess 失败代码 2

  24. 24

    使用Shell Glob时,Ubuntu cron.daily返回路径错误-我的路径出了什么问题?

  25. 25

    C makefile,在CCS中,“系统找不到指定的文件”

  26. 26

    Java:系统找不到文件C:\ ... java.exe

  27. 27

    Java:系统找不到文件C:\ ... java.exe

  28. 28

    使用CreateProcess运行批处理文件

  29. 29

    尝试从iOS将文件上传到OneDrive。我的要求出了什么问题?

热门标签

归档