Page 1 of 1

HATHAL - prn_info.lib(resolved)

Posted: Sat Sep 25, 2010 2:44 pm
by MGA
HATHAL ,

prn_info.lib

You can compile with recent Fivewin?

Thanks

Re: HATHAL - prn_info.lib

Posted: Wed Sep 29, 2010 10:58 am
by MGA
UP!!! :D

Re: HATHAL - prn_info.lib

Posted: Thu Oct 07, 2010 12:18 pm
by MGA
UP :(

Re: HATHAL - prn_info.lib

Posted: Thu Oct 07, 2010 8:08 pm
by Enrico Maria Giordano
Sorry, probably nobody here knows that lib.

EMG

Re: HATHAL - prn_info.lib

Posted: Fri Oct 08, 2010 11:07 am
by MGA
Enrico,

thanks for replying with this lib may have information about the printer status.

http://fwh.livesystem.net/

With me today Fivewin PCODE generates error.

You can compile with recent Fivewin?

Re: HATHAL - prn_info.lib

Posted: Fri Oct 08, 2010 5:51 pm
by James Bott
SGS,

The PCODE error means that the LIB was compiled with an older version of FWH. Since you have the PRG, you just need to recompile it with the current version of FWH. You can then either link in the OBJ or create a new LIB.

Regards,
James

Re: HATHAL - prn_info.lib

Posted: Fri Oct 08, 2010 6:26 pm
by MGA
James,
thanks for answering. :D
I could not compile with RECENT Fivewin, so I'm just asking for help. :(

thanks

Re: HATHAL - prn_info.lib

Posted: Fri Oct 08, 2010 6:33 pm
by James Bott
SGS,
I could not compile with RECENT Fivewin, so I'm just asking for help.
Did you not understand my answer?

Regards,
James

Re: HATHAL - prn_info.lib

Posted: Fri Oct 08, 2010 7:14 pm
by MGA
James,

I am using a translator I'm sorry. :(

Yes, I understand your answer, but I could not compile with Fivewin RECENT.

can you build? :D
http://fwh.livesystem.net/

thanks

Re: HATHAL - prn_info.lib

Posted: Wed Oct 13, 2010 11:02 am
by MGA
:roll:

Re: HATHAL - prn_info.lib

Posted: Wed Oct 13, 2010 3:20 pm
by James Bott
Please send an email to me at [jbott at compuserve dot com] and I will send you an updated LIB file to test.

Regards,
James

Re: HATHAL - prn_info.lib(resolved)

Posted: Wed Oct 13, 2010 6:41 pm
by MGA
James,

worked perfectly ... Simply fantastic ...

Thank you! :D

full source prn_info by hathal

Posted: Tue Aug 07, 2012 5:13 pm
by HATHAL
I am so sorry I did not know that this library interest you
So you will scroll down the entire source.
Please accept my apologies.
hathal
------------------
----------------- full source prn_info by hathal ----------------
----------------cprn_l.c---------------------

Code: Select all

#include "windows.h"
#include "hbapiitm.h"
#include "hbvm.h"
#include "hbstack.h"
#include "item.api"
#include "hbpcode.h" 
#include "hbvmpub.h"
#include "hbinit.h"
static init_prn=0;
    typedef BOOL (FAR PASCAL * _Cprinter_info)(
    IN DWORD   Flags,
    IN LPSTR Name,
    IN DWORD   Level,
    OUT LPBYTE  pPrinterEnum,
    IN DWORD   cbBuf,
    OUT LPDWORD pcbNeeded,
    OUT LPDWORD pcReturned
);
 static far _Cprinter_info Cprinter_info = 0;

/*
printer info
by hathal
web http://www.livesystem.net
*/
     HB_FUNC ( PRINTER_INFO )
 {
 DWORD cbNeeded = 0;
DWORD cReturned = 0;
  DWORD dwItem;
char * p_seek=hb_parc( 1 );
 LPPRINTER_INFO_2 lpInfo;
DWORD noOfPrinters=0;
if(init_prn==0)
{
init_prn_info();
init_prn=1;
}
Cprinter_info (PRINTER_ENUM_LOCAL|PRINTER_ENUM_CONNECTIONS,NULL, 2, NULL, 0, &cbNeeded, &noOfPrinters );
lpInfo = (LPPRINTER_INFO_2)HeapAlloc ( GetProcessHeap (), HEAP_ZERO_MEMORY, cbNeeded );

Cprinter_info (PRINTER_ENUM_LOCAL|PRINTER_ENUM_CONNECTIONS,NULL, 2,(LPBYTE)lpInfo,cbNeeded,&cbNeeded, &noOfPrinters );
 hb_reta(19);
 for ( dwItem = 0; dwItem < noOfPrinters; dwItem++ )
 {
 if (strstr(lpInfo[dwItem].pPrinterName,TEXT(p_seek)) != NULL )
{
hb_storc(( char * ) lpInfo[dwItem].pServerName,-1,1);
hb_storc(( char * ) lpInfo[dwItem].pShareName,-1,2);
hb_storc(( char * ) lpInfo[dwItem].pPortName,-1,3);
hb_storc(( char * ) lpInfo[dwItem].pDriverName,-1,4);
hb_storc(( char * ) lpInfo[dwItem].pComment,-1,5);
hb_storc(( char * ) lpInfo[dwItem].pLocation,-1,6);
hb_storc((LPDEVMODEA) lpInfo[dwItem].pDevMode,-1,7);
hb_storc(( char * ) lpInfo[dwItem].pSepFile,-1,8);
hb_storc(( char * ) lpInfo[dwItem].pPrintProcessor,-1,9);
hb_storc(( char * ) lpInfo[dwItem].pDatatype,-1,10);
hb_storc(( char * ) lpInfo[dwItem].pParameters,-1,11);
hb_storni((DWORD) lpInfo[dwItem].Attributes,-1,12);
hb_storni((DWORD) lpInfo[dwItem].Priority,-1,13);
hb_storni((DWORD) lpInfo[dwItem].DefaultPriority,-1,14);
hb_storni((DWORD) lpInfo[dwItem].StartTime,-1,15);
hb_storni((DWORD) lpInfo[dwItem].UntilTime,-1,16);
hb_storni((DWORD) lpInfo[dwItem].Status,-1,17);
hb_storni((DWORD) lpInfo[dwItem].cJobs,-1,18);
hb_storni((DWORD) lpInfo[dwItem].AveragePPM,-1,19);
}
}
 HeapFree ( GetProcessHeap (), 0, lpInfo );
 }
//----------------------------------------------------------------------------//
      HB_FUNC ( ALL_PRINTER_NAME )
 {
 DWORD cbNeeded = 0;
DWORD cReturned = 0;
int intitme=0;

 DWORD dwItem;

 LPPRINTER_INFO_2 lpInfo;
DWORD noOfPrinters=0;
// MessageBox(NULL,"if(init_prn==0)","prnit name",0);
if(init_prn==0)
{
init_prn_info();
init_prn=1;
}
// MessageBox(NULL,"TEXT(p_seek)","prnit name",0);

Cprinter_info(PRINTER_ENUM_LOCAL|PRINTER_ENUM_CONNECTIONS ,NULL, 2, NULL, 0, &cbNeeded, &noOfPrinters );

lpInfo = (LPPRINTER_INFO_2)HeapAlloc ( GetProcessHeap (), HEAP_ZERO_MEMORY, cbNeeded );
Cprinter_info(PRINTER_ENUM_LOCAL|PRINTER_ENUM_CONNECTIONS ,NULL,2 ,(LPBYTE)lpInfo,cbNeeded,&cbNeeded, &noOfPrinters );
    hb_reta(noOfPrinters);
 for ( dwItem = 0; dwItem < noOfPrinters; dwItem++ )
 {
 intitme++; 
// MessageBox(NULL,(LPCTSTR) lpInfo[dwItem].pPrinterName,"(LPCTSTR",MB_OK);
    hb_storc( ( char * ) lpInfo[dwItem].pPrinterName,-1,intitme);
 }
 intitme++; 
    hb_storc( ( char * ) lpInfo[dwItem].pPrinterName,-1,intitme);
 HeapFree ( GetProcessHeap (), 0, lpInfo ); 
}
int init_prn_info()
{
HINSTANCE hInst;
// MessageBox(NULL," start","ok",MB_OK);
     hInst=LoadLibrary("WINSPOOL.DRV");
        if (hInst)
    {
                 Cprinter_info    =               (_Cprinter_info) GetProcAddress(hInst, "EnumPrintersA");
 
         }
    else
    {
                 FreeLibrary(hInst);
    }
}
 
----------------------- p_info.prg ----------------------

Code: Select all

#include "FiveWin.ch"
static oTimer
STATIC pServerName:=""
STATIC pPrinterName:=""
STATIC pShareName:=""
STATIC pPortName:=""
STATIC pDriverName:=""
STATIC pComment:=""
STATIC pLocation:=""
STATIC pDevMode:=""
STATIC pSepFile:=""
STATIC pPrintProcessor:=""
STATIC pDatatype:=""
STATIC pParameters:=""
STATIC Attributes:=0
STATIC Priority:=0
STATIC DefaultPriority:=0
STATIC StartTime:=0
STATIC UntilTime:=0
STATIC Status:=-1
STATIC cJobs:=0
STATIC AveragePPM:=0

***********************
function Main()
   local oDlg, oCbx
   local cItem := ""
   LOCAL AR_PRN_NAM:=ALL_PRINTER_NAME()
   PRIV oselect_prn:="", o_1;
   ,o_2;
   ,o_3;
   ,o_4;
   ,o_5;
   ,o_6;
   ,o_7;
   ,o_8;
   ,o_9;
   ,o_10;
   ,o_11;
   ,o_12;
   ,o_13;
   ,o_14;
   ,o_15;
   ,o_16;
   ,o_17;
   ,o_18;
   ,o_19

    if len(AR_PRN_NAM)=0
   ? " Do Not  printer  Available "
   quit
   endif   
   cItem :=AR_PRN_NAM[1]
    DEFINE DIALOg oDlg RESOURCE "prn_info"
   REDEFINE COMBOBOX oCbx VAR cItem ITEMS AR_PRN_NAM ;
      ID 3 OF oDlg ;
      ON CHANGE ( oselect_prn:= ALLTRIM(cItem),INFO_RET())
//   REDEFINE BUTTON ID 220 OF oDlg ACTION MsgInfo( Str( oCbx:nAt ) )
//   REDEFINE SAY oRequired PROMPT nTotal PICTURE "    999,999,999" ;

   REDEFINE SAY o_1  PROMPT pServerName ID 4 OF oDlg
   REDEFINE SAY o_2 PROMPT pShareName ID 5 OF oDlg
   REDEFINE SAY o_3 PROMPT pPortName ID 6 OF oDlg
   REDEFINE SAY o_4 PROMPT pDriverName ID 7 OF oDlg
   REDEFINE SAY o_5 PROMPT pComment ID 8 OF oDlg
   REDEFINE SAY o_6 PROMPT pLocation ID 9 OF oDlg
   REDEFINE SAY o_7 PROMPT pDevMode ID 10 OF oDlg
   REDEFINE SAY o_8 PROMPT pSepFile ID 11 OF oDlg
   REDEFINE SAY o_9 PROMPT pPrintProcessor ID 12 OF oDlg
   REDEFINE SAY o_10 PROMPT pDatatype ID 13 OF oDlg
   REDEFINE SAY o_11 PROMPT pParameters ID 14 OF oDlg   
   REDEFINE SAY o_12 PROMPT  Attributes ID 15 OF oDlg
   REDEFINE SAY o_13 PROMPT  Priority ID 16 OF oDlg
   REDEFINE SAY o_14 PROMPT  DefaultPriority ID 17 OF oDlg
   REDEFINE SAY o_15 PROMPT  StartTime ID 18 OF oDlg
   REDEFINE SAY o_16 PROMPT  UntilTime ID 19 OF oDlg
   REDEFINE SAY o_17 PROMPT  P_Status(Status,1) ID 20 OF oDlg
   REDEFINE SAY o_18 PROMPT cJobs ID 21 OF oDlg
   REDEFINE SAY o_19 PROMPT AveragePPM ID 22 OF oDlg   
   REDEFINE BUTTON ID 30 OF oDlg ACTION Timers()
   REDEFINE BUTTON ID 35 OF oDlg ACTION oDlg:END()

    ACTIVATE DIALOG oDlg CENTERED//  ON INIT 

return nil
************************************************
function Timers()
 if oTimer==nil
      DEFINE TIMER oTimer ACTION  INFO_RET()
      ACTIVATE TIMER oTimer
      endif
 return nil

************************************************
 func INFO_RET()
pServerName:=PRINTER_INFO(Oselect_prn)[1]
pShareName:=PRINTER_INFO(Oselect_prn)[2]
pPortName:=PRINTER_INFO(Oselect_prn)[3]
pDriverName:=PRINTER_INFO(Oselect_prn)[4]
pComment:=PRINTER_INFO(Oselect_prn)[5]
pLocation:=PRINTER_INFO(Oselect_prn)[6]
pDevMode:=PRINTER_INFO(Oselect_prn)[7]
pSepFile:=PRINTER_INFO(Oselect_prn)[8]
pPrintProcessor:=PRINTER_INFO(Oselect_prn)[9]
pDatatype:=PRINTER_INFO(Oselect_prn)[10]
pParameters:=PRINTER_INFO(Oselect_prn)[11]
Attributes:=PRINTER_INFO(Oselect_prn)[12]
Priority:=PRINTER_INFO(Oselect_prn)[13]
DefaultPriority:=PRINTER_INFO(Oselect_prn)[14]
StartTime:=PRINTER_INFO(Oselect_prn)[15]
UntilTime:=PRINTER_INFO(Oselect_prn)[16]
Status:=PRINTER_INFO(Oselect_prn)[17]
cJobs:=PRINTER_INFO(Oselect_prn)[18]
AveragePPM:=PRINTER_INFO(Oselect_prn)[19]
   O_2:refresh()
   O_3:refresh()
   O_4:refresh()
   O_5:refresh()
   O_6:refresh()
   O_7:refresh()
   O_8:refresh()
   O_9:refresh()
   O_10:refresh()
   O_11:refresh()
   O_12:refresh()
   O_13:refresh()
   O_14:refresh()
   O_15:refresh()
   O_16:refresh()
   O_17:refresh()
   O_18:refresh()
   O_19:refresh() 
 RETURN
**********************************************************
function P_Status( nStatus,lang)
DEFAULT lang:=1,nStatus:=-1
do case
case lang=1
****ENGLISH*********************
   if     nStatus <        1 ; return "PRINTER OK READY"
   elseif nStatus =        1 ; return "PRINTER PAUSED" 
   elseif nStatus =        2 ; return "PRINTER ERROR" 
   elseif nStatus =        4 ; return "PRINTER PENDING DELETION" 
   elseif nStatus =        8 ; return "PRINTER PAPER JAM" 
   elseif nStatus =       16 ; return "PRINTER PAPER OUT" 
   elseif nStatus =       32 ; return "PRINTER MANUAL FEED" 
   elseif nStatus =       64 ; return "PRINTER PAPER PROBLEM" 
   elseif nStatus =      128 ; return "PRINTER OFFLINE" 
   elseif nStatus =      256 ; return "PRINTER IO ACTIVE" 
   elseif nStatus =      512 ; return "PRINTER BUSY" 
   elseif nStatus =     1024 ; return "PRINTER PRINTING" 
   elseif nStatus =     2048 ; return "PRINTER OUTPUT BIN FULL" 
   elseif nStatus =     4096 ; return "PRINTER NOT AVAILABLE" 
   elseif nStatus =     8192 ; return "PRINTER WAITING" 
   elseif nStatus =    16384 ; return "PRINTER PROCESSING" 
   elseif nStatus =    32768 ; return "PRINTER INITIALIZING" 
   elseif nStatus =    65536 ; return "PRINTER WARMING UP" 
   elseif nStatus =   131072 ; return "PRINTER TONER LOW" 
   elseif nStatus =   262144 ; return "PRINTER NO TONER" 
   elseif nStatus =   524288 ; return "PRINTER PAGE PUNT" 
   elseif nStatus =  1048576 ; return "PRINTER USER INTERVENTION" 
   elseif nStatus =  2097152 ; return "PRINTER OUT OF MEMORY" 
   elseif nStatus =  4194304 ; return "PRINTER DOOR OPEN" 
   elseif nStatus =  8388608 ; return "PRINTER SERVER UNKNOWN" 
   elseif nStatus = 16777217 ; return "PRINTER POWER_SAVE" 
   endif
case lang=2
****ARABIC*********************
   if     nStatus <        1 ; return "الطابعة جاهزه"
   elseif nStatus =        1 ; return "الطابعة في حالة الانتظار" 
   elseif nStatus =        2 ; return "يوجد خلل بالكابة" 
   elseif nStatus =        4 ; return "الطباعة في انتظار الحذف" 
   elseif nStatus =        8 ; return "مربى ورق الطابعة" 
   elseif nStatus =       16 ; return "ورق الطابة خارج" 
   elseif nStatus =       32 ; return "تغذية الطابعة يدوياً" 
   elseif nStatus =       64 ; return "يوجد خلل في ورق الطابعة" 
   elseif nStatus =      128 ; return "الطابعة غير موصلة" 
   elseif nStatus =      256 ; return "مخرج الطابعة مشغول" 
   elseif nStatus =      512 ; return "الطابعة مشغولة" 
   elseif nStatus =     1024 ; return "جارى العمل على الطابعة" 
   elseif nStatus =     2048 ; return "الطابعة اخرج بين كامل" 
   elseif nStatus =     4096 ; return "الطابعة غير موجوده" 
   elseif nStatus =     8192 ; return "الطابعة في حالة أنتظار" 
   elseif nStatus =    16384 ; return "جاري معالجة الطباعة" 
   elseif nStatus =    32768 ; return "جاري تشغيل الطابعة" 
   elseif nStatus =    65536 ; return "جاري تسخين الطابعة" 
   elseif nStatus =   131072 ; return "الحبر قليل" 
   elseif nStatus =   262144 ; return "لايوجد حبر" 
   elseif nStatus =   524288 ; return "حامل الورق الطابعة" 
   elseif nStatus =  1048576 ; return "تدخل مستخدم الطابعة" 
   elseif nStatus =  2097152 ; return "لايوجد ذاكرة كافية للطباعة" 
   elseif nStatus =  4194304 ; return "درج الطابعة مفتوح" 
   elseif nStatus =  8388608 ; return "خادم الطابعة مجهول" 
   elseif nStatus = 16777217 ; return "الطابعة في وضع حفظ الطاقة" 
   endif 
********* Brasil **************
case lang=3
   if     nStatus <        1 ; return "Impressora OK" 
   elseif nStatus =        1 ; return "Impressora Pausada" 
   elseif nStatus =        2 ; return "Impressora com Erro" 
   elseif nStatus =        4 ; return "Impressora Deletando" 
   elseif nStatus =        8 ; return "Impressora em Modo Bandeja" 
   elseif nStatus =       16 ; return "Impressora Sem Papel" 
   elseif nStatus =       32 ; return "Impressora em Modo Manual" 
   elseif nStatus =       64 ; return "Impressora com Problema no Papel" 
   elseif nStatus =      128 ; return "Impressora OffLine" 
   elseif nStatus =      256 ; return "Impressora com IO Ativo" 
   elseif nStatus =      512 ; return "Impressora Ocupada" 
   elseif nStatus =     1024 ; return "Impressora Imprimindo" 
   elseif nStatus =     2048 ; return "Impressora Memoria Lotada" 
   elseif nStatus =     4096 ; return "Impressora Nao Instalada" 
   elseif nStatus =     8192 ; return "Impressora Aguardando" 
   elseif nStatus =    16384 ; return "Impressora Processando" 
   elseif nStatus =    32768 ; return "Impressora Inicializando" 
   elseif nStatus =    65536 ; return "Impressora em Atencao" 
   elseif nStatus =   131072 ; return "Impressora Toner Baixo" 
   elseif nStatus =   262144 ; return "Impressora Sem Toner" 
   elseif nStatus =   524288 ; return "Impressora PAGE PUNT" 
   elseif nStatus =  1048576 ; return "Impressora Intervencao do Usuario" 
   elseif nStatus =  2097152 ; return "Impressora Sem Memoria" 
   elseif nStatus =  4194304 ; return "Impressora Tampa Aberta" 
   elseif nStatus =  8388608 ; return "Impressora Servidor Desconhecido" 
   elseif nStatus = 16777217 ; return "Impressora POWER_SAVE" 
   endif 
***********************
ENDCASE
return " "
 ********************************************************************* 
 *********************************************************************
--------------- p_prin.rc -------------------

Code: Select all

#define VERSIONINFO_1   1
#define ICON_1  1
#define DIALOG_1    1
#define IDC_GROUPBOX1   120
PRN_INFO DIALOG 156, 50, 263, 289
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION
CAPTION "Printer Information For  Fwh By Hathal "
FONT 8, "MS Sans Serif"
{
 COMBOBOX 3, 7, 14, 249, 105, CBS_DROPDOWNLIST | WS_TABSTOP
 LTEXT "Server Name", -1, 5, 32, 60, 12
 LTEXT "Share Name", -1, 5, 45, 60, 8
 LTEXT "Port Name", -1, 6, 58, 60, 8
 LTEXT "Driver Name", -1, 6, 71, 60, 8
 LTEXT "Comment", -1, 7, 82, 60, 8
 LTEXT "Location", -1, 7, 95, 60, 8
 LTEXT "DevMode", -1, 7, 106, 60, 8
 LTEXT "Sep File", -1, 7, 119, 60, 8
 LTEXT "Print Processor", -1, 7, 132, 60, 8
 LTEXT "Data Type", -1, 7, 144, 60, 8
 LTEXT "Parameters", -1, 7, 155, 60, 8
 LTEXT "Attributes", -1, 7, 167, 60, 8
 LTEXT "Priority", -1, 7, 178, 60, 8
 LTEXT "DefaultPriority", -1, 7, 190, 60, 8
 LTEXT "StartTime", -1, 7, 203, 60, 8
 LTEXT "UntilTime", -1, 8, 215, 54, 8
 LTEXT "Status", -1, 9, 227, 54, 8
 LTEXT "Jobs", -1, 10, 239, 52, 8
 LTEXT "Average PPM", -1, 9, 251, 51, 9
 LTEXT "Text", 4, 65, 32, 191, 11, WS_BORDER | WS_GROUP
 LTEXT "Text", 5, 65, 44, 191, 11, WS_BORDER | WS_GROUP
 LTEXT "Text", 6, 65, 56, 191, 11, WS_BORDER | WS_GROUP
 LTEXT "Text", 7, 65, 68, 191, 11, WS_BORDER | WS_GROUP
 LTEXT "Text", 8, 65, 80, 191, 11, WS_BORDER | WS_GROUP
 LTEXT "Text", 9, 65, 92, 191, 11, WS_BORDER | WS_GROUP
 LTEXT "Text", 10, 65, 104, 191, 11, WS_BORDER | WS_GROUP
 LTEXT "Text", 11, 65, 116, 191, 11, WS_BORDER | WS_GROUP
 LTEXT "Text", 12, 65, 128, 191, 11, WS_BORDER | WS_GROUP
 LTEXT "Text", 13, 65, 140, 191, 11, WS_BORDER | WS_GROUP
 LTEXT "Text", 14, 65, 152, 191, 11, WS_BORDER | WS_GROUP
 LTEXT "Text", 15, 65, 164, 191, 11, WS_BORDER | WS_GROUP
 LTEXT "Text", 16, 65, 176, 191, 11, WS_BORDER | WS_GROUP
 LTEXT "Text", 17, 65, 188, 191, 11, WS_BORDER | WS_GROUP
 LTEXT "Text", 18, 65, 200, 191, 11, WS_BORDER | WS_GROUP
 LTEXT "Text", 19, 65, 212, 191, 11, WS_BORDER | WS_GROUP
 LTEXT "Text", 20, 65, 224, 191, 11, WS_BORDER | WS_GROUP
 LTEXT "Text", 21, 65, 236, 191, 11, WS_BORDER | WS_GROUP
 LTEXT "Text", 22, 65, 248, 191, 11, WS_BORDER | WS_GROUP
 GROUPBOX "Select printer Name From Available", IDC_GROUPBOX1, 1, 2, 261, 262, BS_GROUPBOX
 PUSHBUTTON "Start Loop Info", 30, 2, 267, 123, 20
 PUSHBUTTON "Exit Preintre  Info", 35, 136, 267, 123, 20
}

1 ICON 
{
 '00 00 01 00 01 00 20 20 10 00 00 00 00 00 E8 02'
 '00 00 16 00 00 00 28 00 00 00 20 00 00 00 40 00'
 '00 00 01 00 04 00 00 00 00 00 80 02 00 00 00 00'
 '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
 '00 00 00 00 80 00 00 80 00 00 00 80 80 00 80 00'
 '00 00 80 00 80 00 80 80 00 00 80 80 80 00 C0 C0'
 'C0 00 00 00 FF 00 00 FF 00 00 00 FF FF 00 FF 00'
 '00 00 FF 00 FF 00 FF FF 00 00 FF FF FF 00 00 00'
 '00 00 00 00 00 00 00 00 00 00 00 00 0B EE 00 00'
 '00 00 00 00 00 00 00 00 00 00 00 00 BE EE 00 00'
 '00 00 00 00 00 00 00 00 00 00 00 0B EE EE 00 00'
 '00 00 00 00 00 00 00 00 00 00 00 BE EE EB 00 00'
 '00 00 00 00 00 00 00 00 00 00 0B EE EE B0 00 00'
 '00 00 00 00 00 00 00 00 00 00 BE EE EB 00 00 00'
 '00 00 00 00 00 00 00 00 00 0B EE EE B0 00 00 00'
 '00 00 00 00 00 00 00 00 00 BE EE EB 00 00 00 00'
 '00 00 00 00 EE EE EE 00 0E EE EE B0 00 00 00 00'
 '00 00 EE EE EE EE EE EE EE EE EB 00 00 00 00 00'
 '00 EE EE EE EE EE EE EE EE EE E0 00 00 00 00 00'
 'EE EE EE EE EE EE EE EE EE EE EE 00 00 00 00 0E'
 'FE EF EE EE FE EF EE EE EE FF FF B0 00 00 00 EE'
 'FE EF EE EF FE EF EE EE EF EE EE FE 00 00 0E EE'
 'FE EF EE EF FE EF EE EE EF EE EE FE E0 00 EE EE'
 'FE EF EE FE FE EF EE EE EF EE EE FE EE 00 EE EE'
 'FE EF EF EE FE EF FF FE EF EE EE FE EE 00 EE EE'
 'FE EF EF EE FE EF EE EE EF EE EE FE EE 00 EE EE'
 'FE EF FE EE FE EF EE EE EF EE EE FE EE 00 EE EE'
 'FE EF FE EE FE EF EE EE EF EE EE FE EE E0 EE EE'
 'FE EF EE EE FE EF FF FF EE FF FF EE EE E0 EE EE'
 'EE EE EE EE EE EE EE EE EE EE EE EE EE E0 EE EE'
 '9E EE EE E9 EE EE 9E E9 EE EE 9E EE EE 00 EE EE'
 '9E EE EE E9 EE EE 9E E9 EE E9 9E EE EE 00 EE EE'
 '9E EE EE E9 EE EE 9E E9 EE E9 9E EE EE 00 EE EE'
 '9E EE EE E9 EE EE 9E E9 EE 9E 9E EE EE 00 0E EE'
 '99 99 9E E9 99 99 EE E9 E9 EE 9E EE E0 00 00 EE'
 '9E EE E9 E9 EE EE 9E E9 E9 EE 9E EE 00 00 00 0E'
 '9E EE E9 E9 EE EE 9E E9 9E EE 9E E0 00 00 00 00'
 'EE EE E9 E9 EE EE 9E E9 9E EE EE 00 00 00 00 00'
 '99 EE 9E E9 99 99 EE E9 EE EE 90 00 00 00 00 00'
 '00 00 EE EE EE EE EE EE EE 00 00 00 00 00 FF FF'
 'FF F8 FF FF FF F0 FF FF FF E0 FF FF FF C0 FF FF'
 'FF 81 FF FF FF 03 FF FF FE 07 FF FF FC 0F FF F0'
 '38 1F FF 00 00 3F FC 00 00 7F F0 00 00 3F E0 00'
 '00 1F C0 00 00 0F 80 00 00 07 00 00 00 03 00 00'
 '00 03 00 00 00 03 00 00 00 03 00 00 00 01 00 00'
 '00 01 00 00 00 01 00 00 00 03 00 00 00 03 00 00'
 '00 03 00 00 00 03 80 00 00 07 C0 00 00 0F E0 00'
 '00 1F F0 00 00 3F F0 00 00 7F FF 00 03 FF'
}


VERSIONINFO_1 VERSIONINFO 
FILEVERSION 1, 0, 0, 0
PRODUCTVERSION 1, 0, 0, 0
FILEOS VOS_DOS_WINDOWS16
FILETYPE VFT_APP
{
 BLOCK "StringFileInfo"
 {
  BLOCK "040904E4"
  {
   VALUE "CompanyName", "My Company\000\000"
   VALUE "FileDescription", "Description from .def file here\000"
   VALUE "FileVersion", "1.00\000\000"
   VALUE "InternalName", "Application name\000"
   VALUE "LegalCopyright", "Copyright © My Company 1993\000\000"
   VALUE "OriginalFilename", ".exe file name here\000"
  }

 }

 BLOCK "VarFileInfo"
 {
  VALUE "Translation", 0x409, 1252
 }

}

Re: HATHAL - prn_info.lib(resolved)

Posted: Tue Aug 07, 2012 5:33 pm
by James Bott
Hathal,

Thanks for the source. It looks like it will be very useful.

Regards,
James