+ Add StartupConsoleMode as for win32

git-svn-id: trunk@14125 -
This commit is contained in:
pierre 2009-11-09 17:01:16 +00:00
parent 19cc28d974
commit 90d1dac1d3

View File

@ -93,6 +93,7 @@ var
argv : ppchar; argv : ppchar;
{ Win32 Info } { Win32 Info }
startupinfo : tstartupinfo; startupinfo : tstartupinfo;
StartupConsoleMode : dword;
hprevinst, hprevinst,
MainInstance : qword; MainInstance : qword;
cmdshow : longint; cmdshow : longint;
@ -104,13 +105,13 @@ const
Dll_Process_Detach_Hook : TDLL_Entry_Hook = nil; Dll_Process_Detach_Hook : TDLL_Entry_Hook = nil;
Dll_Thread_Attach_Hook : TDLL_Entry_Hook = nil; Dll_Thread_Attach_Hook : TDLL_Entry_Hook = nil;
Dll_Thread_Detach_Hook : TDLL_Entry_Hook = nil; Dll_Thread_Detach_Hook : TDLL_Entry_Hook = nil;
Const Const
{ it can be discussed whether fmShareDenyNone means read and write or read, write and delete, see { it can be discussed whether fmShareDenyNone means read and write or read, write and delete, see
also http://bugs.freepascal.org/view.php?id=8898, this allows users to configure the used also http://bugs.freepascal.org/view.php?id=8898, this allows users to configure the used
value value
} }
fmShareDenyNoneFlags : DWord = 3; fmShareDenyNoneFlags : DWord = 3;
implementation implementation
@ -423,12 +424,14 @@ procedure Exe_entry;[public,alias:'_FPC_EXE_Entry'];
system_exit; system_exit;
end; end;
function GetConsoleMode(hConsoleHandle: THandle; var lpMode: DWORD): Boolean; stdcall; external 'kernel32' name 'GetConsoleMode';
function Dll_entry{$ifdef FPC_HAS_INDIRECT_MAIN_INFORMATION}(const info : TEntryInformation){$endif FPC_HAS_INDIRECT_MAIN_INFORMATION} : longbool;forward; function Dll_entry{$ifdef FPC_HAS_INDIRECT_MAIN_INFORMATION}(const info : TEntryInformation){$endif FPC_HAS_INDIRECT_MAIN_INFORMATION} : longbool;forward;
procedure _FPC_mainCRTStartup;stdcall;public name '_mainCRTStartup'; procedure _FPC_mainCRTStartup;stdcall;public name '_mainCRTStartup';
begin begin
IsConsole:=true; IsConsole:=true;
GetConsoleMode(GetStdHandle((Std_Input_Handle)),StartupConsoleMode);
Exe_entry; Exe_entry;
end; end;