Go Back   FileForums > Game Backup > PC Games > PC Games - CD/DVD Conversions > Conversion Tutorials
Register FAQ Community Calendar Today's Posts Search

 
 
Thread Tools Search this Thread Display Modes
Prev Previous Post   Next Post Next
  #14  
Old 05-01-2018, 06:25
Gupta Gupta is offline
Banned
 
Join Date: Aug 2016
Location: https://t.me/pump_upp
Posts: 399
Thanks: 139
Thanked 716 Times in 231 Posts
Gupta is on a distinguished road
Send a message via ICQ to Gupta Send a message via AIM to Gupta Send a message via Yahoo to Gupta
Common WinAPI for Inno
PS: This will get updates with the time with changelog

Code:
#ifdef UNICODE
    #define A "W"
#else
    #define A "A"
#endif

#ifndef WINDOWSH
  #define WINDOWSH
#endif

const
  {PRIORITY_CLASSES}
  //https://msdn.microsoft.com/en-us/library/windows/desktop/ms686219(v=vs.85).aspx
  NORMAL_PRIORITY_CLASS           = $00000020;
  IDLE_PRIORITY_CLASS             = $00000040;
  HIGH_PRIORITY_CLASS             = $00000080;
  REALTIME_PRIORITY_CLASS         = $00000100;

  {MOUSE_EVENTS}
  //https://msdn.microsoft.com/en-us/library/windows/desktop/ms646260(v=vs.85).aspx
  MOUSEEVENTF_MOVE            = $0001; { mouse move }
  MOUSEEVENTF_LEFTDOWN        = $0002; { left button down }
  MOUSEEVENTF_LEFTUP          = $0004; { left button up }
  MOUSEEVENTF_RIGHTDOWN       = $0008; { right button down }
  MOUSEEVENTF_RIGHTUP         = $0010; { right button up }
  MOUSEEVENTF_MIDDLEDOWN      = $0020; { middle button down }
  MOUSEEVENTF_MIDDLEUP        = $0040; { middle button up }
  MOUSEEVENTF_WHEEL           = $0800; { wheel button rolled }
  MOUSEEVENTF_HWHEEL          = $1000; { hwheel button rolled }
  MOUSEEVENTF_MOVE_NOCOALESCE = $2000; { hwheel button rolled }
  MOUSEEVENTF_ABSOLUTE        = $8000; { absolute move }

  {ANIMATE_WINDOWS}
  //https://msdn.microsoft.com/en-us/library/windows/desktop/ms632669(v=vs.85).aspx
  AW_FADE_IN = $00080000;
  AW_FADE_OUT = $00090000;
  AW_SLIDE_IN_LEFT = $00040001;
  AW_SLIDE_OUT_LEFT = $00050002;
  AW_SLIDE_IN_RIGHT = $00040002;
  AW_SLIDE_OUT_RIGHT = $00050001;
  AW_SLIDE_IN_TOP = $00040004;
  AW_SLIDE_OUT_TOP = $00050008;
  AW_SLIDE_IN_BOTTOM = $00040008;
  AW_SLIDE_OUT_BOTTOM = $00050004;
  AW_DIAG_SLIDE_IN_TOPLEFT = $00040005;
  AW_DIAG_SLIDE_OUT_TOPLEFT = $0005000a;
  AW_DIAG_SLIDE_IN_TOPRIGHT = $00040006;
  AW_DIAG_SLIDE_OUT_TOPRIGHT = $00050009;
  AW_DIAG_SLIDE_IN_BOTTOMLEFT = $00040009;
  AW_DIAG_SLIDE_OUT_BOTTOMLEFT = $00050006;
  AW_DIAG_SLIDE_IN_BOTTOMRIGHT = $0004000a;
  AW_DIAG_SLIDE_OUT_BOTTOMRIGHT = $00050005;
  AW_EXPLODE = $00040010;
  AW_IMPLODE = $00050010;
  AW_HOR_POSITIVE = $00000001;
  AW_HOR_NEGATIVE = $00000002;
  AW_VER_POSITIVE = $00000004;
  AW_VER_NEGATIVE = $00000008;
  AW_CENTER = $00000010;
  AW_HIDE = $00010000;
  AW_ACTIVATE = $00020000;
  AW_SLIDE = $00040000;
  AW_BLEND = $00080000;


  {System Metrices}
  //https://msdn.microsoft.com/en-us/library/windows/desktop/ms724385(v=vs.85).aspx
  SM_ARRANGE = 56;
  SM_CLEANBOOT = 67;
  SM_CMONITORS = 80;
  SM_CMOUSEBUTTONS = 43;
  SM_CONVERTIBLESLATEMODE =  $2003;
  SM_CXBORDER = 5;
  SM_CXCURSOR = 13;
  SM_CXDLGFRAME = 7;
  SM_CXDOUBLECLK = 36;
  SM_CXDRAG = 68;
  SM_CXEDGE = 45;
  SM_CXFIXEDFRAME = 7;
  SM_CXFOCUSBORDER = 83;
  SM_CXFRAME = 32;
  SM_CXFULLSCREEN = 16;
  SM_CXHSCROLL = 16;
  SM_CXHTHUMB = 10;
  SM_CXICON = 11;
  SM_CXICONSPACING = 38;
  SM_CXMAXIMIZED = 61;
  SM_CXMAXTRACK = 59;
  SM_CXMENUCHECK = 71;
  SM_CXMENUSIZE = 54;
  SM_CXMIN = 28;
  SM_CXMINIMIZED = 57;
  SM_CXMINSPACING = 47;
  SM_CXMINTRACK = 34;
  SM_CXPADDEDBORDER = 92;
  SM_CXSCREEN = 0;
  SM_CXSIZE = 30;
  SM_CXSIZEFRAME = 32;
  SM_CXSMICON = 49;
  SM_CXSMSIZE = 52;
  SM_CXVIRTUALSCREEN = 78;
  SM_CXVSCROLL = 2;
  SM_CYBORDER = 6;
  SM_CYCAPTION = 4;
  SM_CYCURSOR = 14;
  SM_CYDLGFRAME = 8 ;
  SM_CYDOUBLECLK = 37;
  SM_CYDRAG = 69;
  SM_CYEDGE = 46;
  SM_CYFIXEDFRAME = 8;
  SM_CYFOCUSBORDER = 84;
  SM_CYFRAME = 33;
  SM_CYFULLSCREEN = 17;
  SM_CYHSCROLL = 3;
  SM_CYICON = 12;
  SM_CYICONSPACING = 39;
  SM_CYKANJIWINDOW = 18;
  SM_CYMAXIMIZED = 62;
  SM_CYMAXTRACK = 60;
  SM_CYMENU = 15;
  SM_CYMENUCHECK = 72 ;
  SM_CYMENUSIZE = 55;
  SM_CYMIN = 29;
  SM_CYMINIMIZED = 58;
  SM_CYMINSPACING = 48;
  SM_CYMINTRACK = 35;
  SM_CYSCREEN = 1;
  SM_CYSIZE = 31;
  SM_CYSIZEFRAME = 33;
  SM_CYSMCAPTION = 51;
  SM_CYSMICON = 50;
  SM_CYSMSIZE = 53;
  SM_CYVIRTUALSCREEN = 79;
  SM_CYVSCROLL = 20;
  SM_CYVTHUMB = 9 ;
  SM_DIGITIZER = 94;
  SM_IMMENABLED = 82;
  SM_MAXIMUMTOUCHES = 95;
  SM_MEDIACENTER = 87;
  SM_MENUDROPALIGNMENT = 40;
  SM_MIDEASTENABLED = 74;
  SM_MOUSEPRESENT = 19;
  SM_MOUSEHORIZONTALWHEELPRESENT = 91;
  SM_MOUSEWHEELPRESENT = 75;
  SM_NETWORK = 63;
  SM_PENWINDOWS = 41;
  SM_REMOTECONTROL = $2001;
  SM_REMOTESESSION = $1000;
  SM_SAMEDISPLAYFORMAT = 81;
  SM_SECURE =44;
  SM_SERVERR2 = 89;
  SM_SHOWSOUNDS = 70;
  SM_SHUTTINGDOWN = $2000;
  SM_SLOWMACHINE = 73;
  SM_STARTER = 88;
  SM_SWAPBUTTON = 23;
  SM_SYSTEMDOCKED = $2004;
  SM_TABLETPC = 86;
  SM_XVIRTUALSCREEN = 76;
  SM_YVIRTUALSCREEN = 77;






 { Window field offsets for GetWindowLong() }
  {$EXTERNALSYM GWL_WNDPROC}
  GWL_WNDPROC = -4;
  {$EXTERNALSYM GWL_HINSTANCE}
  GWL_HINSTANCE = -6;
  {$EXTERNALSYM GWL_HWNDPARENT}
  GWL_HWNDPARENT = -8;
  {$EXTERNALSYM GWL_STYLE}
  GWL_STYLE = -16;
  {$EXTERNALSYM GWL_EXSTYLE}
  GWL_EXSTYLE = -20;
  {$EXTERNALSYM GWL_USERDATA}
  GWL_USERDATA = -21;
  {$EXTERNALSYM GWL_ID}
  GWL_ID = -12;

  { Class field offsets for GetClassLong() }
  {$EXTERNALSYM GCL_MENUNAME}
  GCL_MENUNAME = -8;
  {$EXTERNALSYM GCL_HBRBACKGROUND}
  GCL_HBRBACKGROUND = -10;
  {$EXTERNALSYM GCL_HCURSOR}
  GCL_HCURSOR = -12;
  {$EXTERNALSYM GCL_HICON}
  GCL_HICON = -14;
  {$EXTERNALSYM GCL_HMODULE}
  GCL_HMODULE = -16;
  {$EXTERNALSYM GCL_CBWNDEXTRA}
  GCL_CBWNDEXTRA = -18;
  {$EXTERNALSYM GCL_CBCLSEXTRA}
  GCL_CBCLSEXTRA = -20;
  {$EXTERNALSYM GCL_WNDPROC}
  GCL_WNDPROC = -24;
  {$EXTERNALSYM GCL_STYLE}
  GCL_STYLE = -26;
  {$EXTERNALSYM GCW_ATOM}
  GCW_ATOM = -32;
  {$EXTERNALSYM GCL_HICONSM}
  GCL_HICONSM = -34;


  {EXTENDED WINDOWS STYLES}
  { Window Styles }
  {$EXTERNALSYM WS_OVERLAPPED}
  WS_OVERLAPPED = 0;
  {$EXTERNALSYM WS_POPUP}
  WS_POPUP = $80000000;
  {$EXTERNALSYM WS_CHILD}
  WS_CHILD = $40000000;
  {$EXTERNALSYM WS_MINIMIZE}
  WS_MINIMIZE = $20000000;
  {$EXTERNALSYM WS_VISIBLE}
  WS_VISIBLE = $10000000;
  {$EXTERNALSYM WS_DISABLED}
  WS_DISABLED = $8000000;
  {$EXTERNALSYM WS_CLIPSIBLINGS}
  WS_CLIPSIBLINGS = $4000000;
  {$EXTERNALSYM WS_CLIPCHILDREN}
  WS_CLIPCHILDREN = $2000000;
  {$EXTERNALSYM WS_MAXIMIZE}
  WS_MAXIMIZE = $1000000;
  {$EXTERNALSYM WS_CAPTION}
  WS_CAPTION = $C00000;      { WS_BORDER or WS_DLGFRAME  }
  {$EXTERNALSYM WS_BORDER}
  WS_BORDER = $800000;
  {$EXTERNALSYM WS_DLGFRAME}
  WS_DLGFRAME = $400000;
  {$EXTERNALSYM WS_VSCROLL}
  WS_VSCROLL = $200000;
  {$EXTERNALSYM WS_HSCROLL}
  WS_HSCROLL = $100000;
  {$EXTERNALSYM WS_SYSMENU}
  WS_SYSMENU = $80000;
  {$EXTERNALSYM WS_THICKFRAME}
  WS_THICKFRAME = $40000;
  {$EXTERNALSYM WS_GROUP}
  WS_GROUP = $20000;
  {$EXTERNALSYM WS_TABSTOP}
  WS_TABSTOP = $10000;

  {$EXTERNALSYM WS_MINIMIZEBOX}
  WS_MINIMIZEBOX = $20000;
  {$EXTERNALSYM WS_MAXIMIZEBOX}
  WS_MAXIMIZEBOX = $10000;

  {$EXTERNALSYM WS_TILED}
  WS_TILED = WS_OVERLAPPED;
  {$EXTERNALSYM WS_ICONIC}
  WS_ICONIC = WS_MINIMIZE;
  {$EXTERNALSYM WS_SIZEBOX}
  WS_SIZEBOX = WS_THICKFRAME;

  { Common Window Styles }
  {$EXTERNALSYM WS_OVERLAPPEDWINDOW}
  WS_OVERLAPPEDWINDOW = (WS_OVERLAPPED or WS_CAPTION or WS_SYSMENU or
    WS_THICKFRAME or WS_MINIMIZEBOX or WS_MAXIMIZEBOX);
  {$EXTERNALSYM WS_TILEDWINDOW}
  WS_TILEDWINDOW = WS_OVERLAPPEDWINDOW;
  {$EXTERNALSYM WS_POPUPWINDOW}
  WS_POPUPWINDOW = (WS_POPUP or WS_BORDER or WS_SYSMENU);
  {$EXTERNALSYM WS_CHILDWINDOW}
  WS_CHILDWINDOW = (WS_CHILD);

  { Extended Window Styles }
  {$EXTERNALSYM WS_EX_DLGMODALFRAME}
  WS_EX_DLGMODALFRAME = 1;
  {$EXTERNALSYM WS_EX_NOPARENTNOTIFY}
  WS_EX_NOPARENTNOTIFY = 4;
  {$EXTERNALSYM WS_EX_TOPMOST}
  WS_EX_TOPMOST = 8;
  {$EXTERNALSYM WS_EX_ACCEPTFILES}
  WS_EX_ACCEPTFILES = $10;
  {$EXTERNALSYM WS_EX_TRANSPARENT}
  WS_EX_TRANSPARENT = $20;
  {$EXTERNALSYM WS_EX_MDICHILD}
  WS_EX_MDICHILD = $40;
  {$EXTERNALSYM WS_EX_TOOLWINDOW}
  WS_EX_TOOLWINDOW = $80;
  {$EXTERNALSYM WS_EX_WINDOWEDGE}
  WS_EX_WINDOWEDGE = $100;
  {$EXTERNALSYM WS_EX_CLIENTEDGE}
  WS_EX_CLIENTEDGE = $200;
  {$EXTERNALSYM WS_EX_CONTEXTHELP}
  WS_EX_CONTEXTHELP = $400;

  {$EXTERNALSYM WS_EX_RIGHT}
  WS_EX_RIGHT = $1000;
  {$EXTERNALSYM WS_EX_LEFT}
  WS_EX_LEFT = 0;
  {$EXTERNALSYM WS_EX_RTLREADING}
  WS_EX_RTLREADING = $2000;
  {$EXTERNALSYM WS_EX_LTRREADING}
  WS_EX_LTRREADING = 0;
  {$EXTERNALSYM WS_EX_LEFTSCROLLBAR}
  WS_EX_LEFTSCROLLBAR = $4000;
  {$EXTERNALSYM WS_EX_RIGHTSCROLLBAR}
  WS_EX_RIGHTSCROLLBAR = 0;

  {$EXTERNALSYM WS_EX_CONTROLPARENT}
  WS_EX_CONTROLPARENT = $10000;
  {$EXTERNALSYM WS_EX_STATICEDGE}
  WS_EX_STATICEDGE = $20000;
  {$EXTERNALSYM WS_EX_APPWINDOW}
  WS_EX_APPWINDOW = $40000;
  {$EXTERNALSYM WS_EX_OVERLAPPEDWINDOW}
  WS_EX_OVERLAPPEDWINDOW = (WS_EX_WINDOWEDGE or WS_EX_CLIENTEDGE);
  {$EXTERNALSYM WS_EX_PALETTEWINDOW}
  WS_EX_PALETTEWINDOW = (WS_EX_WINDOWEDGE or WS_EX_TOOLWINDOW or WS_EX_TOPMOST);

  {$EXTERNALSYM WS_EX_LAYERED}
  WS_EX_LAYERED = $00080000;
  {$EXTERNALSYM WS_EX_NOINHERITLAYOUT}
  WS_EX_NOINHERITLAYOUT = $00100000; // Disable inheritence of mirroring by children
  {$EXTERNALSYM WS_EX_LAYOUTRTL}
  WS_EX_LAYOUTRTL = $00400000; // Right to left mirroring
  {$EXTERNALSYM WS_EX_COMPOSITED}
  WS_EX_COMPOSITED = $02000000;
  {$EXTERNALSYM WS_EX_NOACTIVATE}
  WS_EX_NOACTIVATE = $08000000;

  LWA_ALPHA = $2;

