This is the mail archive of the mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

RE: Windows version of Unix lpr program doesn't work? <> wrote:
>The reason that the PrintDlg() call fails under __WIN32__ is that
>sizeof(PRINTDLG) == 68, but the operating system gives an error
>message unless you set the pd.lStructSize member to 66.  This, of
>course, doesn't happen in the 16-bit Windows 3.x version.  Once
>you get the PrintDlg() call to work, you then discover that all
>succeeding calls to Escape and TextOut succeed, but the program
>still fails to print.  Oh yes, Borland C++ Builder for Windows 95
>gives similar results, and substituting more modern calls doesn't
>seem to make any difference.

The sizeof(PRINTDLG) will give 66 if you modify the Win32 headers to make
the PRINTDLG structure
packed. I did this by changing the line of Windows32/Structures.h




typedef struct tagPD PRINTDLG, *LPPRINTDLG;

Where I had earlier defined PACKED to be __attribute__((packed)) in

Perhaps this will fix the problem?


-- Colin Peters - colin at
-- Saga Univ. Dept. of Information Science

For help on using this list (especially unsubscribing), send a message to
"" with one line of text: "help".

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]