Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- CreateProcess(NULL, lpszCommandLine, NULL, NULL, FALSE,
- CREATE_NO_WINDOW, NULL, NULL, &si, &pi);
- DWORD RunSilent(char* strFunct, char* strstrParams)
- {
- STARTUPINFO StartupInfo;
- PROCESS_INFORMATION ProcessInfo;
- char Args[4096];
- char *pEnvCMD = NULL;
- char *pDefaultCMD = "CMD.EXE";
- ULONG rc;
- memset(&StartupInfo, 0, sizeof(StartupInfo));
- StartupInfo.cb = sizeof(STARTUPINFO);
- StartupInfo.dwFlags = STARTF_USESHOWWINDOW;
- StartupInfo.wShowWindow = SW_HIDE;
- Args[0] = 0;
- pEnvCMD = getenv("COMSPEC");
- if(pEnvCMD){
- strcpy(Args, pEnvCMD);
- }
- else{
- strcpy(Args, pDefaultCMD);
- }
- // "/c" option - Do the command then terminate the command window
- strcat(Args, " /c ");
- //the application you would like to run from the command window
- strcat(Args, strFunct);
- strcat(Args, " ");
- //the parameters passed to the application being run from the command window.
- strcat(Args, strstrParams);
- if (!CreateProcess( NULL, Args, NULL, NULL, FALSE,
- CREATE_NEW_CONSOLE,
- NULL,
- NULL,
- &StartupInfo,
- &ProcessInfo))
- {
- return GetLastError();
- }
- WaitForSingleObject(ProcessInfo.hProcess, INFINITE);
- if(!GetExitCodeProcess(ProcessInfo.hProcess, &rc))
- rc = 0;
- CloseHandle(ProcessInfo.hThread);
- CloseHandle(ProcessInfo.hProcess);
- return rc;
- }
Add Comment
Please, Sign In to add comment