CreateProcess not working
CreateProcess not working
我在获得以下代码工作在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");
}
}
您需要将STARTUPINFO归零
ZeroMemory(&si, sizeof(si));
我引用MSDN:
函数将不使用搜索路径。该参数必须包括文件扩展名;没有默认的扩展名
所以你不能只使用cmd。这将取决于您的工作目录,如果它将工作。如果您使用完整路径,它将工作。这是我机器上的一个工作示例。
char *hotkeyexe = "c:\Windows\notepad.exe";
PROCESS_INFORMATION pi;
STARTUPINFO si;
ZeroMemory(&si, sizeof(si));
if(!CreateProcess(hotkeyexe, "", 0, 0, 0, 0, 0, 0, &si, &pi))
printf("error");
scanf("%d");
相关文章:
- GDB - strcmp not working: __strcmp_sse2_unaligned
- QT qScriptConnect is not working
- QDesktopServices::openUrl() not working Qt
- "Configure: Error: Could Not Find a Working Compiler, See config.log For Details"
- C++ std::set ordering not working with customer class*
- C++ SetWindowText not working
- visual studio 2012 c++ hello world - iostream not working
- getGravity not working?
- Opencv findcontours CV_RETR_EXTERNAL not working
- c++ srand() not working
- std::queue::empty() not working?
- BCB swprintf not working
- 将类型作为指向另一个类的对象的指针的泛型类-NOT WORKING
- LoadLibrary is not working
- gluUnProject not working
- C++ catch bad_alloc not working
- updatelayeredwindow not working
- OpenMP set_num_threads() is not working
- glOrtho not working
- Cuda atomicInc not working