windows: allow MrEd-based console apps and Mz-based consoleless apps

svn: r229
This commit is contained in:
Matthew Flatt 2005-06-22 20:26:24 +00:00
parent 21a1fbe77d
commit 8c9aca0aef
3 changed files with 29 additions and 5 deletions

View File

@ -470,18 +470,23 @@ _embedr-sig.ss_ library provides the signature, _compiler:embed^_.
icons in the ".ico" file
_'creator_ (Mac OS X) - provides a 4-character string to use as
the application signature.
the application signature
_'file-types_ (Mac OS X) - provides a list of association lists,
one for each type of file handled by the application;
each association is a 2-element list, where the first (key)
element is a string recognized by Finder, and the second
element is a plist value (see doc.tx in the "xml" collection);
see plt/collects/drscheme/drscheme.filetypes for an example.
see plt/collects/drscheme/drscheme.filetypes for an example
-'resource-files_ (Mac OS X) - extra files to copy into the
"Resources" directory of the generated executable
_'subsystem_ (Windows) - a symbol, either 'console for a console
application or 'windows for a consoleless application;
the default is 'console for a MzScheme-based application
and 'windows for a MrEd-based application
_'forget-exe?_ (Windows, Mac OS X) - a boolean; #t for a launcher
(see `launcher?' below) does not preserve the original
executable name for `(find-system-path 'exec-file)'; the

View File

@ -8,7 +8,8 @@
(lib "moddep.ss" "syntax")
(lib "plist.ss" "xml")
"embed-sig.ss"
"private/winicon.ss")
"private/winicon.ss"
"private/winsubsys.ss")
(provide compiler:embed@)
@ -560,4 +561,8 @@
(let ([m (and (eq? 'windows (system-type))
(assq 'ico aux))])
(when m
(install-icon dest-exe (cdr m))))))))))))))))))
(install-icon dest-exe (cdr m))))
(let ([m (and (eq? 'windows (system-type))
(assq 'subsystem aux))])
(when m
(set-subsystem dest-exe (cdr m))))))))))))))))))

View File

@ -84,7 +84,11 @@ int wx_in_terminal;
# define wx_in_terminal 0
# endif
#else
#define wx_in_terminal 0
# ifdef wx_msw
static int wx_in_terminal = 0;
# else
# define wx_in_terminal 0
# endif
#endif
#ifdef OS_X
@ -3452,6 +3456,16 @@ void wxCreateApp(void)
#ifdef wx_mac
wxmac_reg_globs();
#endif
#ifdef wx_msw
{
HANDLE h;
h = GetStdHandle(STD_OUTPUT_HANDLE);
if (h && (h != INVALID_HANDLE_VALUE)
&& (GetFileType(h) != FILE_TYPE_UNKNOWN)) {
wx_in_terminal = 1;
}
}
#endif
wxREGGLOB(orig_ps_setup);
wxREGGLOB(q_callbacks);