| Thread overview | ||||||
|---|---|---|---|---|---|---|
|
January 11, 2014 How to launch a Windows compiled exe without showing a console? | ||||
|---|---|---|---|---|
| ||||
How to launch a Windows compiled exe without showing a console?
I've tried the following two ways and when i execute the resulting *.exe file a console is shown alongside the dialog box. How can i suppress the console?
import std.string;
import core.sys.windows.windows;
void main(string[] args)
{
MessageBoxA(null, "Hello".toStringz(), "Error", MB_OK | MB_ICONEXCLAMATION);
}
and
import std.string;
import core.runtime;
import core.sys.windows.windows;
extern (Windows) int WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
Runtime.initialize();
MessageBoxA(null, "Hello".toStringz(), "Error", MB_OK | MB_ICONEXCLAMATION);
Runtime.terminate();
return 0;
}
Compiler flags: dmd -release source.d
| ||||
January 11, 2014 Re: How to launch a Windows compiled exe without showing a console? | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Gary Willoughby | On Saturday, 11 January 2014 at 15:13:45 UTC, Gary Willoughby wrote:
> box. How can i suppress the console?
Add -L/subsystem:windows to the dmd command line, that should do it.
| |||
January 11, 2014 Re: How to launch a Windows compiled exe without showing a console? | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Gary Willoughby | On Saturday, 11 January 2014 at 15:13:45 UTC, Gary Willoughby wrote:
> How to launch a Windows compiled exe without showing a console?
>
> I've tried the following two ways and when i execute the resulting *.exe file a console is shown alongside the dialog box. How can i suppress the console?
>
> import std.string;
> import core.sys.windows.windows;
>
> void main(string[] args)
> {
> MessageBoxA(null, "Hello".toStringz(), "Error", MB_OK | MB_ICONEXCLAMATION);
> }
>
> and
>
> import std.string;
> import core.runtime;
> import core.sys.windows.windows;
>
> extern (Windows) int WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
> {
> Runtime.initialize();
>
> MessageBoxA(null, "Hello".toStringz(), "Error", MB_OK | MB_ICONEXCLAMATION);
>
> Runtime.terminate();
> return 0;
> }
>
> Compiler flags: dmd -release source.d
Tell the linker that application is PE GUI
IIRC it was -L/subsystem:windows ?
| |||
Copyright © 1999-2021 by the D Language Foundation
Permalink
Reply