{ ShowWindow() Commands }
  {$EXTERNALSYM SW_SHOWNA}
  SW_SHOWNA = 8;
  {$EXTERNALSYM SW_RESTORE}
  SW_RESTORE = 9;
  {$EXTERNALSYM SW_SHOWDEFAULT}
  SW_SHOWDEFAULT = 10;
  {$EXTERNALSYM SW_FORCEMINIMIZE}
  SW_FORCEMINIMIZE = 11;
  {$EXTERNALSYM SW_MAX}
  SW_MAX = 11;

  { Old ShowWindow() Commands }
  {$EXTERNALSYM HIDE_WINDOW}
  HIDE_WINDOW = 0;
  {$EXTERNALSYM SHOW_OPENWINDOW}
  SHOW_OPENWINDOW = 1;
  {$EXTERNALSYM SHOW_ICONWINDOW}
  SHOW_ICONWINDOW = 2;
  {$EXTERNALSYM SHOW_FULLSCREEN}
  SHOW_FULLSCREEN = 3;
  {$EXTERNALSYM SHOW_OPENNOACTIVATE}
  SHOW_OPENNOACTIVATE = 4;

  { Identifiers for the WM_SHOWWINDOW message }
  {$EXTERNALSYM SW_PARENTCLOSING}
  SW_PARENTCLOSING = 1;
  {$EXTERNALSYM SW_OTHERZOOM}
  SW_OTHERZOOM = 2;
  {$EXTERNALSYM SW_PARENTOPENING}
  SW_PARENTOPENING = 3;
  {$EXTERNALSYM SW_OTHERUNZOOM}
  SW_OTHERUNZOOM = 4;

  { SetWindowPos Flags }
  {$EXTERNALSYM SWP_NOSIZE}
  SWP_NOSIZE = 1;
  {$EXTERNALSYM SWP_NOMOVE}
  SWP_NOMOVE = 2;
  {$EXTERNALSYM SWP_NOZORDER}
  SWP_NOZORDER = 4;
  {$EXTERNALSYM SWP_NOREDRAW}
  SWP_NOREDRAW = 8;
  {$EXTERNALSYM SWP_NOACTIVATE}
  SWP_NOACTIVATE = $10;
  {$EXTERNALSYM SWP_FRAMECHANGED}
  SWP_FRAMECHANGED = $20;    { The frame changed: send WM_NCCALCSIZE }
  {$EXTERNALSYM SWP_SHOWWINDOW}
  SWP_SHOWWINDOW = $40;
  {$EXTERNALSYM SWP_HIDEWINDOW}
  SWP_HIDEWINDOW = $80;
  {$EXTERNALSYM SWP_NOCOPYBITS}
  SWP_NOCOPYBITS = $100;
  {$EXTERNALSYM SWP_NOOWNERZORDER}
  SWP_NOOWNERZORDER = $200;  { Don't do owner Z ordering }
  {$EXTERNALSYM SWP_NOSENDCHANGING}
  SWP_NOSENDCHANGING = $400;  { Don't send WM_WINDOWPOSCHANGING }
  {$EXTERNALSYM SWP_DRAWFRAME}
  SWP_DRAWFRAME = SWP_FRAMECHANGED;
  {$EXTERNALSYM SWP_NOREPOSITION}
  SWP_NOREPOSITION = SWP_NOOWNERZORDER;
  {$EXTERNALSYM SWP_DEFERERASE}
  SWP_DEFERERASE = $2000;
  {$EXTERNALSYM SWP_ASYNCWINDOWPOS}
  SWP_ASYNCWINDOWPOS = $4000;

  {$EXTERNALSYM HWND_TOP}
  HWND_TOP = (0);
  {$EXTERNALSYM HWND_BOTTOM}
  HWND_BOTTOM = (1);
  {$EXTERNALSYM HWND_TOPMOST}
  HWND_TOPMOST = (-1);
  {$EXTERNALSYM HWND_NOTOPMOST}
  HWND_NOTOPMOST = (-2);

   { GetSetWindowWordLong offsets for use with WC_DIALOG windows }
  {$EXTERNALSYM DWL_MSGRESULT}
  DWL_MSGRESULT = 0;
  {$EXTERNALSYM DWL_DLGPROC}
  DWL_DLGPROC = 4;
  {$EXTERNALSYM DWL_USER}
  DWL_USER = 8;

  { Background Modes }
  {$EXTERNALSYM TRANSPARENT}
  TRANSPARENT = 1;
  {$EXTERNALSYM OPAQUE}
  OPAQUE = 2;
  {$EXTERNALSYM BKMODE_LAST}
  BKMODE_LAST = 2;

  {ARC Direction}
  {$EXTERNALSYM AD_COUNTERCLOCKWISE}
  AD_COUNTERCLOCKWISE = 1;
  {$EXTERNALSYM AD_CLOCKWISE}
  AD_CLOCKWISE = 2;

  {TBPFLAG}
  TBPF_NOPROGRESS = $0;
  TBPF_INDETERMINATE = $1;
  TBPF_NORMAL = $2;
  TBPF_ERROR = $4;
  TBPF_PAUSED = $8;

type
  HDC = THandle;

function ReleaseCapture: HWND;
  external '[email protected] stdcall';
function GetCapture: HWND;
  external '[email protected] stdcall';
function SetCapture(hWnd: HWND): HWND;
  external '[email protected] stdcall';

function AnimateWindow(hWnd: HWND; dwTime: DWORD; dwFlags: DWORD): Boolean;
  external '[email protected] stdcall';

function ShowWindow(hWnd: HWND; nCmdShow: Integer):Boolean;
  external '[email protected] stdcall';
function DestroyWindow(hWnd: HWND):Boolean;
  external '[email protected] stdcall';

function GetSystemMetrics(nIndex :Integer):Integer;
  external '[email protected] stdcall';

function SetWindowPos(hWnd, hWndInsertAfter, X, Y, cx, cy, wFlags: Longint):Boolean;
  external '[email protected] stdcall';
function MoveWindow(hWnd: HWND; X, Y, nWidth, nHeight: Longint; bRepaint: BOOL):Boolean;
  external '[email protected] stdcall';
function GetClientRect(hWnd: HWND; var lpRect :TRECT):BOOL;
  external '[email protected] stdcall';
function GetWindowRect(hWnd: HWND; var lpRect :TRECT):BOOL;
  external '[email protected] stdcall';
function ScreenToClient(hWnd: HWND; var lpPoint :TPoint):BOOL;
  external '[email protected] stdcall';
function ClientToScreen(hWnd: HWND; var lpPoint :TPoint):BOOL;
  external '[email protected] stdcall';
function GetDC( hWnd: HWND ):HDC;
  external '[email protected] stdcall';
function GetCursorPos(var lpPoint : TPoint):BOOL;
  external '[email protected] stdcall';

function SetBkMode(hdc: HDC; iBkMode :Integer):Integer;
  external '[email protected] stdcall';

{Line And Curve Function}
function Arc(hdc: HDC; nLeftRect, nTopRect, nRightRect, nBottomRect, nXStartArc, nYStartArc, nXEndArc, nYEndArc:Integer):BOOL;
  external '[email protected] stdcall';
function AngleArc(hdc: HDC; X, Y :Integer; dwRadius : DWORD; eStartAngle, eSweepAngle :Single):BOOL;
  external '[email protected] stdcall';
function ArcTo(hdc: HDC; nLeftRect, nTopRect, nRightRect, nBottomRect, nXRadial1, nYRadial1, nXRadial2, nYRadial2 : Integer):BOOL;
  external '[email protected] stdcall';
function  GetArcDirection(hdc: HDC):Integer;
  external '[email protected] stdcall';
function SetArcDirection(DC: HDC; Direction: Integer): Integer;
  external '[email protected] stdcall';
function LineTo(DC: HDC; X, Y: Integer): BOOL;
  external '[email protected] stdcall';
function MoveToEx(DC: HDC; p2, p3: Integer; var p4: TPoint): BOOL;
  external '[email protected] stdcall';
function Rectangle( hdc: HDC; nLeftRect, nTopRect, nRightRect, nBottomRect :Integer):BOOL;
  external '[email protected] stdcall';

function SetWindowLong(hWnd: HWND; nIndex: Integer; dwNewLong: Longint): Longint;
  external 'SetWindowLong{#A}@user32.dll stdcall';
function GetWindowLong(hWnd: HWND; nIndex: Longint): Longint;
  external 'GetWindowLong{#A}@user32.dll stdcall';

function SetLayeredWindowAttributes(hwnd:HWND; crKey:Longint; bAlpha:byte; dwFlags:longint ):longint;
  external 'SetLayeredWindowAttributes@user32 stdcall';

function CallWindowProc(lpPrevWndFunc: Longint; hWnd: HWND; Msg: UINT; wParam, lParam: Longint): Longint;
  external '[email protected] stdcall';

function GetTickCount: DWORD;
  external '[email protected] stdcall';
function SetTimer(hWnd, nIDEvent, uElapse, lpTimerFunc: LongWord): LongWord;
 external '[email protected] stdcall';
function KillTimer(hWnd, nIDEvent: LongWord): LongWord;
 external '[email protected] stdcall';

function Size64(Hi, Lo: Integer): Extended;
begin
	Result:= Lo;
  if Lo < 0 then
   Result := Result + MaxInt + MaxInt + 2;
	for Hi := Hi - 1 Downto 0 do
   Result:= Result + MaxInt + MaxInt + 2;
   Result:=Result/(1024*1024);
End;

function GetFileSize(FileName :String): Extended;
var
  TempRec : TFindRec;
begin
  FindFirst(FileName,TempRec);
  Result := Size64(TempRec.SizeHigh,TempRec.SizeLow);
end;
Reply With Quote
The Following 3 Users Say Thank You to Gupta For This Useful Post:
78372 (05-01-2018), EzzEldin16 (05-01-2018), Jiva newstone (05-01-2018)
 


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
BlackBox v2 y_thelastknight Conversion Tutorials 567 11-03-2025 07:16
INNO TROUBLESHOOT - Tutorials and Answers about INNO Setup REV0 Conversion Tutorials 129 21-05-2021 05:51
Inno Setup: Additional Libraries altef_4 Conversion Tutorials 50 21-10-2020 09:59
Useful Dll for Inno Setup users peterf1999 Conversion Tutorials 88 01-12-2017 16:00
INNO TUTORIAL - Using Unicode and ANSI Versions of INNO Setup REV0 Conversion Tutorials 51 26-03-2015 06:57



All times are GMT -7. The time now is 10:01.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2026, vBulletin Solutions Inc.
FileForums @ https://fileforums.com