如何从隐藏文件夹WinAPI运行程序

How to run program from hidden folder WinAPI

本文关键字:WinAPI 运行 程序 文件夹 隐藏文件 隐藏      更新时间:2023-10-16

我试着用以下代码运行程序:

    PROCESS_INFORMATION ProcInfo = { 0 };
    STARTUPINFO StartInfo = { 0 };
    StartInfo.cb = sizeof(StartInfo);
    if (!::CreateProcessW(NULL, (LPWSTR)wszPathToFile, NULL, NULL, FALSE, DETACHED_PROCESS, NULL, NULL, &StartInfo, &ProcInfo)) {
        return GetLastError();
    }

但我收到错误消息:系统找不到指定的路径wszPathToFile-文件的路径(例如:"C:\test\test.exe/retest")。文件夹"测试"被隐藏如何修复?

文件夹被隐藏与此无关。这在这里没有影响。

正如在注释中所讨论的,您正在强制转换lpCommandLine参数的事实表明szPathToFile不是正确的类型。它必须是指向可修改的宽字符数组的指针。如果是,那么可以省略强制转换,编译器将直接接受szPathToFile

最可能的szPathToFile实际上是指向ANSI编码的8位char的数组的指针。