Я написал Project.exe, который показывает Hello World.Напишите основной процесс для создания дочернего процесса Project.exe.Однако, когда я помещаю Projetc.exe в C: / Windows / System32 /, я не могу правильно создать дочерний процесс Project.exe, но он может быть создан нормально, когда я помещаю его в другие каталоги.
Основная программа выглядит следующим образом:
#include <Windows.h>
#include <string.h>
#include <stdio.h>
int main() {
STARTUPINFO si;
memset(&si, 0, sizeof(si));
si.cb = sizeof(si);
PROCESS_INFORMATION pi;
wchar_t *p = (wchar_t*)TEXT("C:/Windows/System32/Project1.exe");
CreateProcess(p, 0, 0, 0, 0, 0, 0, 0, &si, &pi);
DWORD CurId = GetCurrentProcessId(); //Get the ID of the current process
DWORD Pid = pi.dwProcessId; //ID of the created process
DWORD Tid = pi.dwThreadId; //The main thread ID of the created child process
printf("the ID of the current process: %d\nID of the created process: %d\nThe main thread ID of the created child process %d\n", CurId, Pid, Tid);
WaitForSingleObject(pi.hProcess, -1);
}
Результат операции:
Если я поместил Project.exe в E: /,результат
В чем причина этого, как мне нужно изменить его для успешной работы в / System32 /?