home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Chip 2002 March
/
Chip_2002-03_cd1.bin
/
zkuste
/
delphi
/
kompon
/
d5
/
cak
/
CAKDIR.ZIP
/
Winex32.pas
< prev
Wrap
Pascal/Delphi Source File
|
2001-03-17
|
4KB
|
149 lines
unit WINEX32;
{**************************************************************************}
{ }
{ This C DLL header file first (automatic) conversion generated by: }
{ HeadConv 4.0 (c) 1999 by Bob Swart (aka Dr.Bob - www.drbob42.com) }
{ FINAL DELPHI-JEDI COMMANDLINE EDITION }
{ }
{ Generated Date: 2000/12/23 }
{ Generated Time: 08:34:24 AM }
{ }
{**************************************************************************}
interface
uses
Sysutils,
{$IFDEF WIN32}
Windows;
{$ELSE}
Wintypes, WinProcs;
{$ENDIF}
{=> WINEX32.H <=}
{$IFNDEF _WINEX32_EXPORT_H_}
{$DEFINE _WINEX32_EXPORT_H_}
procedure LoadDLL;
const
EX_MAX_BUFF = 40000; {//ì┼æσé╠âoâtâ@âTâCâY}
{const
DLL_EXPORT = __declspec(dllexport);}
{///ö╗ò╩é╖éΘâoâCâgÉö }
const
BUFFSIZE_256 = 256;
const
BUFFSIZE_512 = 512;
const
BUFFSIZE_1000 = 1000;
const
BUFFSIZE_2000 = 2000;
const
BUFFSIZE_3000 = 3000;
const
BUFFSIZE_6000 = 6000;
const
BUFFSIZE_12000 = 12000;
const
BUFFSIZE_24000 = 24000;
const
BUFFSIZE_35000 = 35000;
const
BUFFSIZE_40000 = 40000;
{///âfü[â^é≡èiö[é╖éΘì\æóæ╠ }
type
ExInfo = record
szFileEx: Array[0..512-1] of Char;
szExInfo1: Array[0..256-1] of Char;
szExInfo2: Array[0..512-1] of Char;
end {ExInfo};
var
WinExGetInfo: function(pcszFileName: PCHAR;
nBuffLen: Integer;
var data: EXINFO;
dwFlag: LongInt) : longint; {$IFDEF WIN32} stdcall {$ENDIF};
var
WinExGetVersion: function: longint; {$IFDEF WIN32} stdcall {$ENDIF};
var
WinExGetExNumKind: function: longint; {$IFDEF WIN32} stdcall {$ENDIF};
var
WinExGetExNumPattern: function: longint; {$IFDEF WIN32} stdcall {$ENDIF};
var
WinExGetFileCRC: function(var pcszFileName: PCHAR): Integer {$IFDEF WIN32} stdcall {$ENDIF};
{$ENDIF //_WINEX32_EXPORT_H_}
var
DLLLoaded: Boolean { is DLL (dynamically) loaded already? }
{$IFDEF WIN32} = False; {$ENDIF}
implementation
var
SaveExit: pointer;
DLLHandle: THandle;
{$IFNDEF MSDOS}
ErrorMode: Integer;
{$ENDIF}
procedure NewExit; far;
begin
ExitProc := SaveExit;
FreeLibrary(DLLHandle)
end {NewExit};
procedure LoadDLL;
begin
if DLLLoaded then Exit;
{$IFNDEF MSDOS}
ErrorMode := SetErrorMode($8000{SEM_NoOpenFileErrorBox});
{$ENDIF}
DLLHandle := LoadLibrary('WINEX32.DLL');
if DLLHandle >= 32 then
begin
DLLLoaded := True;
SaveExit := ExitProc;
ExitProc := @NewExit;
@WinExGetInfo := GetProcAddress(DLLHandle,'WinExGetInfo');
{$IFDEF WIN32}
Assert(@WinExGetInfo <> nil);
{$ENDIF}
@WinExGetVersion := GetProcAddress(DLLHandle,'WinExGetVersion');
{$IFDEF WIN32}
Assert(@WinExGetVersion <> nil);
{$ENDIF}
@WinExGetExNumKind := GetProcAddress(DLLHandle,'WinExGetExNumKind');
{$IFDEF WIN32}
Assert(@WinExGetExNumKind <> nil);
{$ENDIF}
@WinExGetExNumPattern := GetProcAddress(DLLHandle,'WinExGetExNumPattern');
{$IFDEF WIN32}
Assert(@WinExGetExNumPattern <> nil);
{$ENDIF}
@WinExGetFileCRC := GetProcAddress(DLLHandle,'WinExGetFileCRC');
{$IFDEF WIN32}
Assert(@WinExGetFileCRC <> nil);
{$ENDIF}
end
else
begin
DLLLoaded := False;
{ Error: WINEX32.DLL could not be loaded !! }
end;
{$IFNDEF MSDOS}
SetErrorMode(ErrorMode)
{$ENDIF}
end {LoadDLL};
begin
LoadDLL;
end.