detect output redirection on windows

git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@1049 0fc631ac-6414-0410-93d0-97cfa31319b6
This commit is contained in:
twanvl
2008-08-04 14:46:57 +00:00
parent dd80a51e96
commit b7caecabf0
+9 -1
View File
@@ -52,8 +52,16 @@ IMPLEMENT_APP(MSE)
/// Write a message to the console if it is available, and to a message box otherwise
void write_stdout(const String& str) {
bool have_console = false;
#ifndef __WXMSW__
#ifdef __WXMSW__
// somehow detect whether to use console output
// GetStdHandle sometimes returns an invalid handle instead of INVALID_HANDLE_VALUE
// check with GetHandleInformation
HANDLE h = GetStdHandle(STD_OUTPUT_HANDLE);
DWORD flags;
bool ok = GetHandleInformation(h,&flags);
if (ok) have_console = true;
#elif __WXGTK__
have_console = true; // always use console on *nix (?)
#endif
if (have_console) {
wxFileOutputStream file(wxFile::fd_stdout);