не работает процесс создания

У меня возникли проблемы с тем, чтобы следующий код работал на C++ (консольное приложение VC++). Он просто не создает процесс, а выводит текст ошибки.

static void main(){
    char *hotkeyexe = "cmd";
    PROCESS_INFORMATION pi;
    STARTUPINFO si;

    if(!CreateProcess(hotkeyexe, "", 0, 0, 0, 0, 0, 0, &si, &pi))
        printf("error");
        scanf("%d");
    }
}

person Eduard Luca    schedule 26.10.2011    source источник
comment
int main, а не static void main.   -  person Cat Plus Plus    schedule 26.10.2011


Ответы (2)


Вам нужно обнулить STARTUPINFO.

ZeroMemory(&si, sizeof(si));
person Joshua    schedule 26.10.2011
comment
разобрался. мне пришлось инвертировать первые 2 параметра (не знаю, почему), но теперь это работает. Благодарю. отметит ваш ответ как правильный, потому что без вашего предложения программа тоже не заработала бы. - person Eduard Luca; 26.10.2011
comment
Скомпилируйте со всеми предупреждениями. Подозрительное преобразование указателя обычно является бесполезным. - person Joshua; 27.10.2011