Mail Archives: djgpp/1995/01/25/17:43:39
Eli Zaretskii" <eliz AT is DOT elta DOT co DOT il> wrote:
> DJGPP currently only supports program which run in DOS box under
> Windows. This means, you cannot call any Windows DLLs from DJGPP
> program. If your program does graphics, it won't currently work
> under Windows.
>
> > The software I am developing must run under MS Windows 3.1 without
> > flipping the display into text mode (i.e., it must run in the
> > "background"). Thanks in advance for any help anyone can give.
>
> I believe you can do this by defining a proper .PIF file for your
> program. If your program only does text output, you can run it as
> ``windowed'' application as opposed to ``full-screen'' one.
Right, but I don't want any window to appear.
dj AT stealth DOT ctron DOT com (DJ Delorie) wrote:
> djgpp can produce programs that run in a Windows DOS box. Whether
> it runs in the background or not is entirely up to Windows.
Thanks to all who responded for clearing up the term "Windows support"
for me. If anyone is interested, code for my solution is below. It
was compiled as a windows binary using MS C. It allows programs
compiled with DJGPP to be launched from windows without flipping the
screen into text mode or popping up a window (an icon appears at the
bottom of the screen). There must be a better way to do this. If
anyone knows of one please e-mail me. Thanks.
--Mike
deisher AT dspsun DOT eas DOT asu DOT edu
/* =========================================================================== */
/*
File: wlanch.c
Date: January 24, 1995
Author: Mike Deisher (deisher AT dspsun DOT eas DOT asu DOT edu)
Description: Launches a DOS application minimized.
I wrote this because I wanted to launch a dos application (compiled with
DJGPP) from a TCL/TK script without flipping the screen into text mode.
There is probably a cleaner way to do this. If you know of one, please
e-mail me.
Here's what worked for me. 1. Ran COFF2EXE on the DJGPP compiled program.
2. Created a PIF file (using the MS-Windows PIF Editor), set the program
name and path, chose "windowed", selected "background" execution, and set
background priority to 100. 3. Called the PIF file from the TCL/TK script
with "winexec wlaunch filename.pif".
*/
/* =========================================================================== */
#include<stdio.h>
#include<stdlib.h>
#include "windows.h"
/* =========================================================================== */
int PASCAL WinMain(HINSTANCE inst, HINSTANCE prev, LPSTR args, int show)
{
char msg[256]; /* message string */
LPSTR filename;
WORD wReturn;
if (args[0] != 0)
filename = args;
else
{
MessageBox((HWND)NULL,"No filename given","WLAUNCH",MB_ICONSTOP);
return((int)1);
}
wReturn = WinExec(filename, SW_SHOWMINNOACTIVE);
if (wReturn < 32)
{
sprintf(msg, "WinExec failed: error %d", wReturn);
MessageBox((HWND)NULL, msg, "WLAUNCH", MB_ICONSTOP);
return((int)wReturn);
}
return((int)wReturn);
}
- Raw text -