vlibrasPlayerInstall.cpp 1.5 KB


#include <windows.h>  //include all the basics
   //string and other mapping macros


int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, 
    LPSTR lpCmdLine, int nShowCmd)
{
	
	  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, "python");  
      strcat(Args, " "); 
      //the parameters passed to the application being run from the command window.
      strcat(Args, "py\\update.pyc"); 

      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 0;
}