如何使用createprocess在PATH中执行adb程序?

时间:2015-01-11 04:01:16

标签: c adb createprocess

我已将 adb 位置添加到路径中。在我的 C 项目中,我想执行流动的cmd:

char *broadcastStop = "adb shell am broadcast -a NotifyServiceStop";

char *forward = "adb forward tcp:12582 tcp:10086";

char *broadcastStart = "adb shell am broadcast -a NotifyServiceStart";

我可以使用 system()来运行上述操作。现在我想运行那些隐藏控制台的人。我发现了许多类似的问题,并告诉 CreateProcess 可以做到。

这是我的代码:

void system_hide(char *cmd)
{
    STARTUPINFOW si;
    PROCESS_INFORMATION pi;

    ZeroMemory(&si, sizeof(si));
    si.cb = sizeof(si);
    ZeroMemory(&pi, sizeof(pi));

    if (CreateProcessW(NULL, cmd, NULL, NULL, FALSE, CREATE_NO_WINDOW, NULL, NULL, &si, &pi))
    {
    WaitForSingleObject(pi.hProcess, INFINITE);
    CloseHandle(pi.hProcess);
    CloseHandle(pi.hThread);

    }
}

它没有正确运行,

我想 CreateProcess 的参数是错误的。

希望有正确的版本。提前谢谢。

0 个答案:

没有答案