Ignore:
Timestamp:
Dec 3, 2002, 12:39:40 PM (23 years ago)
Author:
sandervl
Message:

Added function to override loader names (pe/pec/w16odin)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/kernel32/wprocess.cpp

    r9449 r9455  
    1 /* $Id: wprocess.cpp,v 1.160 2002-12-02 09:34:46 sandervl Exp $ */
     1/* $Id: wprocess.cpp,v 1.161 2002-12-03 11:39:40 sandervl Exp $ */
    22
    33/*
     
    17501750//******************************************************************************
    17511751//******************************************************************************
     1752const char *szPECmdLoader = "PEC.EXE";
     1753const char *szPEGUILoader = "PE.EXE";
     1754const char *szNELoader    = "w16odin.exe";
     1755//******************************************************************************
     1756//Override loader names (PEC, PE, W16ODIN)
     1757//NOTE: String must be resident
     1758//******************************************************************************
     1759BOOL WIN32API ODIN_SetLoaders(LPCSTR pszPECmdLoader, LPCSTR pszPEGUILoader,
     1760                              LPCSTR pszNELoader)
     1761{
     1762    if(pszPECmdLoader)   szPECmdLoader = pszPECmdLoader;
     1763    if(pszPEGUILoader)   szPEGUILoader = pszPEGUILoader;
     1764    if(pszNELoader)      szNELoader = pszNELoader;
     1765
     1766    return TRUE;
     1767}
     1768//******************************************************************************
     1769//******************************************************************************
    17521770BOOL WINAPI CreateProcessA( LPCSTR lpApplicationName, LPSTR lpCommandLine,
    17531771                            LPSECURITY_ATTRIBUTES lpProcessAttributes,
     
    19261944
    19271945      if(SubSystem == IMAGE_SUBSYSTEM_WINDOWS_CUI)
    1928         lpszExecutable = "PEC.EXE";
     1946        lpszExecutable = (LPSTR)szPECmdLoader;
    19291947      else
    1930         lpszExecutable = "PE.EXE";
     1948        lpszExecutable = (LPSTR)szPEGUILoader;
    19311949
    19321950      lpszPE = lpszExecutable;
     
    19872005
    19882006        newcmdline = (char *)malloc(strlen(szAppName) + strlen(cmdline) + 16);
    1989         sprintf(newcmdline, "w16odin.exe %s", szAppName, lpCommandLine);
     2007        sprintf(newcmdline, "%s %s", szNELoader, szAppName, lpCommandLine);
    19902008        free(cmdline);
    19912009        cmdline = newcmdline;
    19922010        //Force Open32 to use DosStartSession (DosExecPgm won't do)
    19932011        dwCreationFlags |= CREATE_NEW_PROCESS_GROUP;
    1994         rc = O32_CreateProcess("w16odin.exe", (LPCSTR)cmdline, lpProcessAttributes,
     2012        rc = O32_CreateProcess(szNELoader, (LPCSTR)cmdline, lpProcessAttributes,
    19952013                               lpThreadAttributes, bInheritHandles, dwCreationFlags,
    19962014                               lpEnvironment, lpCurrentDirectory, lpStartupInfo,
Note: See TracChangeset for help on using the changeset viewer.