From 701041e47b6615cdbcb2bf948700d4f1c4ddcfd2 Mon Sep 17 00:00:00 2001 From: dkolmck Date: Wed, 3 Dec 2014 09:18:38 +0000 Subject: [PATCH] FPC 2.6.4 and 2.7.1 i386 and x64 support from unofficial version by Dmitri K dmiko@mail333.com (dmiko) principal work and Thaddy de Koning thaddy@thaddy.com git-svn-id: https://svn.code.sf.net/p/kolmck/code@129 91bb2d04-0c0c-4d2d-88a5-bbb6f4c1fa07 --- KOL_FPC.inc | 1416 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1416 insertions(+) create mode 100644 KOL_FPC.inc diff --git a/KOL_FPC.inc b/KOL_FPC.inc new file mode 100644 index 0000000..ce0ad14 --- /dev/null +++ b/KOL_FPC.inc @@ -0,0 +1,1416 @@ +{$IFDEF interface_part} +const + INPUT_MOUSE = 0; + INPUT_KEYBOARD = 1; + INPUT_HARDWARE = 2; + +type + tagMOUSEINPUT = record + dx:LONG; + dy:LONG; + mouseData:DWORD; + dwFlags:DWORD; + time:DWORD; + dwExtraInfo:DWORD; + end; + MOUSEINPUT = tagMOUSEINPUT; + PMOUSEINPUT = ^tagMOUSEINPUT; + LPMOUSEINPUT = ^tagMOUSEINPUT; + + tagKEYBDINPUT = record + wVk:word; + wScan:word; + dwFlags:DWORD; + time:DWORD; + dwExtraInfo:DWORD; + end; + KEYBDINPUT = tagKEYBDINPUT; + PKEYBDINPUT = ^tagKEYBDINPUT; + LPKEYBDINPUT = ^tagKEYBDINPUT; + + tagHARDWAREINPUT = record + uMsg:DWORD; + wParamL:word; + wParamH:word; + dwExtraInfo:DWORD; + end; + HARDWAREINPUT = tagHARDWAREINPUT; + PHARDWAREINPUT = ^tagHARDWAREINPUT; + LPHARDWAREINPUT = ^tagHARDWAREINPUT; + + tagINPUT = record + Itype:DWORD; + case longint of + 0: (mi:MOUSEINPUT); + 1: (ki:KEYBDINPUT); + 2: (hi:HARDWAREINPUT); + end; + TInput = tagINPUT; + PInput = ^tagINPUT; + LPINPUT = ^tagINPUT; +type + TFindexInfoLevels = _FINDEX_INFO_LEVELS; + TFindexSearchOps = _FINDEX_SEARCH_OPS; +const +ID_YES = IDYES; +ID_NO = IDNO; +ID_CANCEL = IDCANCEL; +type +TEditStreamCallBack = function (dwCookie: DWORD_PTR; pbBuff: PByte; + cb: Longint; var pcb: Longint): Longint; stdcall; + + EDITSTREAM = packed record + dwCookie: DWORD_PTR; + dwError: Longint; + pfnCallback: TEditStreamCallBack; + end; + TEditStream = EDITSTREAM; + +{$IFNDEF UNICODE_CTRLS} +{LOGFONTA = record + lfHeight: LONG; + lfWidth: LONG; + lfEscapement: LONG; + lfOrientation: LONG; + lfWeight: LONG; + lfItalic: BYTE; + lfUnderline: BYTE; + lfStrikeOut: BYTE; + lfCharSet: BYTE; + lfOutPrecision: BYTE; + lfClipPrecision: BYTE; + lfQuality: BYTE; + lfPitchAndFamily: BYTE; + lfFaceName: array [0..LF_FACESIZE - 1] of CHAR; +end; +LPLOGFONTA = ^LOGFONTA; +NPLOGFONTA = ^LOGFONTA; +_LOGFONTA = LOGFONTA; +TLogFontA = LOGFONTA; +PLogFontA = ^TLOGFONTA; +LOGFONT = LOGFONTA; +LPLOGFONT = ^LOGFONTA; +_LOGFONT = LOGFONTA; +TLOGFONT = LOGFONTA; +PLOGFONT = ^LOGFONTA; +} +TCHOOSEFONTA = record + lStructSize : DWORD; + hwndOwner : HWND; + hDC : HDC; + lpLogFont : LPLOGFONT; + iPointSize : WINT; + Flags : DWORD; + rgbColors : DWORD; + lCustData : LPARAM; + lpfnHook : LPCFHOOKPROC; + lpTemplateName : LPCWSTR; + hInstance : HINST; + lpszStyle : LPTSTR; + nFontType : WORD; + ___MISSING_ALIGNMENT__ : WORD; + nSizeMin : WINT; + nSizeMax : WINT; + end; +LPCHOOSEFONTA = ^TCHOOSEFONTA; +{$ENDIF} +TMsgBoxParamsW = record + cbSize: Cardinal; + hwndOwner: HWND; + hInstance: HINST; + lpszText: PWideChar; + lpszCaption: PWideChar; + dwStyle: DWord; + lpszIcon: PWideChar; + dwContextHelpId: DWORD_PTR; + lpfnMsgBoxCallback: Pointer; + dwLanguageId: DWord; +end; +TCHOOSEFONTW = record + lStructSize : DWORD; + hwndOwner : HWND; + hDC : HDC; + lpLogFont : LPLOGFONT; + iPointSize : WINT; + Flags : DWORD; + rgbColors : DWORD; + lCustData : LPARAM; + lpfnHook : LPCFHOOKPROC; + lpTemplateName : LPCWSTR; + hInstance : HINST; + lpszStyle : LPTSTR; + nFontType : WORD; + ___MISSING_ALIGNMENT__ : WORD; + nSizeMin : WINT; + nSizeMax : WINT; + end; +LPCHOOSEFONTW = ^TCHOOSEFONTW; +{$IFDEF UNICODE_CTRLS} +PCHOOSEFONT = ^TCHOOSEFONTW; +{$ELSE} +PCHOOSEFONT = ^TCHOOSEFONTA; +{$ENDIF} + +type + TFNProgressRoutine = TFarProc; + TFNLocaleEnumProc = TFarProc; + TFNCodepageEnumProc = TFarProc; + TFNDateFmtEnumProc = TFarProc; + TFNTimeFmtEnumProc = TFarProc; + TFNCalInfoEnumProc = TFarProc; + TFNFontEnumProc = TFarProc; + TFNICMEnumProc = TFarProc; + TFNDrawStateProc = TFarProc; + TFNDeskTopEnumProc = TFarProc; + TFNPropEnumProc = TFarProc; + TFNPropEnumProcEx = TFarProc; + TFNWinStaEnumProc = TFarProc; + TFNGrayStringProc = TFarProc; + TFNSendAsyncProc = TFarProc; + +{$IFDEF UNICODE_CTRLS} + PWndClass = PWndClassW; + TWndClass = TWndClassW; + {$IFDEF _D4orHigher} + WNDCLASS = WNDCLASSW; + {$ENDIF} + LOGFONTW = record + lfHeight: LONG; + lfWidth: LONG; + lfEscapement: LONG; + lfOrientation: LONG; + lfWeight: LONG; + lfItalic: BYTE; + lfUnderline: BYTE; + lfStrikeOut: BYTE; + lfCharSet: BYTE; + lfOutPrecision: BYTE; + lfClipPrecision: BYTE; + lfQuality: BYTE; + lfPitchAndFamily: BYTE; + lfFaceName: array [0..LF_FACESIZE - 1] of WCHAR; + end; + LPLOGFONTW = ^LOGFONTW; + NPLOGFONTW = ^LOGFONTW; + _LOGFONTW = LOGFONTW; + TLogFontW = LOGFONTW; + PLogFontW = ^TLOGFONTW; + LOGFONT = LOGFONTW; + LPLOGFONT = ^LOGFONTW; + _LOGFONT = LOGFONTW; + TLOGFONT = LOGFONTW; + PLOGFONT = ^LOGFONTW; + NONCLIENTMETRICS = record + cbSize : UINT; + iBorderWidth : longint; + iScrollWidth : longint; + iScrollHeight : longint; + iCaptionWidth : longint; + iCaptionHeight : longint; + lfCaptionFont : LOGFONT; + iSmCaptionWidth : longint; + iSmCaptionHeight : longint; + lfSmCaptionFont : LOGFONT; + iMenuWidth : longint; + iMenuHeight : longint; + lfMenuFont : LOGFONT; + lfStatusFont : LOGFONT; + lfMessageFont : LOGFONT; + end; + LPNONCLIENTMETRICS = ^NONCLIENTMETRICS; + tagNONCLIENTMETRICS = NONCLIENTMETRICS; + TNONCLIENTMETRICS = NONCLIENTMETRICS; + PNONCLIENTMETRICS = ^NONCLIENTMETRICS; + + ENUMLOGFONT = record + elfLogFont : LOGFONTW; + elfFullName : array[0..(LF_FULLFACESIZE)-1] of WCHAR; + elfStyle : array[0..(LF_FACESIZE)-1] of WCHAR; + end; + tagENUMLOGFONT = ENUMLOGFONT; + TENUMLOGFONT = ENUMLOGFONT; + PENUMLOGFONT = ^ENUMLOGFONT; +{$ENDIF} + +{$IFDEF UNICODE_CTRLS} +type + MakeIntResource = MakeIntResourceW; +const + SizeOfKOLChar = SizeOf(WideChar); + +type + KOLString = KOLWideString; + KOL_String = type KOLWideString; + KOLChar = type WideChar; + PKOLChar = PWideChar; + PKOL_Char = type PWideChar; +{$ELSE} +const + SizeOfKOLChar = SizeOf(AnsiChar); + +type + KOLString = AnsiString; + KOL_String = type AnsiString; + KOLChar = type AnsiChar; + PKOLChar = PAnsiChar; + PKOL_Char = type PAnsiChar; +{$ENDIF} +type + PMenuitemInfoW = ^TMenuItemInfoW; + TMenuitemInfoW = record + cbSize: UINT; + fMask: UINT; + fType: UINT; { used if MIIM_TYPE} + fState: UINT; { used if MIIM_STATE} + wID: UINT; { used if MIIM_ID} + hSubMenu: HMENU; { used if MIIM_SUBMENU} + hbmpChecked: HBITMAP; { used if MIIM_CHECKMARKS} + hbmpUnchecked: HBITMAP; { used if MIIM_CHECKMARKS} + dwItemData: ULONG_PTR; { used if MIIM_DATA} + dwTypeData: PWideChar; { used if MIIM_TYPE} + cch: UINT; { used if MIIM_TYPE} + hbmpItem: HBITMAP; { used if MIIM_BITMAP - not exists under Windows95 } + end; + +const +{ GetIconInfo } + IDC_ARROW = MAKEINTRESOURCE(32512); + IDC_IBEAM = MAKEINTRESOURCE(32513); + IDC_WAIT = MAKEINTRESOURCE(32514); + IDC_CROSS = MAKEINTRESOURCE(32515); + IDC_UPARROW = MAKEINTRESOURCE(32516); + IDC_SIZENWSE = MAKEINTRESOURCE(32642); + IDC_SIZENESW = MAKEINTRESOURCE(32643); + IDC_SIZEWE = MAKEINTRESOURCE(32644); + IDC_SIZENS = MAKEINTRESOURCE(32645); + IDC_SIZEALL = MAKEINTRESOURCE(32646); + IDC_NO = MAKEINTRESOURCE(32648); + IDC_APPSTARTING = MAKEINTRESOURCE(32650); + IDC_HELP = MAKEINTRESOURCE(32651); + + IDI_APPLICATION = MAKEINTRESOURCE(32512); + IDI_HAND = MAKEINTRESOURCE(32513); + IDI_QUESTION = MAKEINTRESOURCE(32514); + IDI_EXCLAMATION = MAKEINTRESOURCE(32515); + IDI_ASTERISK = MAKEINTRESOURCE(32516); + IDI_WINLOGO = MAKEINTRESOURCE(32517); + + IDC_SIZE = MAKEINTRESOURCE(32640); + IDC_ICON = MAKEINTRESOURCE(32641); + IDC_HAND = MAKEINTRESOURCE(32649); + +function SetTimer(hWnd:HWND; nIDEvent:UINT_PTR; uElapse:UINT; lpTimerFunc:TIMERPROC):UINT_PTR; stdcall; +function KillTimer(hWnd:HWND; uIDEvent:UINT_PTR):BOOL; stdcall; +function GetProcessWorkingSetSize(hProcess:HANDLE; lpMinimumWorkingSetSize: PULONG_PTR; lpMaximumWorkingSetSize: PULONG_PTR):WINBOOL; +function SetProcessWorkingSetSize(hProcess:HANDLE; dwMinimumWorkingSetSize:ULONG_PTR; dwMaximumWorkingSetSize:ULONG_PTR):WINBOOL; +function SendInput(nInputs:UINT; var pInputs:TINPUT; cbSize:longint):UINT; +{$IFDEF UNICODE_CTRLS} +function AbortSystemShutdown(lpMachineName: PKOLChar): BOOL; stdcall; +function AccessCheckAndAuditAlarm(SubsystemName: PKOLChar; + HandleId: Pointer; ObjectTypeName, ObjectName: PKOLChar; + SecurityDescriptor: PSecurityDescriptor; DesiredAccess: DWORD; + const GenericMapping: TGenericMapping; ObjectCreation: BOOL; + var GrantedAccess: DWORD; var AccessStatus, pfGenerateOnClose: BOOL): BOOL; stdcall; +{$IFDEF _D4orHigher} +function AccessCheckByTypeAndAuditAlarm(SubsystemName: PKOLChar; + HandleId: Pointer; ObjectTypeName, ObjectName: PKOLChar; + SecurityDescriptor: PSecurityDescriptor; PrincipalSelfSid: PSID; DesiredAccess: DWORD; + AuditType: AUDIT_EVENT_TYPE; Flags: DWORD; ObjectTypeList: PObjectTypeList; + ObjectTypeListLength: DWORD; const GenericMapping: TGenericMapping; ObjectCreation: BOOL; + var GrantedAccess: DWORD; var AccessStatus, pfGenerateOnClose: BOOL): BOOL; stdcall; +function AccessCheckByTypeResultListAndAuditAlarm(SubsystemName: PKOLChar; + HandleId: Pointer; ObjectTypeName, ObjectName: PKOLChar; + SecurityDescriptor: PSecurityDescriptor; PrincipalSelfSid: PSID; DesiredAccess: DWORD; + AuditType: AUDIT_EVENT_TYPE; Flags: DWORD; ObjectTypeList: PObjectTypeList; + ObjectTypeListLength: DWORD; const GenericMapping: TGenericMapping; ObjectCreation: BOOL; + var GrantedAccess: DWORD; var AccessStatusList: DWORD; var pfGenerateOnClose: BOOL): BOOL; stdcall; +{$ENDIF} +function BackupEventLog(hEventLog: THandle; lpBackupFileName: PKOLChar): BOOL; stdcall; +function ClearEventLog(hEventLog: THandle; lpBackupFileName: PKOLChar): BOOL; stdcall; +function CreateProcessAsUser(hToken: THandle; lpApplicationName: PKOLChar; + lpCommandLine: PKOLChar; lpProcessAttributes: PSecurityAttributes; + lpThreadAttributes: PSecurityAttributes; bInheritHandles: BOOL; + dwCreationFlags: DWORD; lpEnvironment: Pointer; lpCurrentDirectory: PKOLChar; + const lpStartupInfo: TStartupInfo; var lpProcessInformation: TProcessInformation): BOOL; stdcall; +//function GetCurrentHwProfile(var lpHwProfileInfo: THWProfileInfo): BOOL; stdcall; +function GetFileSecurity(lpFileName: PKOLChar; RequestedInformation: SECURITY_INFORMATION; + pSecurityDescriptor: PSecurityDescriptor; nLength: DWORD; var lpnLengthNeeded: DWORD): BOOL; stdcall; +function GetUserName(lpBuffer: PKOLChar; var nSize: DWORD): BOOL; stdcall; +function InitiateSystemShutdown(lpMachineName, lpMessage: PKOLChar; + dwTimeout: DWORD; bForceAppsClosed, bRebootAfterShutdown: BOOL): BOOL; stdcall; +function LogonUser(lpszUsername, lpszDomain, lpszPassword: PKOLChar; + dwLogonType, dwLogonProvider: DWORD; var phToken: THandle): BOOL; stdcall; +function LookupAccountName(lpSystemName, lpAccountName: PKOLChar; + Sid: PSID; var cbSid: DWORD; ReferencedDomainName: PKOLChar; + var cbReferencedDomainName: DWORD; var peUse: SID_NAME_USE): BOOL; stdcall; +function LookupAccountSid(lpSystemName: PKOLChar; Sid: PSID; + Name: PKOLChar; var cbName: DWORD; ReferencedDomainName: PKOLChar; + var cbReferencedDomainName: DWORD; var peUse: SID_NAME_USE): BOOL; stdcall; +function LookupPrivilegeDisplayName(lpSystemName, lpName: PKOLChar; + lpDisplayName: PKOLChar; var cbDisplayName, lpLanguageId: DWORD): BOOL; stdcall; +function LookupPrivilegeName(lpSystemName: PKOLChar; + var lpLuid: TLargeInteger; lpName: PKOLChar; var cbName: DWORD): BOOL; stdcall; +function LookupPrivilegeValue(lpSystemName, lpName: PKOLChar; + var lpLuid: TLargeInteger): BOOL; stdcall; +function ObjectCloseAuditAlarm(SubsystemName: PKOLChar; + HandleId: Pointer; GenerateOnClose: BOOL): BOOL; stdcall; +function ObjectDeleteAuditAlarm(SubsystemName: PKOLChar; + HandleId: Pointer; GenerateOnClose: BOOL): BOOL; stdcall; +function ObjectOpenAuditAlarm(SubsystemName: PKOLChar; HandleId: Pointer; + ObjectTypeName: PKOLChar; ObjectName: PKOLChar; pSecurityDescriptor: PSecurityDescriptor; + ClientToken: THandle; DesiredAccess, GrantedAccess: DWORD; + var Privileges: TPrivilegeSet; ObjectCreation, AccessGranted: BOOL; + var GenerateOnClose: BOOL): BOOL; stdcall; +function ObjectPrivilegeAuditAlarm(SubsystemName: PKOLChar; + HandleId: Pointer; ClientToken: THandle; DesiredAccess: DWORD; + var Privileges: TPrivilegeSet; AccessGranted: BOOL): BOOL; stdcall; +function OpenBackupEventLog(lpUNCServerName, lpFileName: PKOLChar): THandle; stdcall; +function OpenEventLog(lpUNCServerName, lpSourceName: PKOLChar): THandle; stdcall; +function PrivilegedServiceAuditAlarm(SubsystemName, ServiceName: PKOLChar; + ClientToken: THandle; var Privileges: TPrivilegeSet; AccessGranted: BOOL): BOOL; stdcall; +function ReadEventLog(hEventLog: THandle; dwReadFlags, dwRecordOffset: DWORD; + lpBuffer: Pointer; nNumberOfBytesToRead: DWORD; + var pnBytesRead, pnMinNumberOfBytesNeeded: DWORD): BOOL; stdcall; +function RegConnectRegistry(lpMachineName: PKOLChar; hKey: HKEY; + var phkResult: HKEY): Longint; stdcall; +function RegCreateKey(hKey: HKEY; lpSubKey: PKOLChar; + var phkResult: HKEY): Longint; stdcall; +function RegCreateKeyEx(hKey: HKEY; lpSubKey: PKOLChar; + Reserved: DWORD; lpClass: PKOLChar; dwOptions: DWORD; samDesired: REGSAM; + lpSecurityAttributes: PSecurityAttributes; var phkResult: HKEY; + lpdwDisposition: PDWORD): Longint; stdcall; +function RegDeleteKey(hKey: HKEY; lpSubKey: PKOLChar): Longint; stdcall; +function RegDeleteValue(hKey: HKEY; lpValueName: PKOLChar): Longint; stdcall; +function RegEnumKeyEx(hKey: HKEY; dwIndex: DWORD; lpName: PKOLChar; + var lpcbName: DWORD; lpReserved: Pointer; lpClass: PKOLChar; + lpcbClass: PDWORD; lpftLastWriteTime: PFileTime): Longint; stdcall; +function RegEnumKey(hKey: HKEY; dwIndex: DWORD; lpName: PKOLChar; cbName: DWORD): Longint; stdcall; +function RegEnumValue(hKey: HKEY; dwIndex: DWORD; lpValueName: PKOLChar; + var lpcbValueName: DWORD; lpReserved: Pointer; lpType: PDWORD; + lpData: PByte; lpcbData: PDWORD): Longint; stdcall; +function RegLoadKey(hKey: HKEY; lpSubKey, lpFile: PKOLChar): Longint; stdcall; +function RegOpenKey(hKey: HKEY; lpSubKey: PKOLChar; var phkResult: HKEY): Longint; stdcall; +function RegOpenKeyEx(hKey: HKEY; lpSubKey: PKOLChar; + ulOptions: DWORD; samDesired: REGSAM; var phkResult: HKEY): Longint; stdcall; +function RegQueryInfoKey(hKey: HKEY; lpClass: PKOLChar; + lpcbClass: PDWORD; lpReserved: Pointer; + lpcSubKeys, lpcbMaxSubKeyLen, lpcbMaxClassLen, lpcValues, + lpcbMaxValueNameLen, lpcbMaxValueLen, lpcbSecurityDescriptor: PDWORD; + lpftLastWriteTime: PFileTime): Longint; stdcall; +function RegQueryMultipleValues(hKey: HKEY; var ValList; + NumVals: DWORD; lpValueBuf: PKOLChar; var ldwTotsize: DWORD): Longint; stdcall; +function RegQueryValue(hKey: HKEY; lpSubKey: PKOLChar; + lpValue: PKOLChar; var lpcbValue: Longint): Longint; stdcall; +function RegQueryValueEx(hKey: HKEY; lpValueName: PKOLChar; + lpReserved: Pointer; lpType: PDWORD; lpData: PByte; lpcbData: PDWORD): Longint; stdcall; +function RegReplaceKey(hKey: HKEY; lpSubKey: PKOLChar; + lpNewFile: PKOLChar; lpOldFile: PKOLChar): Longint; stdcall; +function RegRestoreKey(hKey: HKEY; lpFile: PKOLChar; dwFlags: DWORD): Longint; stdcall; +function RegSaveKey(hKey: HKEY; lpFile: PKOLChar; + lpSecurityAttributes: PSecurityAttributes): Longint; stdcall; +function RegSetValue(hKey: HKEY; lpSubKey: PKOLChar; + dwType: DWORD; lpData: PKOLChar; cbData: DWORD): Longint; stdcall; +function RegSetValueEx(hKey: HKEY; lpValueName: PKOLChar; + Reserved: DWORD; dwType: DWORD; lpData: Pointer; cbData: DWORD): Longint; stdcall; +function RegUnLoadKey(hKey: HKEY; lpSubKey: PKOLChar): Longint; stdcall; +function RegisterEventSource(lpUNCServerName, lpSourceName: PKOLChar): THandle; stdcall; +function ReportEvent(hEventLog: THandle; wType, wCategory: Word; + dwEventID: DWORD; lpUserSid: Pointer; wNumStrings: Word; + dwDataSize: DWORD; lpStrings, lpRawData: Pointer): BOOL; stdcall; +function SetFileSecurity(lpFileName: PKOLChar; SecurityInformation: SECURITY_INFORMATION; + pSecurityDescriptor: PSecurityDescriptor): BOOL; stdcall; +function AddAtom(lpString: PKOLChar): ATOM; stdcall; +function BeginUpdateResource(pFileName: PKOLChar; bDeleteExistingResources: BOOL): THandle; stdcall; +function BuildCommDCB(lpDef: PKOLChar; var lpDCB: TDCB): BOOL; stdcall; +function BuildCommDCBAndTimeouts(lpDef: PKOLChar; var lpDCB: TDCB; + var lpCommTimeouts: TCommTimeouts): BOOL; stdcall; +function CallNamedPipe(lpNamedPipeName: PKOLChar; lpInBuffer: Pointer; + nInBufferSize: DWORD; lpOutBuffer: Pointer; nOutBufferSize: DWORD; + var lpBytesRead: DWORD; nTimeOut: DWORD): BOOL; stdcall; +function CommConfigDialog(lpszName: PKOLChar; hWnd: HWND; var lpCC: TCommConfig): BOOL; stdcall; +function CompareString(Locale: LCID; dwCmpFlags: DWORD; lpString1: PKOLChar; + cchCount1: Integer; lpString2: PKOLChar; cchCount2: Integer): Integer; stdcall; +function CopyFile(lpExistingFileName, lpNewFileName: PKOLChar; bFailIfExists: BOOL): BOOL; stdcall; +function CopyFileEx(lpExistingFileName, lpNewFileName: PKOLChar; + lpProgressRoutine: TFNProgressRoutine; lpData: Pointer; pbCancel: PBool; + dwCopyFlags: DWORD): BOOL; stdcall; +function CreateDirectory(lpPathName: PKOLChar; + lpSecurityAttributes: PSecurityAttributes): BOOL; stdcall; +function CreateDirectoryEx(lpTemplateDirectory, lpNewDirectory: PKOLChar; + lpSecurityAttributes: PSecurityAttributes): BOOL; stdcall; +function CreateEvent(lpEventAttributes: PSecurityAttributes; + bManualReset, bInitialState: BOOL; lpName: PKOLChar): THandle; stdcall; +function CreateFile(lpFileName: PKOLChar; dwDesiredAccess, dwShareMode: DWORD; + lpSecurityAttributes: PSecurityAttributes; dwCreationDisposition, dwFlagsAndAttributes: DWORD; + hTemplateFile: THandle): THandle; stdcall; +function CreateFileMapping(hFile: THandle; lpFileMappingAttributes: PSecurityAttributes; + flProtect, dwMaximumSizeHigh, dwMaximumSizeLow: DWORD; lpName: PKOLChar): THandle; stdcall; +function CreateHardLink(lpFileName, lpExistingFileName: PKOLChar; + lpSecurityAttributes: PSecurityAttributes): BOOL; stdcall; +function CreateMailslot(lpName: PKOLChar; nMaxMessageSize: DWORD; + lReadTimeout: DWORD; lpSecurityAttributes: PSecurityAttributes): THandle; stdcall; +function CreateNamedPipe(lpName: PKOLChar; + dwOpenMode, dwPipeMode, nMaxInstances, nOutBufferSize, nInBufferSize, nDefaultTimeOut: DWORD; + lpSecurityAttributes: PSecurityAttributes): THandle; stdcall; +function CreateProcess(lpApplicationName: PKOLChar; lpCommandLine: PKOLChar; + lpProcessAttributes, lpThreadAttributes: PSecurityAttributes; + bInheritHandles: BOOL; dwCreationFlags: DWORD; lpEnvironment: Pointer; + lpCurrentDirectory: PKOLChar; const lpStartupInfo: TStartupInfo; + var lpProcessInformation: TProcessInformation): BOOL; stdcall; +function CreateSemaphore(lpSemaphoreAttributes: PSecurityAttributes; + lInitialCount, lMaximumCount: Longint; lpName: PKOLChar): THandle; stdcall; +function CreateWaitableTimer(lpTimerAttributes: PSecurityAttributes; bManualReset: BOOL; lpTimerName: PKOLChar): THandle; stdcall; +function DefineDosDevice(dwFlags: DWORD; lpDeviceName, lpTargetPath: PKOLChar): BOOL; stdcall; +function DeleteFile(lpFileName: PKOLChar): BOOL; stdcall; +function EndUpdateResource(hUpdate: THandle; fDiscard: BOOL): BOOL; stdcall; +function EnumCalendarInfo(lpCalInfoEnumProc: TFNCalInfoEnumProc; Locale: LCID; + Calendar: CALID; CalType: CALTYPE): BOOL; stdcall; +function EnumDateFormats(lpDateFmtEnumProc: TFNDateFmtEnumProc; + Locale: LCID; dwFlags: DWORD): BOOL; stdcall; +function EnumResourceLanguages(hModule: HMODULE; lpType, lpName: PKOLChar; + lpEnumFunc: ENUMRESLANGPROC; lParam: Longint): BOOL; stdcall; +function EnumResourceNames(hModule: HMODULE; lpType: PKOLChar; + lpEnumFunc: ENUMRESNAMEPROC; lParam: Longint): BOOL; stdcall; +function EnumResourceTypes(hModule: HMODULE; lpEnumFunc: ENUMRESTYPEPROC; + lParam: Longint): BOOL; stdcall; +function EnumSystemCodePages(lpCodePageEnumProc: TFNCodepageEnumProc; dwFlags: DWORD): BOOL; stdcall; +function EnumSystemLocales(lpLocaleEnumProc: TFNLocaleEnumProc; dwFlags: DWORD): BOOL; stdcall; +function EnumTimeFormats(lpTimeFmtEnumProc: TFNTimeFmtEnumProc; + Locale: LCID; dwFlags: DWORD): BOOL; stdcall; +function ExpandEnvironmentStrings(lpSrc: PKOLChar; lpDst: PKOLChar; nSize: DWORD): DWORD; stdcall; +procedure FatalAppExit(uAction: UINT; lpMessageText: PKOLChar); stdcall; +function FillConsoleOutputCharacter(hConsoleOutput: THandle; cCharacter: KOLChar; + nLength: DWORD; dwWriteCoord: TCoord; var lpNumberOfCharsWritten: DWORD): BOOL; stdcall; +function FindAtom(lpString: PKOLChar): ATOM; stdcall; +function FindFirstChangeNotification(lpPathName: PKOLChar; + bWatchSubtree: BOOL; dwNotifyFilter: DWORD): THandle; stdcall; +function FindFirstFile(lpFileName: PKOLChar; var lpFindFileData: TWIN32FindDataW): THandle; stdcall; +function FindFirstFileEx(lpFileName: PKOLChar; fInfoLevelId: FINDEX_INFO_LEVELS; + lpFindFileData: Pointer; fSearchOp: FINDEX_SEARCH_OPS; lpSearchFilter: Pointer; + dwAdditionalFlags: DWORD): BOOL; stdcall; +function FindNextFile(hFindFile: THandle; var lpFindFileData: TWIN32FindDataW): BOOL; stdcall; +function FindResource(hModule: HMODULE; lpName, lpType: PKOLChar): HRSRC; stdcall; +function FindResourceEx(hModule: HMODULE; lpType, lpName: PKOLChar; wLanguage: Word): HRSRC; stdcall; +function FoldString(dwMapFlags: DWORD; lpSrcStr: PKOLChar; cchSrc: Integer; + lpDestStr: PKOLChar; cchDest: Integer): Integer; stdcall; +function FormatMessage(dwFlags: DWORD; lpSource: Pointer; dwMessageId: DWORD; dwLanguageId: DWORD; + lpBuffer: PKOLChar; nSize: DWORD; Arguments: Pointer): DWORD; stdcall; +function FreeEnvironmentStrings(EnvBlock: PKOLChar): BOOL; stdcall; +function GetAtomName(nAtom: ATOM; lpBuffer: PKOLChar; nSize: Integer): UINT; stdcall; +function GetBinaryType(lpApplicationName: PKOLChar; var lpBinaryType: DWORD): BOOL; stdcall; +function GetCommandLine: PKOLChar; stdcall; +function GetCompressedFileSize(lpFileName: PKOLChar; lpFileSizeHigh: PDWORD): DWORD; stdcall; +function GetComputerName(lpBuffer: PKOLChar; var nSize: DWORD): BOOL; stdcall; +function GetConsoleTitle(lpConsoleTitle: PKOLChar; nSize: DWORD): DWORD; stdcall; +function GetCurrencyFormat(Locale: LCID; dwFlags: DWORD; lpValue: PKOLChar; + lpFormat: PCurrencyFmt; lpCurrencyStr: PKOLChar; cchCurrency: Integer): Integer; stdcall; +function GetCurrentDirectory(nBufferLength: DWORD; lpBuffer: PKOLChar): DWORD; stdcall; +function GetDateFormat(Locale: LCID; dwFlags: DWORD; lpDate: PSystemTime; + lpFormat: PKOLChar; lpDateStr: PKOLChar; cchDate: Integer): Integer; stdcall; +function GetDefaultCommConfig(lpszName: PKOLChar; + var lpCC: TCommConfig; var lpdwSize: DWORD): BOOL; stdcall; +function GetDiskFreeSpace(lpRootPathName: PKOLChar; + var lpSectorsPerCluster, lpBytesPerSector, lpNumberOfFreeClusters, lpTotalNumberOfClusters: DWORD): BOOL; stdcall; +function GetDiskFreeSpaceEx(lpDirectoryName: PKOLChar; + var lpFreeBytesAvailableToCaller, lpTotalNumberOfBytes; lpTotalNumberOfFreeBytes: PLargeInteger): BOOL; stdcall; +function GetDriveType(lpRootPathName: PKOLChar): UINT; stdcall; +function GetEnvironmentStrings: PKOLChar; stdcall; +function GetEnvironmentVariable(lpName: PKOLChar; lpBuffer: PKOLChar; nSize: DWORD): DWORD; stdcall; + {$IFDEF _D4orHigher} overload; {$ENDIF} +function GetFileAttributes(lpFileName: PKOLChar): DWORD; stdcall; +function GetFileAttributesEx(lpFileName: PKOLChar; + fInfoLevelId: TGetFileExInfoLevels; lpFileInformation: Pointer): BOOL; stdcall; +function GetFullPathName(lpFileName: PKOLChar; nBufferLength: DWORD; + lpBuffer: PKOLChar; var lpFilePart: PKOLChar): DWORD; stdcall; +function GetLocaleInfo(Locale: LCID; LCType: LCTYPE; lpLCData: PKOLChar; cchData: Integer): Integer; stdcall; +function GetLogicalDriveStrings(nBufferLength: DWORD; lpBuffer: PKOLChar): DWORD; stdcall; +function GetModuleFileName(hModule: HINST; lpFilename: PKOLChar; nSize: DWORD): DWORD; stdcall; +function GetModuleHandle(lpModuleName: PKOLChar): HMODULE; stdcall; +function GetNamedPipeHandleState(hNamedPipe: THandle; + lpState, lpCurInstances, lpMaxCollectionCount, lpCollectDataTimeout: PDWORD; + lpUserName: PKOLChar; nMaxUserNameSize: DWORD): BOOL; stdcall; +function GetNumberFormat(Locale: LCID; dwFlags: DWORD; lpValue: PKOLChar; + lpFormat: PNumberFmt; lpNumberStr: PKOLChar; cchNumber: Integer): Integer; stdcall; +function GetPrivateProfileInt(lpAppName, lpKeyName: PKOLChar; nDefault: Integer; lpFileName: PKOLChar): UINT; stdcall; +function GetPrivateProfileSection(lpAppName: PKOLChar; lpReturnedString: PKOLChar; nSize: DWORD; lpFileName: PKOLChar): DWORD; stdcall; +function GetPrivateProfileSectionNames(lpszReturnBuffer: PKOLChar; nSize: DWORD; lpFileName: PKOLChar): DWORD; stdcall; +function GetPrivateProfileString(lpAppName, lpKeyName, lpDefault: PKOLChar; + lpReturnedString: PKOLChar; nSize: DWORD; lpFileName: PKOLChar): DWORD; stdcall; +function GetProfileInt(lpAppName, lpKeyName: PKOLChar; nDefault: Integer): UINT; stdcall; +function GetProfileSection(lpAppName: PKOLChar; lpReturnedString: PKOLChar; nSize: DWORD): DWORD; stdcall; +function GetProfileString(lpAppName, lpKeyName, lpDefault: PKOLChar; + lpReturnedString: PKOLChar; nSize: DWORD): DWORD; stdcall; +function GetShortPathName(lpszLongPath: PKOLChar; lpszShortPath: PKOLChar; + cchBuffer: DWORD): DWORD; stdcall; +procedure GetStartupInfo(var lpStartupInfo: TStartupInfo); stdcall; +function GetStringTypeEx(Locale: LCID; dwInfoType: DWORD; + lpSrcStr: PKOLChar; cchSrc: Integer; var lpCharType): BOOL; stdcall; +function GetSystemDirectory(lpBuffer: PKOLChar; uSize: UINT): UINT; stdcall; +function GetTempFileName(lpPathName, lpPrefixString: PKOLChar; + uUnique: UINT; lpTempFileName: PKOLChar): UINT; stdcall; +function GetTempPath(nBufferLength: DWORD; lpBuffer: PKOLChar): DWORD; stdcall; +function GetTimeFormat(Locale: LCID; dwFlags: DWORD; lpTime: PSystemTime; + lpFormat: PKOLChar; lpTimeStr: PKOLChar; cchTime: Integer): Integer; stdcall; +function GetVersionEx(var lpVersionInformation: TOSVersionInfo): BOOL; stdcall; +function GetVolumeInformation(lpRootPathName: PKOLChar; + lpVolumeNameBuffer: PKOLChar; nVolumeNameSize: DWORD; lpVolumeSerialNumber: PDWORD; + var lpMaximumComponentLength, lpFileSystemFlags: DWORD; + lpFileSystemNameBuffer: PKOLChar; nFileSystemNameSize: DWORD): BOOL; stdcall; +function GetWindowsDirectory(lpBuffer: PKOLChar; uSize: UINT): UINT; stdcall; +function GlobalAddAtom(lpString: PKOLChar): ATOM; stdcall; +function GlobalFindAtom(lpString: PKOLChar): ATOM; stdcall; +function GlobalGetAtomName(nAtom: ATOM; lpBuffer: PKOLChar; nSize: Integer): UINT; stdcall; +function IsBadStringPtr(lpsz: PKOLChar; ucchMax: UINT): BOOL; stdcall; +function LCMapString(Locale: LCID; dwMapFlags: DWORD; lpSrcStr: PKOLChar; + cchSrc: Integer; lpDestStr: PKOLChar; cchDest: Integer): Integer; stdcall; +function LoadLibrary(lpLibFileName: PKOLChar): HMODULE; stdcall; +function LoadLibraryEx(lpLibFileName: PKOLChar; hFile: THandle; dwFlags: DWORD): HMODULE; stdcall; +function MoveFile(lpExistingFileName, lpNewFileName: PKOLChar): BOOL; stdcall; +function MoveFileEx(lpExistingFileName, lpNewFileName: PKOLChar; dwFlags: DWORD): BOOL; stdcall; +function MoveFileWithProgress(lpExistingFileName, lpNewFileName: PKOLChar; lpProgressRoutine: TFNProgressRoutine; + lpData: Pointer; dwFlags: DWORD): BOOL; stdcall; +function OpenEvent(dwDesiredAccess: DWORD; bInheritHandle: BOOL; lpName: PKOLChar): THandle; stdcall; +function OpenFileMapping(dwDesiredAccess: DWORD; bInheritHandle: BOOL; lpName: PKOLChar): THandle; stdcall; +function OpenMutex(dwDesiredAccess: DWORD; bInheritHandle: BOOL; lpName: PKOLChar): THandle; stdcall; +function OpenSemaphore(dwDesiredAccess: DWORD; bInheritHandle: BOOL; lpName: PKOLChar): THandle; stdcall; +function OpenWaitableTimer(dwDesiredAccess: DWORD; bInheritHandle: BOOL; + lpTimerName: PKOLChar): THandle; stdcall; +procedure OutputDebugString(lpOutputString: PKOLChar); stdcall; +function PeekConsoleInput(hConsoleInput: THandle; var lpBuffer: TInputRecord; + nLength: DWORD; var lpNumberOfEventsRead: DWORD): BOOL; stdcall; +function QueryDosDevice(lpDeviceName: PKOLChar; lpTargetPath: PKOLChar; ucchMax: DWORD): DWORD; stdcall; +{$IFDEF _D4orHigher} +//function QueryRecoveryAgents(p1: PKOLChar; var p2: Pointer; var p3: TRecoveryAgentInformation): DWORD; stdcall; +{$ENDIF} +function ReadConsole(hConsoleInput: THandle; lpBuffer: Pointer; + nNumberOfCharsToRead: DWORD; var lpNumberOfCharsRead: DWORD; lpReserved: Pointer): BOOL; stdcall; +function ReadConsoleInput(hConsoleInput: THandle; var lpBuffer: TInputRecord; + nLength: DWORD; var lpNumberOfEventsRead: DWORD): BOOL; stdcall; +function ReadConsoleOutput(hConsoleOutput: THandle; lpBuffer: Pointer; + dwBufferSize, dwBufferCoord: TCoord; var lpReadRegion: TSmallRect): BOOL; stdcall; +function ReadConsoleOutputCharacter(hConsoleOutput: THandle; lpCharacter: PKOLChar; + nLength: DWORD; dwReadCoord: TCoord; var lpNumberOfCharsRead: DWORD): BOOL; stdcall; +function RemoveDirectory(lpPathName: PKOLChar): BOOL; stdcall; +function ScrollConsoleScreenBuffer(hConsoleOutput: THandle; + const lpScrollRectangle: TSmallRect; lpClipRectangle: PSmallRect; + dwDestinationOrigin: TCoord; var lpFill: TCharInfo): BOOL; stdcall; +function SearchPath(lpPath, lpFileName, lpExtension: PKOLChar; + nBufferLength: DWORD; lpBuffer: PKOLChar; var lpFilePart: PKOLChar): DWORD; stdcall; +function SetComputerName(lpComputerName: PKOLChar): BOOL; stdcall; +function SetConsoleTitle(lpConsoleTitle: PKOLChar): BOOL; stdcall; +function SetCurrentDirectory(lpPathName: PKOLChar): BOOL; stdcall; +function SetDefaultCommConfig(lpszName: PKOLChar; lpCC: PCommConfig; dwSize: DWORD): BOOL; stdcall; +function SetEnvironmentVariable(lpName, lpValue: PKOLChar): BOOL; stdcall; +function SetFileAttributes(lpFileName: PKOLChar; dwFileAttributes: DWORD): BOOL; stdcall; +function SetLocaleInfo(Locale: LCID; LCType: LCTYPE; lpLCData: PKOLChar): BOOL; stdcall; +function SetVolumeLabel(lpRootPathName: PKOLChar; lpVolumeName: PKOLChar): BOOL; stdcall; +function UpdateResource(hUpdate: THandle; lpType, lpName: PKOLChar; + wLanguage: Word; lpData: Pointer; cbData: DWORD): BOOL; stdcall; +function VerLanguageName(wLang: DWORD; szLang: PKOLChar; nSize: DWORD): DWORD; stdcall; +function WaitNamedPipe(lpNamedPipeName: PKOLChar; nTimeOut: DWORD): BOOL; stdcall; +function WriteConsole(hConsoleOutput: THandle; const lpBuffer: Pointer; + nNumberOfCharsToWrite: DWORD; var lpNumberOfCharsWritten: DWORD; lpReserved: Pointer): BOOL; stdcall; +function WriteConsoleInput(hConsoleInput: THandle; const lpBuffer: TInputRecord; + nLength: DWORD; var lpNumberOfEventsWritten: DWORD): BOOL; stdcall; +function WriteConsoleOutput(hConsoleOutput: THandle; lpBuffer: Pointer; + dwBufferSize, dwBufferCoord: TCoord; var lpWriteRegion: TSmallRect): BOOL; stdcall; +function WriteConsoleOutputCharacter(hConsoleOutput: THandle;lpCharacter: PKOLChar; + nLength: DWORD; dwWriteCoord: TCoord; var lpNumberOfCharsWritten: DWORD): BOOL; stdcall; +function WritePrivateProfileSection(lpAppName, lpString, lpFileName: PKOLChar): BOOL; stdcall; +function WritePrivateProfileString(lpAppName, lpKeyName, lpString, lpFileName: PKOLChar): BOOL; stdcall; +function WriteProfileSection(lpAppName, lpString: PKOLChar): BOOL; stdcall; +function WriteProfileString(lpAppName, lpKeyName, lpString: PKOLChar): BOOL; stdcall; +function lstrcat(lpString1, lpString2: PKOLChar): PKOLChar; stdcall; +function lstrcmp(lpString1, lpString2: PKOLChar): Integer; stdcall; +function lstrcmpi(lpString1, lpString2: PKOLChar): Integer; stdcall; +function lstrcpy(lpString1, lpString2: PKOLChar): PKOLChar; stdcall; +function lstrcpyn(lpString1, lpString2: PKOLChar; iMaxLength: Integer): PKOLChar; stdcall; +function lstrlen(lpString: PKOLChar): Integer; stdcall; +function MultinetGetConnectionPerformance(lpNetResource: PNetResource; + lpNetConnectInfoStruc: PNetConnectInfoStruct): DWORD; stdcall; +function WNetAddConnection2(var lpNetResource: TNetResource; + lpPassword, lpUserName: PKOLChar; dwFlags: DWORD): DWORD; stdcall; +function WNetAddConnection3(hwndOwner: HWND; var lpNetResource: TNetResource; + lpPassword, lpUserName: PKOLChar; dwFlags: DWORD): DWORD; stdcall; +function WNetAddConnection(lpRemoteName, lpPassword, lpLocalName: PKOLChar): DWORD; stdcall; +function WNetCancelConnection2(lpName: PKOLChar; dwFlags: DWORD; fForce: BOOL): DWORD; stdcall; +function WNetCancelConnection(lpName: PKOLChar; fForce: BOOL): DWORD; stdcall; +function WNetConnectionDialog1(var lpConnDlgStruct: TConnectDlgStruct): DWORD; stdcall; +function WNetDisconnectDialog1(var lpConnDlgStruct: TDiscDlgStruct): DWORD; stdcall; +function WNetEnumResource(hEnum: THandle; var lpcCount: DWORD; + lpBuffer: Pointer; var lpBufferSize: DWORD): DWORD; stdcall; +function WNetGetConnection(lpLocalName: PKOLChar; + lpRemoteName: PKOLChar; var lpnLength: DWORD): DWORD; stdcall; +function WNetGetLastError(var lpError: DWORD; lpErrorBuf: PKOLChar; + nErrorBufSize: DWORD; lpNameBuf: PKOLChar; nNameBufSize: DWORD): DWORD; stdcall; +function WNetGetNetworkInformation(lpProvider: PKOLChar; + var lpNetInfoStruct: TNetInfoStruct): DWORD; stdcall; +function WNetGetProviderName(dwNetType: DWORD; lpProviderName: PKOLChar; + var lpBufferSize: DWORD): DWORD; stdcall; +function WNetGetResourceParent(lpNetResource: PNetResource; + lpBuffer: Pointer; var cbBuffer: DWORD): DWORD; stdcall; +function WNetGetUniversalName(lpLocalPath: PKOLChar; dwInfoLevel: DWORD; + lpBuffer: Pointer; var lpBufferSize: DWORD): DWORD; stdcall; +function WNetGetUser(lpName: PKOLChar; lpUserName: PKOLChar; var lpnLength: DWORD): DWORD; stdcall; +function WNetOpenEnum(dwScope, dwType, dwUsage: DWORD; + lpNetResource: PNetResource; var lphEnum: THandle): DWORD; stdcall; +function WNetSetConnection(lpName: PKOLChar; dwProperties: DWORD; pvValues: Pointer): DWORD; stdcall; +function WNetUseConnection(hwndOwner: HWND; + var lpNetResource: TNetResource; lpUserID: PKOLChar; + lpPassword: PKOLChar; dwFlags: DWORD; lpAccessName: PKOLChar; + var lpBufferSize: DWORD; var lpResult: DWORD): DWORD; stdcall; +function GetFileVersionInfo(lptstrFilename: PKOLChar; dwHandle, dwLen: DWORD; + lpData: Pointer): BOOL; stdcall; +function GetFileVersionInfoSize(lptstrFilename: PKOLChar; var lpdwHandle: DWORD): DWORD; stdcall; +function VerFindFile(uFlags: DWORD; szFileName, szWinDir, szAppDir, szCurDir: PKOLChar; + var lpuCurDirLen: UINT; szDestDir: PKOLChar; var lpuDestDirLen: UINT): DWORD; stdcall; +function VerInstallFile(uFlags: DWORD; + szSrcFileName, szDestFileName, szSrcDir, szDestDir, szCurDir, szTmpFile: PKOLChar; + var lpuTmpFileLen: UINT): DWORD; stdcall; +function VerQueryValue(pBlock: Pointer; lpSubBlock: PKOLChar; + var lplpBuffer: Pointer; var puLen: UINT): BOOL; stdcall; +function GetPrivateProfileStruct(lpszSection, lpszKey: PKOLChar; + lpStruct: Pointer; uSizeStruct: UINT; szFile: PKOLChar): BOOL; stdcall; +function WritePrivateProfileStruct(lpszSection, lpszKey: PKOLChar; + lpStruct: Pointer; uSizeStruct: UINT; szFile: PKOLChar): BOOL; stdcall; +function AddFontResource(FileName: PKOLChar): Integer; stdcall; +{$IFDEF _D4orHigher} +//function AddFontResourceEx(p1: PKOLChar; p2: DWORD; p3: PDesignVector): Integer; stdcall; +{$ENDIF} +function CopyEnhMetaFile(p1: HENHMETAFILE; p2: PKOLChar): HENHMETAFILE; stdcall; +function CopyMetaFile(p1: HMETAFILE; p2: PKOLChar): HMETAFILE; stdcall; +function CreateColorSpace(var ColorSpace: TLogColorSpace): HCOLORSPACE; stdcall; +function CreateDC(lpszDriver, lpszDevice, lpszOutput: PKOLChar; + lpdvmInit: PDeviceMode): HDC; stdcall; +function CreateEnhMetaFile(DC: HDC; FileName: PKOLChar; Rect: PRect; Desc: PKOLChar): HDC; stdcall; +function CreateFont(nHeight, nWidth, nEscapement, nOrientaion, fnWeight: Integer; + fdwItalic, fdwUnderline, fdwStrikeOut, fdwCharSet, fdwOutputPrecision, + fdwClipPrecision, fdwQuality, fdwPitchAndFamily: DWORD; lpszFace: PKOLChar): HFONT; stdcall; +function CreateFontIndirect(const p1: TLogFont): HFONT; stdcall; +{$IFDEF _D4orHigher} +//function CreateFontIndirectEx(const p1: PEnumLogFontExDV): HFONT; stdcall; +{$ENDIF} +function CreateIC(lpszDriver, lpszDevice, lpszOutput: PKOLChar; lpdvmInit: PDeviceMode): HDC; stdcall; +function CreateMetaFile(p1: PKOLChar): HDC; stdcall; +function CreateScalableFontResource(p1: DWORD; p2, p3, p4: PKOLChar): BOOL; stdcall; +function DeviceCapabilities(pDriverName, pDeviceName, pPort: PKOLChar; + iIndex: Integer; pOutput: PKOLChar; DevMode: PDeviceMode): Integer; stdcall; +function EnumFontFamilies(DC: HDC; p2: PKOLChar; p3: TFNFontEnumProc; p4: LPARAM): BOOL; stdcall; +function EnumFontFamiliesEx(DC: HDC; var p2: TLogFont; + p3: TFNFontEnumProc; p4: LPARAM; p5: DWORD): BOOL; stdcall; +function EnumFonts(DC: HDC; lpszFace: PKOLChar; fntenmprc: TFNFontEnumProc; + lpszData: PKOLChar): Integer; stdcall; +function EnumICMProfiles(DC: HDC; ICMProc: TFNICMEnumProc; p3: LPARAM): Integer; stdcall; +function ExtTextOut(DC: HDC; X, Y: Integer; Options: Longint; + Rect: PRect; Str: PKOLChar; Count: Longint; Dx: PInteger): BOOL; stdcall; +function GetCharABCWidths(DC: HDC; FirstChar, LastChar: UINT; const ABCStructs): BOOL; stdcall; +function GetCharABCWidthsFloat(DC: HDC; FirstChar, LastChar: UINT; const ABCFloatSturcts): BOOL; stdcall; +function GetCharWidth32(DC: HDC; FirstChar, LastChar: UINT; const Widths): BOOL; stdcall; +function GetCharWidth(DC: HDC; FirstChar, LastChar: UINT; const Widths): BOOL; stdcall; +function GetCharWidthFloat(DC: HDC; FirstChar, LastChar: UINT; const Widths): BOOL; stdcall; +function GetCharacterPlacement(DC: HDC; p2: PKOLChar; p3, p4: BOOL; + var p5: TGCPResults; p6: DWORD): DWORD; stdcall; +function GetEnhMetaFile(p1: PKOLChar): HENHMETAFILE; stdcall; +function GetEnhMetaFileDescription(p1: HENHMETAFILE; p2: UINT; p3: PKOLChar): UINT; stdcall; +function GetGlyphIndices(DC: HDC; p2: PKOLChar; p3: Integer; p4: PWORD; p5: DWORD): DWORD; stdcall; +function GetGlyphOutline(DC: HDC; uChar, uFormat: UINT; + const lpgm: TGlyphMetrics; cbBuffer: DWORD; lpvBuffer: Pointer; const lpmat2: TMat2): DWORD; stdcall; +function GetICMProfile(DC: HDC; var Size: DWORD; Name: PKOLChar): BOOL; stdcall; +function GetLogColorSpace(p1: HCOLORSPACE; var ColorSpace: TLogColorSpace; Size: DWORD): BOOL; stdcall; +function GetMetaFile(p1: PKOLChar): HMETAFILE; stdcall; +function GetObject(p1: HGDIOBJ; p2: Integer; p3: Pointer): Integer; stdcall; +function GetOutlineTextMetrics(DC: HDC; p2: UINT; OTMetricStructs: Pointer): UINT; stdcall; +function GetTextExtentExPoint(DC: HDC; p2: PKOLChar; + p3, p4: Integer; p5, p6: PInteger; var p7: TSize): BOOL; stdcall; +function GetTextExtentPoint32(DC: HDC; Str: PKOLChar; Count: Integer; + var Size: TSize): BOOL; stdcall; +function GetTextExtentPoint(DC: HDC; Str: PKOLChar; Count: Integer; + var Size: TSize): BOOL; stdcall; +function GetTextFace(DC: HDC; Count: Integer; Buffer: PKOLChar): Integer; stdcall; +function GetTextMetrics(DC: HDC; var TM: TTextMetric): BOOL; stdcall; +function PolyTextOut(DC: HDC; const PolyTextArray; Strings: Integer): BOOL; stdcall; +function RemoveFontResource(FileName: PKOLChar): BOOL; stdcall; +{$IFDEF _D4orHigher} +//function RemoveFontResourceEx(p1: PKOLChar; p2: DWORD; p3: PDesignVector): BOOL; stdcall; +{$ENDIF} +function ResetDC(DC: HDC; const InitData: TDeviceMode): HDC; stdcall; +function SetICMProfile(DC: HDC; Name: PKOLChar): BOOL; stdcall; +function StartDoc(DC: HDC; const p2: TDocInfo): Integer; stdcall; +function TextOut(DC: HDC; X, Y: Integer; Str: PKOLChar; Count: Integer): BOOL; stdcall; +function UpdateICMRegKey(p1: DWORD; p2, p3: PKOLChar; p4: UINT): BOOL; stdcall; +function wglUseFontBitmaps(DC: HDC; p2, p3, p4: DWORD): BOOL; stdcall; +function wglUseFontOutlines(p1: HDC; p2, p3, p4: DWORD; + p5, p6: Single; p7: Integer; p8: PGlyphMetricsFloat): BOOL; stdcall; +function AnsiToOem(const lpszSrc: LPCSTR; lpszDst: LPSTR): BOOL; stdcall; +function AnsiToOemBuff(lpszSrc: LPCSTR; lpszDst: LPSTR; cchDstLength: DWORD): BOOL; stdcall; +function AnsiUpper(lpsz: LPSTR): LPSTR; stdcall; +function AnsiUpperBuff(lpsz: LPSTR; cchLength: DWORD): DWORD; stdcall; +function AnsiLower(lpsz: LPSTR): LPSTR; stdcall; +function AnsiLowerBuff(lpsz: LPSTR; cchLength: DWORD): DWORD; stdcall; +function AnsiNext(const lpsz: LPCSTR): LPSTR; stdcall; +function AnsiPrev(const lpszStart: LPCSTR; const lpszCurrent: LPCSTR): LPSTR; stdcall; +function AppendMenu(hMenu: HMENU; uFlags, uIDNewItem: UINT; + lpNewItem: PKOLChar): BOOL; stdcall; +//function BroadcastSystemMessage(Flags: DWORD; Recipients: PDWORD; +// uiMessage: UINT; wParam: WPARAM; lParam: LPARAM): Longint; stdcall; +//function BroadcastSystemMessageW(Flags: DWORD; Recipients: PDWORD; +// uiMessage: UINT; wParam: WPARAM; lParam: LPARAM): Longint; stdcall; +function CallMsgFilter(var lpMsg: TMsg; nCode: Integer): BOOL; stdcall; +function CallWindowProc(lpPrevWndFunc: TFNWndProc; hWnd: HWND; Msg: UINT; wParam: WPARAM; lParam: LPARAM): LRESULT; stdcall; +function ChangeDisplaySettings(var lpDevMode: TDeviceMode; dwFlags: DWORD): Longint; stdcall; +function ChangeDisplaySettingsEx(lpszDeviceName: PKOLChar; var lpDevMode: TDeviceMode; + wnd: HWND; dwFlags: DWORD; lParam: Pointer): Longint; stdcall; +function ChangeMenu(hMenu: HMENU; cmd: UINT; lpszNewItem: PKOLChar; + cmdInsert: UINT; flags: UINT): BOOL; stdcall; +function CharLower(lpsz: PKOLChar): PKOLChar; stdcall; +function CharLowerBuff(lpsz: PKOLChar; cchLength: DWORD): DWORD; stdcall; +function CharNext(lpsz: PKOLChar): PKOLChar; stdcall; +function CharNextEx(CodePage: Word; lpCurrentChar: LPCSTR; dwFlags: DWORD): LPSTR; stdcall; +function CharPrev(lpszStart: PKOLChar; lpszCurrent: PKOLChar): PKOLChar; stdcall; +function CharPrevEx(CodePage: Word; lpStart, lpCurrentChar: LPCSTR; dwFlags: DWORD): LPSTR; stdcall; +function CharToOem(lpszSrc: PKOLChar; lpszDst: PKOLChar): BOOL; stdcall; +function CharToOemBuff(lpszSrc: PKOLChar; lpszDst: PKOLChar; cchDstLength: DWORD): BOOL; stdcall; +function CharUpper(lpsz: PKOLChar): PKOLChar; stdcall; +function CharUpperBuff(lpsz: PKOLChar; cchLength: DWORD): DWORD; stdcall; +function CopyAcceleratorTable(hAccelSrc: HACCEL; var lpAccelDst; cAccelEntries: Integer): Integer; stdcall; +function CreateAcceleratorTable(var Accel; Count: Integer): HACCEL; stdcall; +function CreateDesktop(lpszDesktop, lpszDevice: PKOLChar; + pDevmode: PDeviceMode; dwFlags: DWORD; dwDesiredAccess: + DWORD; lpsa: PSecurityAttributes): HDESK; stdcall; +function CreateDialogIndirectParam(hInstance: HINST; const lpTemplate: TDlgTemplate; + hWndParent: HWND; lpDialogFunc: TFNDlgProc; dwInitParam: LPARAM): HWND; stdcall; +function CreateDialogParam(hInstance: HINST; lpTemplateName: PKOLChar; + hWndParent: HWND; lpDialogFunc: TFNDlgProc; dwInitParam: LPARAM): HWND; stdcall; +function CreateMDIWindow(lpClassName, lpWindowName: PKOLChar; + dwStyle: DWORD; X, Y, nWidth, nHeight: Integer; + hWndParent: HWND; hInstance: HINST; lParam: LPARAM): HWND; stdcall; +function CreateWindowEx(dwExStyle: DWORD; lpClassName: PKOLChar; + lpWindowName: PKOLChar; dwStyle: DWORD; X, Y, nWidth, nHeight: Integer; + hWndParent: HWND; hMenu: HMENU; hInstance: HINST; lpParam: Pointer): HWND; stdcall; +function CreateWindowStation(lpwinsta: PKOLChar; dwReserved, dwDesiredAccess: DWORD; + lpsa: PSecurityAttributes): HWINSTA; stdcall; +function DefDlgProc(hDlg: HWND; Msg: UINT; wParam: WPARAM; lParam: LPARAM): LRESULT; stdcall; +function DefFrameProc(hWnd, hWndMDIClient: HWND; uMsg: UINT; wParam: WPARAM; lParam: LPARAM): LRESULT; stdcall; +function DefMDIChildProc(hWnd: HWND; uMsg: UINT; wParam: WPARAM; lParam: LPARAM): LRESULT; stdcall; +function DefWindowProc(hWnd: HWND; Msg: UINT; wParam: WPARAM; lParam: LPARAM): LRESULT; stdcall; +function DialogBoxIndirectParam(hInstance: HINST; const lpDialogTemplate: TDlgTemplate; + hWndParent: HWND; lpDialogFunc: TFNDlgProc; dwInitParam: LPARAM): Integer; stdcall; +function DialogBoxParam(hInstance: HINST; lpTemplateName: PKOLChar; + hWndParent: HWND; lpDialogFunc: TFNDlgProc; dwInitParam: LPARAM): Integer; stdcall; +function DispatchMessage(const lpMsg: TMsg): LRESULT; stdcall; +function DlgDirList(hDlg: HWND; lpPathSpec: PKOLChar; + nIDListBox, nIDStaticPath: Integer; uFileType: UINT): Integer; stdcall; +function DlgDirListComboBox(hDlg: HWND; lpPathSpec: PKOLChar; + nIDComboBox, nIDStaticPath: Integer; uFiletype: UINT): Integer; stdcall; +function DlgDirSelectComboBoxEx(hDlg: HWND; lpString: PKOLChar; + nCount, nIDComboBox: Integer): BOOL; stdcall; +function DlgDirSelectEx(hDlg: HWND; lpString: PKOLChar; nCount, nIDListBox: Integer): BOOL; stdcall; +function DrawState(DC: HDC; Brush: HBRUSH; CBFunc: TFNDrawStateProc; + lData: LPARAM; wData: WPARAM; x, y, cx, cy: Integer; Flags: UINT): BOOL; stdcall; +function DrawText(hDC: HDC; lpString: PKOLChar; nCount: Integer; + var lpRect: TRect; uFormat: UINT): Integer; stdcall; +function DrawTextEx(DC: HDC; lpchText: PKOLChar; cchText: Integer; var p4: TRect; + dwDTFormat: UINT; DTParams: PDrawTextParams): Integer; stdcall; +function EnumDesktops(hwinsta: HWINSTA; lpEnumFunc: TFNDeskTopEnumProc; lParam: LPARAM): BOOL; stdcall; +function EnumDisplaySettings(lpszDeviceName: PKOLChar; iModeNum: DWORD; + var lpDevMode: TDeviceMode): BOOL; stdcall; +{$IFDEF _D4orHigher} +//function EnumDisplayDevices(Unused: Pointer; iDevNum: DWORD; +// var lpDisplayDevice: TDisplayDevice; dwFlags: DWORD): BOOL; stdcall; +{$ENDIF} +function EnumProps(hWnd: HWND; lpEnumFunc: TFNPropEnumProc): Integer; stdcall; +function EnumPropsEx(hWnd: HWND; lpEnumFunc: TFNPropEnumProcEx; lParam: LPARAM): Integer; stdcall; +function EnumWindowStations(lpEnumFunc: TFNWinStaEnumProc; lParam: LPARAM): BOOL; stdcall; +function FindWindow(lpClassName, lpWindowName: PKOLChar): HWND; stdcall; +function FindWindowEx(Parent, Child: HWND; ClassName, WindowName: PKOLChar): HWND; stdcall; +{$IFDEF _D4orHigher} +//function GetAltTabInfo(hwnd: HWND; iItem: Integer; var pati: TAltTabInfo; +// pszItemText: PKOLChar; cchItemText: UINT): BOOL; stdcall; +{$ENDIF} +function GetClassInfo(hInstance: HINST; lpClassName: PKOLChar; + var lpWndClass: TWndClass): BOOL; stdcall; +function GetClassInfoEx(Instance: HINST; Classname: PKOLChar; var WndClass: TWndClassEx): BOOL; stdcall; +function GetClassLong(hWnd: HWND; nIndex: Integer): DWORD; stdcall; +function GetClassName(hWnd: HWND; lpClassName: PKOLChar; nMaxCount: Integer): Integer; stdcall; +function GetClipboardFormatName(format: UINT; lpszFormatName: PKOLChar; + cchMaxCount: Integer): Integer; stdcall; +function GetDlgItemText(hDlg: HWND; nIDDlgItem: Integer; + lpString: PKOLChar; nMaxCount: Integer): UINT; stdcall; +function GetKeyNameText(lParam: Longint; lpString: PKOLChar; nSize: Integer): Integer; stdcall; +function GetKeyboardLayoutName(pwszKLID: PKOLChar): BOOL; stdcall; +function GetMenuItemInfo(p1: HMENU; p2: UINT; p3: BOOL; var p4: TMenuItemInfo): BOOL; stdcall; +function GetMenuItemInfoW(p1: HMENU; p2: UINT; p3: BOOL; var p4: TMenuItemInfo): BOOL; stdcall; +function GetMenuString(hMenu: HMENU; uIDItem: UINT; lpString: PKOLChar; + nMaxCount: Integer; uFlag: UINT): Integer; stdcall; +function GetMessage(var lpMsg: TMsg; hWnd: HWND; + wMsgFilterMin, wMsgFilterMax: UINT): BOOL; stdcall; +function GetProp(hWnd: HWND; lpString: PKOLChar): THandle; stdcall; +function GetTabbedTextExtent(hDC: HDC; lpString: PKOLChar; + nCount, nTabPositions: Integer; var lpnTabStopPositions): DWORD; stdcall; +function GetUserObjectInformation(hObj: THandle; nIndex: Integer; pvInfo: Pointer; + nLength: DWORD; var lpnLengthNeeded: DWORD): BOOL; stdcall; +function GetWindowLong(hWnd: HWND; nIndex: Integer): Longint; stdcall; +function GetWindowModuleFileName(hwnd: HWND; pszFileName: PKOLChar; cchFileNameMax: UINT): UINT; stdcall; +function GetWindowText(hWnd: HWND; lpString: PKOLChar; nMaxCount: Integer): Integer; stdcall; +function GetWindowTextLength(hWnd: HWND): Integer; stdcall; +function GrayString(hDC: HDC; hBrush: HBRUSH; lpOutputFunc: TFNGrayStringProc; + lpData: LPARAM; nCount, X, Y, nWidth, nHeight: Integer): BOOL; stdcall; +function InsertMenu(hMenu: HMENU; uPosition, uFlags, uIDNewItem: UINT; + lpNewItem: PKOLChar): BOOL; stdcall; +function InsertMenuItem(p1: HMENU; p2: UINT; p3: BOOL; const p4: TMenuItemInfo): BOOL; stdcall; +function IsCharAlpha(ch: KOLChar): BOOL; stdcall; +function IsCharAlphaNumeric(ch: KOLChar): BOOL; stdcall; +function IsCharLower(ch: KOLChar): BOOL; stdcall; +function IsCharUpper(ch: KOLChar): BOOL; stdcall; +function IsDialogMessage(hDlg: HWND; var lpMsg: TMsg): BOOL; stdcall; +function LoadAccelerators(hInstance: HINST; lpTableName: PKOLChar): HACCEL; stdcall; +function LoadBitmap(hInstance: HINST; lpBitmapName: PKOLChar): HBITMAP; stdcall; +function LoadCursor(hInstance: HINST; lpCursorName: PKOLChar): HCURSOR; stdcall; +function LoadCursorFromFile(lpFileName: PKOLChar): HCURSOR; stdcall; +function LoadIcon(hInstance: HINST; lpIconName: PKOLChar): HICON; stdcall; +function LoadImage(hInst: HINST; ImageName: PKOLChar; ImageType: UINT; X, Y: Integer; Flags: UINT): THandle; stdcall; +function LoadKeyboardLayout(pwszKLID: PKOLChar; Flags: UINT): HKL; stdcall; +function LoadMenu(hInstance: HINST; lpMenuName: PKOLChar): HMENU; stdcall; +function LoadMenuIndirect(lpMenuTemplate: Pointer): HMENU; stdcall; +function LoadString(hInstance: HINST; uID: UINT; lpBuffer: PKOLChar; nBufferMax: Integer): Integer; stdcall; +function MapVirtualKey(uCode, uMapType: UINT): UINT; stdcall; +function MapVirtualKeyEx(uCode, uMapType: UINT; dwhkl: HKL): UINT; stdcall; +function MessageBox(hWnd: HWND; lpText, lpCaption: PKOLChar; uType: UINT): Integer; stdcall; +function MessageBoxEx(hWnd: HWND; lpText, lpCaption: PKOLChar; + uType: UINT; wLanguageId: Word): Integer; stdcall; +function MessageBoxIndirect(const MsgBoxParams: TMsgBoxParams): BOOL; stdcall; +function ModifyMenu(hMnu: HMENU; uPosition, uFlags, uIDNewItem: UINT; + lpNewItem: PKOLChar): BOOL; stdcall; +function OemToAnsi(const lpszSrc: LPCSTR; lpszDst: LPSTR): BOOL; stdcall; +function OemToAnsiBuff(lpszSrc: LPCSTR; lpszDst: LPSTR; cchDstLength: DWORD): BOOL; stdcall; +function OemToChar(lpszSrc: PKOLChar; lpszDst: PKOLChar): BOOL; stdcall; +function OemToCharBuff(lpszSrc: PKOLChar; lpszDst: PKOLChar; cchDstLength: DWORD): BOOL; stdcall; +function OpenDesktop(lpszDesktop: PKOLChar; dwFlags: DWORD; fInherit: BOOL; + dwDesiredAccess: DWORD): HDESK; stdcall; +function OpenWindowStation(lpszWinSta: PKOLChar; fInherit: BOOL; + dwDesiredAccess: DWORD): HWINSTA; stdcall; +function PeekMessage(var lpMsg: TMsg; hWnd: HWND; + wMsgFilterMin, wMsgFilterMax, wRemoveMsg: UINT): BOOL; stdcall; +function PostMessage(hWnd: HWND; Msg: UINT; wParam: WPARAM; lParam: LPARAM): BOOL; stdcall; +function PostThreadMessage(idThread: DWORD; Msg: UINT; wParam: WPARAM; lParam: LPARAM): BOOL; stdcall; +function RealGetWindowClass(hwnd: HWND; pszType: PKOLChar; cchType: UINT): UINT; stdcall; +function RegisterClass(const lpWndClass: TWndClass): ATOM; stdcall; +function RegisterClassEx(const WndClass: TWndClassEx): ATOM; stdcall; +function RegisterClipboardFormat(lpszFormat: PKOLChar): UINT; stdcall; +{$IFDEF _D4orHigher} +//function RegisterDeviceNotification(hRecipient: THandle; NotificationFilter: Pointer; Flags: DWORD): HDEVNOTIFY; stdcall; +{$ENDIF} +function RegisterWindowMessage(lpString: PKOLChar): UINT; stdcall; +function RemoveProp(hWnd: HWND; lpString: PKOLChar): THandle; stdcall; +function SendDlgItemMessage(hDlg: HWND; nIDDlgItem: Integer; + Msg: UINT; wParam: WPARAM; lParam: LPARAM): Longint; stdcall; +function SendMessage(hWnd: HWND; Msg: UINT; wParam: WPARAM; lParam: LPARAM): LRESULT; stdcall; +function SendMessageCallback(hWnd: HWND; Msg: UINT; wParam: WPARAM; + lParam: LPARAM; lpResultCallBack: TFNSendAsyncProc; dwData: DWORD): BOOL; stdcall; +function SendMessageTimeout(hWnd: HWND; Msg: UINT; wParam: WPARAM; + lParam: LPARAM; fuFlags, uTimeout: UINT; var lpdwResult: DWORD_PTR): LRESULT; stdcall; +function SendNotifyMessage(hWnd: HWND; Msg: UINT; wParam: WPARAM; + lParam: LPARAM): BOOL; stdcall; +function SetClassLong(hWnd: HWND; nIndex: Integer; dwNewLong: Longint): DWORD; stdcall; +function SetDlgItemText(hDlg: HWND; nIDDlgItem: Integer; lpString: PKOLChar): BOOL; stdcall; +function SetMenuItemInfoW(p1: HMENU; p2: UINT; p3: BOOL; const p4: TMenuItemInfo): BOOL; stdcall; +function SetProp(hWnd: HWND; lpString: PKOLChar; hData: THandle): BOOL; stdcall; +function SetUserObjectInformation(hObj: THandle; nIndex: Integer; + pvInfo: Pointer; nLength: DWORD): BOOL; stdcall; +function SetWindowLong(hWnd: HWND; nIndex: Integer; dwNewLong: Longint): Longint; stdcall; +function SetWindowText(hWnd: HWND; lpString: PKOLChar): BOOL; stdcall; +function SetWindowsHook(nFilterType: Integer; pfnFilterProc: TFNHookProc): HHOOK; stdcall; +function SetWindowsHookEx(idHook: Integer; lpfn: TFNHookProc; hmod: HINST; dwThreadId: DWORD): HHOOK; stdcall; +function SystemParametersInfo(uiAction, uiParam: UINT; + pvParam: Pointer; fWinIni: UINT): BOOL; stdcall; +function TabbedTextOut(hDC: HDC; X, Y: Integer; lpString: PKOLChar; nCount, nTabPositions: Integer; + var lpnTabStopPositions; nTabOrigin: Integer): Longint; stdcall; +function TranslateAccelerator(hWnd: HWND; hAccTable: HACCEL; var lpMsg: TMsg): Integer; stdcall; +function UnregisterClass(lpClassName: PKOLChar; hInstance: HINST): BOOL; stdcall; +function VkKeyScan(ch: KOLChar): SHORT; stdcall; +function VkKeyScanEx(ch: KOLChar; dwhkl: HKL): SHORT; stdcall; +function WinHelp(hWndMain: HWND; lpszHelp: PKOLChar; uCommand: UINT; dwData: DWORD): BOOL; stdcall; +function wsprintf(Output: PKOLChar; Format: PKOLChar): Integer; stdcall; +function wvsprintf(Output: PKOLChar; Format: PKOLChar; arglist: va_list): Integer; stdcall; +function CreateMutex(lpMutexAttributes: PSecurityAttributes; bInitialOwner: BOOL; lpName: PWideChar): THandle; + +function GetWindowLongPtr(hWnd: HWND; nIndex: Integer): PtrInt; stdcall; +function SetWindowLongPtr(hWnd: HWND; nIndex: Integer; dwNewLong: PtrInt): PtrInt; stdcall; +function GetWindowLongPtrA(hWnd: HWND; nIndex: Integer): PtrInt; stdcall; +function SetWindowLongPtrA(hWnd: HWND; nIndex: Integer; dwNewLong: PtrInt): PtrInt; stdcall; +function GetWindowLongPtrW(hWnd: HWND; nIndex: Integer): PtrInt; stdcall; +function SetWindowLongPtrW(hWnd: HWND; nIndex: Integer; dwNewLong: PtrInt): PtrInt; stdcall; +function GetClassLongPtr(hWnd: HWND; nIndex: Integer): PtrUInt; stdcall; +function SetClassLongPtr(hWnd: HWND; nIndex: Integer; dwNewLong: PtrInt): PtrUInt; stdcall; +function GetClassLongPtrA(hWnd: HWND; nIndex: Integer): PtrUInt; stdcall; +function SetClassLongPtrA(hWnd: HWND; nIndex: Integer; dwNewLong: PtrInt): PtrUInt; stdcall; +function GetClassLongPtrW(hWnd: HWND; nIndex: Integer): PtrUInt; stdcall; +function SetClassLongPtrW(hWnd: HWND; nIndex: Integer; dwNewLong: PtrInt): PtrUInt; stdcall; +function ChooseFontW(var ChooseFont:TChooseFontW):WINBOOL; stdcall; +{$ENDIF UNICODE_CTRLS} +{$ENDIF interface_part} //////////////////////////////////////////////////////// + +{$IFDEF implementation_part} /////////////////////////////////////////////////// +{$IFDEF UNICODE_CTRLS} + +function AbortSystemShutdown; external advapi32 name 'AbortSystemShutdownW'; +function AccessCheckAndAuditAlarm; external advapi32 name 'AccessCheckAndAuditAlarmW'; +{$IFDEF _D4orHigher} +function AccessCheckByTypeAndAuditAlarm; external advapi32 name 'AccessCheckByTypeAndAuditAlarmW'; +function AccessCheckByTypeResultListAndAuditAlarm; external advapi32 name 'AccessCheckByTypeResultListAndAuditAlarmW'; +{$ENDIF} +function BackupEventLog; external advapi32 name 'BackupEventLogW'; +function ClearEventLog; external advapi32 name 'ClearEventLogW'; +function CreateProcessAsUser; external advapi32 name 'CreateProcessAsUserW'; +//function GetCurrentHwProfile; external advapi32 name 'GetCurrentHwProfileW'; +function GetFileSecurity; external advapi32 name 'GetFileSecurityW'; +function GetUserName; external advapi32 name 'GetUserNameW'; +function InitiateSystemShutdown; external advapi32 name 'InitiateSystemShutdownW'; +function LogonUser; external advapi32 name 'LogonUserW'; +function LookupAccountName; external advapi32 name 'LookupAccountNameW'; +function LookupAccountSid; external advapi32 name 'LookupAccountSidW'; +function LookupPrivilegeDisplayName; external advapi32 name 'LookupPrivilegeDisplayNameW'; +function LookupPrivilegeName; external advapi32 name 'LookupPrivilegeNameW'; +function LookupPrivilegeValue; external advapi32 name 'LookupPrivilegeValueW'; +function ObjectCloseAuditAlarm; external advapi32 name 'ObjectCloseAuditAlarmW'; +function ObjectDeleteAuditAlarm; external advapi32 name 'ObjectDeleteAuditAlarmW'; +function ObjectOpenAuditAlarm; external advapi32 name 'ObjectOpenAuditAlarmW'; +function ObjectPrivilegeAuditAlarm; external advapi32 name 'ObjectPrivilegeAuditAlarmW'; +function OpenBackupEventLog; external advapi32 name 'OpenBackupEventLogW'; +function OpenEventLog; external advapi32 name 'OpenEventLogW'; +function PrivilegedServiceAuditAlarm; external advapi32 name 'PrivilegedServiceAuditAlarmW'; +function ReadEventLog; external advapi32 name 'ReadEventLogW'; +function RegConnectRegistry; external advapi32 name 'RegConnectRegistryW'; +function RegCreateKey; external advapi32 name 'RegCreateKeyW'; +function RegCreateKeyEx; external advapi32 name 'RegCreateKeyExW'; +function RegDeleteKey; external advapi32 name 'RegDeleteKeyW'; +function RegDeleteValue; external advapi32 name 'RegDeleteValueW'; +function RegEnumKeyEx; external advapi32 name 'RegEnumKeyExW'; +function RegEnumKey; external advapi32 name 'RegEnumKeyW'; +function RegEnumValue; external advapi32 name 'RegEnumValueW'; +function RegLoadKey; external advapi32 name 'RegLoadKeyW'; +function RegOpenKey; external advapi32 name 'RegOpenKeyW'; +function RegOpenKeyEx; external advapi32 name 'RegOpenKeyExW'; +function RegQueryInfoKey; external advapi32 name 'RegQueryInfoKeyW'; +function RegQueryMultipleValues; external advapi32 name 'RegQueryMultipleValuesW'; +function RegQueryValue; external advapi32 name 'RegQueryValueW'; +function RegQueryValueEx; external advapi32 name 'RegQueryValueExW'; +function RegReplaceKey; external advapi32 name 'RegReplaceKeyW'; +function RegRestoreKey; external advapi32 name 'RegRestoreKeyW'; +function RegSaveKey; external advapi32 name 'RegSaveKeyW'; +function RegSetValue; external advapi32 name 'RegSetValueW'; +function RegSetValueEx; external advapi32 name 'RegSetValueExW'; +function RegUnLoadKey; external advapi32 name 'RegUnLoadKeyW'; +function RegisterEventSource; external advapi32 name 'RegisterEventSourceW'; +function ReportEvent; external advapi32 name 'ReportEventW'; +function SetFileSecurity; external advapi32 name 'SetFileSecurityW'; +function AddAtom; external kernel32 name 'AddAtomW'; +function BeginUpdateResource; external kernel32 name 'BeginUpdateResourceW'; +function BuildCommDCB; external kernel32 name 'BuildCommDCBW'; +function BuildCommDCBAndTimeouts; external kernel32 name 'BuildCommDCBAndTimeoutsW'; +function CallNamedPipe; external kernel32 name 'CallNamedPipeW'; +function CommConfigDialog; external kernel32 name 'CommConfigDialogW'; +function CompareString; external kernel32 name 'CompareStringW'; +function CopyFile; external kernel32 name 'CopyFileW'; +function CopyFileEx; external kernel32 name 'CopyFileExW'; +function CreateDirectory; external kernel32 name 'CreateDirectoryW'; +function CreateDirectoryEx; external kernel32 name 'CreateDirectoryExW'; +function CreateEvent; external kernel32 name 'CreateEventW'; +function CreateFile; external kernel32 name 'CreateFileW'; +function CreateFileMapping; external kernel32 name 'CreateFileMappingW'; +function CreateHardLink; external kernel32 name 'CreateHardLinkW'; +function CreateMailslot; external kernel32 name 'CreateMailslotW'; +function CreateNamedPipe; external kernel32 name 'CreateNamedPipeW'; +function CreateProcess; external kernel32 name 'CreateProcessW'; +function CreateSemaphore; external kernel32 name 'CreateSemaphoreW'; +function CreateWaitableTimer; external kernel32 name 'CreateWaitableTimerW'; +function DefineDosDevice; external kernel32 name 'DefineDosDeviceW'; +function DeleteFile; external kernel32 name 'DeleteFileW'; +function EndUpdateResource; external kernel32 name 'EndUpdateResourceW'; +function EnumCalendarInfo; external kernel32 name 'EnumCalendarInfoW'; +function EnumDateFormats; external kernel32 name 'EnumDateFormatsW'; +function EnumResourceLanguages; external kernel32 name 'EnumResourceLanguagesW'; +function EnumResourceNames; external kernel32 name 'EnumResourceNamesW'; +function EnumResourceTypes; external kernel32 name 'EnumResourceTypesW'; +function EnumSystemCodePages; external kernel32 name 'EnumSystemCodePagesW'; +function EnumSystemLocales; external kernel32 name 'EnumSystemLocalesW'; +function EnumTimeFormats; external kernel32 name 'EnumTimeFormatsW'; +function ExpandEnvironmentStrings; external kernel32 name 'ExpandEnvironmentStringsW'; +procedure FatalAppExit; external kernel32 name 'FatalAppExitW'; +function FillConsoleOutputCharacter; external kernel32 name 'FillConsoleOutputCharacterW'; +function FindAtom; external kernel32 name 'FindAtomW'; +function FindFirstChangeNotification; external kernel32 name 'FindFirstChangeNotificationW'; +function FindFirstFile; external kernel32 name 'FindFirstFileW'; +function FindFirstFileEx; external kernel32 name 'FindFirstFileExW'; +function FindNextFile; external kernel32 name 'FindNextFileW'; +function FindResource; external kernel32 name 'FindResourceW'; +function FindResourceEx; external kernel32 name 'FindResourceExW'; +function FoldString; external kernel32 name 'FoldStringW'; +function FormatMessage; external kernel32 name 'FormatMessageW'; +function FreeEnvironmentStrings; external kernel32 name 'FreeEnvironmentStringsW'; +function GetAtomName; external kernel32 name 'GetAtomNameW'; +function GetBinaryType; external kernel32 name 'GetBinaryTypeW'; +function GetCommandLine; external kernel32 name 'GetCommandLineW'; +function GetCompressedFileSize; external kernel32 name 'GetCompressedFileSizeW'; +function GetComputerName; external kernel32 name 'GetComputerNameW'; +function GetConsoleTitle; external kernel32 name 'GetConsoleTitleW'; +function GetCurrencyFormat; external kernel32 name 'GetCurrencyFormatW'; +function GetCurrentDirectory; external kernel32 name 'GetCurrentDirectoryW'; +function GetDateFormat; external kernel32 name 'GetDateFormatW'; +function GetDefaultCommConfig; external kernel32 name 'GetDefaultCommConfigW'; +function GetDiskFreeSpace; external kernel32 name 'GetDiskFreeSpaceW'; +function GetDiskFreeSpaceEx; external kernel32 name 'GetDiskFreeSpaceExW'; +function GetDriveType; external kernel32 name 'GetDriveTypeW'; +function GetEnvironmentStrings; external kernel32 name 'GetEnvironmentStringsW'; +function GetEnvironmentVariable(lpName: PKOLChar; lpBuffer: PKOLChar; + nSize: DWORD): DWORD; external kernel32 name 'GetEnvironmentVariableW'; +function GetFileAttributes; external kernel32 name 'GetFileAttributesW'; +function GetFileAttributesEx; external kernel32 name 'GetFileAttributesExW'; +function GetFullPathName; external kernel32 name 'GetFullPathNameW'; +function GetLocaleInfo; external kernel32 name 'GetLocaleInfoW'; +function GetLogicalDriveStrings; external kernel32 name 'GetLogicalDriveStringsW'; +function GetModuleFileName; external kernel32 name 'GetModuleFileNameW'; +function GetModuleHandle; external kernel32 name 'GetModuleHandleW'; +function GetNamedPipeHandleState; external kernel32 name 'GetNamedPipeHandleStateW'; +function GetNumberFormat; external kernel32 name 'GetNumberFormatW'; +function GetPrivateProfileInt; external kernel32 name 'GetPrivateProfileIntW'; +function GetPrivateProfileSection; external kernel32 name 'GetPrivateProfileSectionW'; +function GetPrivateProfileSectionNames; external kernel32 name 'GetPrivateProfileSectionNamesW'; +function GetPrivateProfileString; external kernel32 name 'GetPrivateProfileStringW'; +function GetProfileInt; external kernel32 name 'GetProfileIntW'; +function GetProfileSection; external kernel32 name 'GetProfileSectionW'; +function GetProfileString; external kernel32 name 'GetProfileStringW'; +function GetShortPathName; external kernel32 name 'GetShortPathNameW'; +procedure GetStartupInfo; external kernel32 name 'GetStartupInfoW'; +function GetStringTypeEx; external kernel32 name 'GetStringTypeExW'; +function GetSystemDirectory; external kernel32 name 'GetSystemDirectoryW'; +function GetTempFileName; external kernel32 name 'GetTempFileNameW'; +function GetTempPath; external kernel32 name 'GetTempPathW'; +function GetTimeFormat; external kernel32 name 'GetTimeFormatW'; +function GetVersionEx; external kernel32 name 'GetVersionExW'; +function GetVolumeInformation; external kernel32 name 'GetVolumeInformationW'; +function GetWindowsDirectory; external kernel32 name 'GetWindowsDirectoryW'; +function GlobalAddAtom; external kernel32 name 'GlobalAddAtomW'; +function GlobalFindAtom; external kernel32 name 'GlobalFindAtomW'; +function GlobalGetAtomName; external kernel32 name 'GlobalGetAtomNameW'; +function IsBadStringPtr; external kernel32 name 'IsBadStringPtrW'; +function LCMapString; external kernel32 name 'LCMapStringW'; +function LoadLibrary; external kernel32 name 'LoadLibraryW'; +function LoadLibraryEx; external kernel32 name 'LoadLibraryExW'; +function MoveFile; external kernel32 name 'MoveFileW'; +function MoveFileEx; external kernel32 name 'MoveFileExW'; +function MoveFileWithProgress; external kernel32 name 'MoveFileWithProgressW'; +function OpenEvent; external kernel32 name 'OpenEventW'; +function OpenFileMapping; external kernel32 name 'OpenFileMappingW'; +function OpenMutex; external kernel32 name 'OpenMutexW'; +function OpenSemaphore; external kernel32 name 'OpenSemaphoreW'; +function OpenWaitableTimer; external kernel32 name 'OpenWaitableTimerW'; +procedure OutputDebugString; external kernel32 name 'OutputDebugStringW'; +function PeekConsoleInput; external kernel32 name 'PeekConsoleInputW'; +function QueryDosDevice; external kernel32 name 'QueryDosDeviceW'; +{$IFDEF _D4orHigher} +//function QueryRecoveryAgents; external kernel32 name 'QueryRecoveryAgentsW'; +{$ENDIF} +function ReadConsole; external kernel32 name 'ReadConsoleW'; +function ReadConsoleInput; external kernel32 name 'ReadConsoleInputW'; +function ReadConsoleOutput; external kernel32 name 'ReadConsoleOutputW'; +function ReadConsoleOutputCharacter; external kernel32 name 'ReadConsoleOutputCharacterW'; +function RemoveDirectory; external kernel32 name 'RemoveDirectoryW'; +function ScrollConsoleScreenBuffer; external kernel32 name 'ScrollConsoleScreenBufferW'; +function SearchPath; external kernel32 name 'SearchPathW'; +function SetComputerName; external kernel32 name 'SetComputerNameW'; +function SetConsoleTitle; external kernel32 name 'SetConsoleTitleW'; +function SetCurrentDirectory; external kernel32 name 'SetCurrentDirectoryW'; +function SetDefaultCommConfig; external kernel32 name 'SetDefaultCommConfigW'; +function SetEnvironmentVariable; external kernel32 name 'SetEnvironmentVariableW'; +function SetFileAttributes; external kernel32 name 'SetFileAttributesW'; +function SetLocaleInfo; external kernel32 name 'SetLocaleInfoW'; +function SetVolumeLabel; external kernel32 name 'SetVolumeLabelW'; +function UpdateResource; external kernel32 name 'UpdateResourceW'; +function VerLanguageName; external kernel32 name 'VerLanguageNameW'; +function WaitNamedPipe; external kernel32 name 'WaitNamedPipeW'; +function WriteConsole; external kernel32 name 'WriteConsoleW'; +function WriteConsoleInput; external kernel32 name 'WriteConsoleInputW'; +function WriteConsoleOutput; external kernel32 name 'WriteConsoleOutputW'; +function WriteConsoleOutputCharacter; external kernel32 name 'WriteConsoleOutputCharacterW'; +function WritePrivateProfileSection; external kernel32 name 'WritePrivateProfileSectionW'; +function WritePrivateProfileString; external kernel32 name 'WritePrivateProfileStringW'; +function WriteProfileSection; external kernel32 name 'WriteProfileSectionW'; +function WriteProfileString; external kernel32 name 'WriteProfileStringW'; +function lstrcat; external kernel32 name 'lstrcatW'; +function lstrcmp; external kernel32 name 'lstrcmpW'; +function lstrcmpi; external kernel32 name 'lstrcmpiW'; +function lstrcpy; external kernel32 name 'lstrcpyW'; +function lstrcpyn; external kernel32 name 'lstrcpynW'; +function lstrlen; external kernel32 name 'lstrlenW'; +function MultinetGetConnectionPerformance; external mpr name 'MultinetGetConnectionPerformanceW'; +function WNetAddConnection2; external mpr name 'WNetAddConnection2W'; +function WNetAddConnection3; external mpr name 'WNetAddConnection3W'; +function WNetAddConnection; external mpr name 'WNetAddConnectionW'; +function WNetCancelConnection2; external mpr name 'WNetCancelConnection2W'; +function WNetCancelConnection; external mpr name 'WNetCancelConnectionW'; +function WNetConnectionDialog1; external mpr name 'WNetConnectionDialog1W'; +function WNetDisconnectDialog1; external mpr name 'WNetDisconnectDialog1W'; +function WNetEnumResource; external mpr name 'WNetEnumResourceW'; +function WNetGetConnection; external mpr name 'WNetGetConnectionW'; +function WNetGetLastError; external mpr name 'WNetGetLastErrorW'; +function WNetGetNetworkInformation; external mpr name 'WNetGetNetworkInformationW'; +function WNetGetProviderName; external mpr name 'WNetGetProviderNameW'; +function WNetGetResourceParent; external mpr name 'WNetGetResourceParentW'; +function WNetGetUniversalName; external mpr name 'WNetGetUniversalNameW'; +function WNetGetUser; external mpr name 'WNetGetUserW'; +function WNetOpenEnum; external mpr name 'WNetOpenEnumW'; +function WNetSetConnection; external mpr name 'WNetSetConnectionW'; +function WNetUseConnection; external mpr name 'WNetUseConnectionW'; +function GetFileVersionInfo; external version name 'GetFileVersionInfoW'; +function GetFileVersionInfoSize; external version name 'GetFileVersionInfoSizeW'; +function VerFindFile; external version name 'VerFindFileW'; +function VerInstallFile; external version name 'VerInstallFileW'; +function VerQueryValue; external version name 'VerQueryValueW'; +function GetPrivateProfileStruct; external kernel32 name 'GetPrivateProfileStructW'; +function WritePrivateProfileStruct; external kernel32 name 'WritePrivateProfileStructW'; +function AddFontResource; external gdi32 name 'AddFontResourceW'; +{$IFDEF _D4orHigher} +//function AddFontResourceEx; external gdi32 name 'AddFontResourceExW'; +{$ENDIF} +function CopyEnhMetaFile; external gdi32 name 'CopyEnhMetaFileW'; +function CopyMetaFile; external gdi32 name 'CopyMetaFileW'; +function CreateColorSpace; external gdi32 name 'CreateColorSpaceW'; +function CreateDC; external gdi32 name 'CreateDCW'; +function CreateEnhMetaFile; external gdi32 name 'CreateEnhMetaFileW'; +function CreateFont; external gdi32 name 'CreateFontW'; +function CreateFontIndirect; external gdi32 name 'CreateFontIndirectW'; +{$IFDEF _D4orHigher} +//function CreateFontIndirectEx; external gdi32 name 'CreateFontIndirectExW'; +{$ENDIF} +function CreateIC; external gdi32 name 'CreateICW'; +function CreateMetaFile; external gdi32 name 'CreateMetaFileW'; +function CreateScalableFontResource; external gdi32 name 'CreateScalableFontResourceW'; +function DeviceCapabilities; external gdi32 name 'DeviceCapabilitiesW'; +function EnumFontFamilies; external gdi32 name 'EnumFontFamiliesW'; +function EnumFontFamiliesEx; external gdi32 name 'EnumFontFamiliesExW'; +function EnumFonts; external gdi32 name 'EnumFontsW'; +function EnumICMProfiles; external gdi32 name 'EnumICMProfilesW'; +function ExtTextOut; external gdi32 name 'ExtTextOutW'; +function GetCharABCWidths; external gdi32 name 'GetCharABCWidthsW'; +function GetCharABCWidthsFloat; external gdi32 name 'GetCharABCWidthsFloatW'; +function GetCharWidth32; external gdi32 name 'GetCharWidth32W'; +function GetCharWidth; external gdi32 name 'GetCharWidthW'; +function GetCharWidthFloat; external gdi32 name 'GetCharWidthFloatW'; +function GetCharacterPlacement; external gdi32 name 'GetCharacterPlacementW'; +function GetEnhMetaFile; external gdi32 name 'GetEnhMetaFileW'; +function GetEnhMetaFileDescription; external gdi32 name 'GetEnhMetaFileDescriptionW'; +function GetGlyphIndices; external gdi32 name 'GetGlyphIndicesW'; +function GetGlyphOutline; external gdi32 name 'GetGlyphOutlineW'; +function GetICMProfile; external gdi32 name 'GetICMProfileW'; +function GetLogColorSpace; external gdi32 name 'GetLogColorSpaceW'; +function GetMetaFile; external gdi32 name 'GetMetaFileW'; +function GetObject; external gdi32 name 'GetObjectW'; +function GetOutlineTextMetrics; external gdi32 name 'GetOutlineTextMetricsW'; +function GetTextExtentExPoint; external gdi32 name 'GetTextExtentExPointW'; +function GetTextExtentPoint32; external gdi32 name 'GetTextExtentPoint32W'; +function GetTextExtentPoint; external gdi32 name 'GetTextExtentPointW'; +function GetTextFace; external gdi32 name 'GetTextFaceW'; +function GetTextMetrics; external gdi32 name 'GetTextMetricsW'; +function PolyTextOut; external gdi32 name 'PolyTextOutW'; +function RemoveFontResource; external gdi32 name 'RemoveFontResourceW'; +{$IFDEF _D4orHigher} +//function RemoveFontResourceEx; external gdi32 name 'RemoveFontResourceExW'; +{$ENDIF} +function ResetDC; external gdi32 name 'ResetDCW'; +function SetICMProfile; external gdi32 name 'SetICMProfileW'; +function StartDoc; external gdi32 name 'StartDocW'; +function TextOut; external gdi32 name 'TextOutW'; +function UpdateICMRegKey; external gdi32 name 'UpdateICMRegKeyW'; +function wglUseFontBitmaps; external opengl32 name 'wglUseFontBitmapsW'; +function wglUseFontOutlines; external opengl32 name 'wglUseFontOutlinesW'; +function AnsiToOem; external user32 name 'CharToOemW'; +function AnsiToOemBuff; external user32 name 'CharToOemBuffW'; +function AnsiUpper; external user32 name 'CharUpperW'; +function AnsiUpperBuff; external user32 name 'CharUpperBuffW'; +function AnsiLower; external user32 name 'CharLowerW'; +function AnsiLowerBuff; external user32 name 'CharLowerBuffW'; +function AnsiNext; external user32 name 'CharNextW'; +function AnsiPrev; external user32 name 'CharPrevW'; +function AppendMenu; external user32 name 'AppendMenuW'; +//function BroadcastSystemMessage; external user32 name 'BroadcastSystemMessageW'; +//function BroadcastSystemMessageW; external user32 name 'BroadcastSystemMessageW'; +function CallMsgFilter; external user32 name 'CallMsgFilterW'; +function CallWindowProc; external user32 name 'CallWindowProcW'; +function ChangeDisplaySettings; external user32 name 'ChangeDisplaySettingsW'; +function ChangeDisplaySettingsEx; external user32 name 'ChangeDisplaySettingsExW'; +function ChangeMenu; external user32 name 'ChangeMenuW'; +function CharLower; external user32 name 'CharLowerW'; +function CharLowerBuff; external user32 name 'CharLowerBuffW'; +function CharNext; external user32 name 'CharNextW'; +function CharNextEx; external user32 name 'CharNextExW'; +function CharPrev; external user32 name 'CharPrevW'; +function CharPrevEx; external user32 name 'CharPrevExW'; +function CharToOem; external user32 name 'CharToOemW'; +function CharToOemBuff; external user32 name 'CharToOemBuffW'; +function CharUpper; external user32 name 'CharUpperW'; +function CharUpperBuff; external user32 name 'CharUpperBuffW'; +function CopyAcceleratorTable; external user32 name 'CopyAcceleratorTableW'; +function CreateAcceleratorTable; external user32 name 'CreateAcceleratorTableW'; +function CreateDesktop; external user32 name 'CreateDesktopW'; +function CreateDialogIndirectParam; external user32 name 'CreateDialogIndirectParamW'; +function CreateDialogParam; external user32 name 'CreateDialogParamW'; +function CreateMDIWindow; external user32 name 'CreateMDIWindowW'; +function CreateWindowEx; external user32 name 'CreateWindowExW'; +function CreateWindowStation; external user32 name 'CreateWindowStationW'; +function DefDlgProc; external user32 name 'DefDlgProcW'; +function DefFrameProc; external user32 name 'DefFrameProcW'; +function DefMDIChildProc; external user32 name 'DefMDIChildProcW'; +function DefWindowProc; external user32 name 'DefWindowProcW'; +function DialogBoxIndirectParam; external user32 name 'DialogBoxIndirectParamW'; +function DialogBoxParam; external user32 name 'DialogBoxParamW'; +function DispatchMessage; external user32 name 'DispatchMessageW'; +function DlgDirList; external user32 name 'DlgDirListW'; +function DlgDirListComboBox; external user32 name 'DlgDirListComboBoxW'; +function DlgDirSelectComboBoxEx; external user32 name 'DlgDirSelectComboBoxExW'; +function DlgDirSelectEx; external user32 name 'DlgDirSelectExW'; +function DrawState; external user32 name 'DrawStateW'; +function DrawText; external user32 name 'DrawTextW'; +function DrawTextEx; external user32 name 'DrawTextExW'; +function EnumDesktops; external user32 name 'EnumDesktopsW'; +function EnumDisplaySettings; external user32 name 'EnumDisplaySettingsW'; +{$IFDEF _D4orHigher} +//function EnumDisplayDevices; external user32 name 'EnumDisplayDevicesW'; +{$ENDIF} +function EnumProps; external user32 name 'EnumPropsW'; +function EnumPropsEx; external user32 name 'EnumPropsExW'; +function EnumWindowStations; external user32 name 'EnumWindowStationsW'; +function FindWindow; external user32 name 'FindWindowW'; +function FindWindowEx; external user32 name 'FindWindowExW'; +{$IFDEF _D4orHigher} +//function GetAltTabInfo; external user32 name 'GetAltTabInfoW'; +{$ENDIF} +function GetClassInfo; external user32 name 'GetClassInfoW'; +function GetClassInfoEx; external user32 name 'GetClassInfoExW'; +function GetClassLong; external user32 name 'GetClassLongW'; +function GetClassName; external user32 name 'GetClassNameW'; +function GetClipboardFormatName; external user32 name 'GetClipboardFormatNameW'; +function GetDlgItemText; external user32 name 'GetDlgItemTextW'; +function GetKeyNameText; external user32 name 'GetKeyNameTextW'; +function GetKeyboardLayoutName; external user32 name 'GetKeyboardLayoutNameW'; +function GetMenuItemInfo; external user32 name 'GetMenuItemInfoW'; +function GetMenuItemInfoW; external user32 name 'GetMenuItemInfoW'; +function GetMenuString; external user32 name 'GetMenuStringW'; +function GetMessage; external user32 name 'GetMessageW'; +function GetProp; external user32 name 'GetPropW'; +function GetTabbedTextExtent; external user32 name 'GetTabbedTextExtentW'; +function GetUserObjectInformation; external user32 name 'GetUserObjectInformationW'; +function GetWindowLong; external user32 name 'GetWindowLongW'; +function GetWindowModuleFileName; external user32 name 'GetWindowModuleFileNameW'; +function GetWindowText; external user32 name 'GetWindowTextW'; +function GetWindowTextLength; external user32 name 'GetWindowTextLengthW'; +function GrayString; external user32 name 'GrayStringW'; +function InsertMenu; external user32 name 'InsertMenuW'; +function InsertMenuItem; external user32 name 'InsertMenuItemW'; +function IsCharAlpha; external user32 name 'IsCharAlphaW'; +function IsCharAlphaNumeric; external user32 name 'IsCharAlphaNumericW'; +function IsCharLower; external user32 name 'IsCharLowerW'; +function IsCharUpper; external user32 name 'IsCharUpperW'; +function IsDialogMessage; external user32 name 'IsDialogMessageW'; +function LoadAccelerators; external user32 name 'LoadAcceleratorsW'; +function LoadBitmap; external user32 name 'LoadBitmapW'; +function LoadCursor; external user32 name 'LoadCursorW'; +function LoadCursorFromFile; external user32 name 'LoadCursorFromFileW'; +function LoadIcon; external user32 name 'LoadIconW'; +function LoadImage; external user32 name 'LoadImageW'; +function LoadKeyboardLayout; external user32 name 'LoadKeyboardLayoutW'; +function LoadMenu; external user32 name 'LoadMenuW'; +function LoadMenuIndirect; external user32 name 'LoadMenuIndirectW'; +function LoadString; external user32 name 'LoadStringW'; +function MapVirtualKey; external user32 name 'MapVirtualKeyW'; +function MapVirtualKeyEx; external user32 name 'MapVirtualKeyExW'; +function MessageBox; external user32 name 'MessageBoxW'; +function MessageBoxEx; external user32 name 'MessageBoxExW'; +function MessageBoxIndirect; external user32 name 'MessageBoxIndirectW'; +function ModifyMenu; external user32 name 'ModifyMenuW'; +function OemToAnsi; external user32 name 'OemToCharW'; +function OemToAnsiBuff; external user32 name 'OemToCharBuffW'; +function OemToChar; external user32 name 'OemToCharW'; +function OemToCharBuff; external user32 name 'OemToCharBuffW'; +function OpenDesktop; external user32 name 'OpenDesktopW'; +function OpenWindowStation; external user32 name 'OpenWindowStationW'; +function PeekMessage; external user32 name 'PeekMessageW'; +function PostMessage; external user32 name 'PostMessageW'; +function PostThreadMessage; external user32 name 'PostThreadMessageW'; +function RealGetWindowClass; external user32 name 'RealGetWindowClassW'; +function RegisterClass; external user32 name 'RegisterClassW'; +function RegisterClassEx; external user32 name 'RegisterClassExW'; +function RegisterClipboardFormat; external user32 name 'RegisterClipboardFormatW'; +{$IFDEF _D4orHigher} +//function RegisterDeviceNotification; external user32 name 'RegisterDeviceNotificationW'; +{$ENDIF} +function RegisterWindowMessage; external user32 name 'RegisterWindowMessageW'; +function RemoveProp; external user32 name 'RemovePropW'; +function SendDlgItemMessage; external user32 name 'SendDlgItemMessageW'; +function SendMessage; external user32 name 'SendMessageW'; +function SendMessageCallback; external user32 name 'SendMessageCallbackW'; +function SendMessageTimeout; external user32 name 'SendMessageTimeoutW'; +function SendNotifyMessage; external user32 name 'SendNotifyMessageW'; +function SetClassLong; external user32 name 'SetClassLongW'; +function SetDlgItemText; external user32 name 'SetDlgItemTextW'; +function SetMenuItemInfoW; external user32 name 'SetMenuItemInfoW'; +function SetProp; external user32 name 'SetPropW'; +function SetUserObjectInformation; external user32 name 'SetUserObjectInformationW'; +function SetWindowLong; external user32 name 'SetWindowLongW'; +function SetWindowText; external user32 name 'SetWindowTextW'; +function SetWindowsHook; external user32 name 'SetWindowsHookW'; +function SetWindowsHookEx; external user32 name 'SetWindowsHookExW'; +function SystemParametersInfo; external user32 name 'SystemParametersInfoW'; +function TabbedTextOut; external user32 name 'TabbedTextOutW'; +function TranslateAccelerator; external user32 name 'TranslateAcceleratorW'; +function UnregisterClass; external user32 name 'UnregisterClassW'; +function VkKeyScan; external user32 name 'VkKeyScanW'; +function VkKeyScanEx; external user32 name 'VkKeyScanExW'; +function WinHelp; external user32 name 'WinHelpW'; +function wsprintf; external user32 name 'wsprintfW'; +function wvsprintf; external user32 name 'wvsprintfW'; +// NT 4.0 bug workaround - NT 4.0 doesn't test bInitialOwner for zero/nonzero, it tests for 1 +function _CreateMutex(lpMutexAttributes: PSecurityAttributes; + bInitialOwner: Integer; lpName: PWideChar): THandle; stdcall; + external kernel32 name 'CreateMutexW'; +function CreateMutex(lpMutexAttributes: PSecurityAttributes; bInitialOwner: BOOL; lpName: PWideChar): THandle; +begin + Result := _CreateMutex(lpMutexAttributes, Integer(Boolean(bInitialOwner)), lpName); +end; +{$IFDEF WIN64} +function GetWindowLongPtr; external user32 name 'GetWindowLongPtrW'; +function SetWindowLongPtr; external user32 name 'SetWindowLongPtrW'; +function GetClassLongPtr; external user32 name 'GetClassLongPtrW'; +function SetClassLongPtr; external user32 name 'SetClassLongPtrW'; +function GetWindowLongPtrA; external user32 name 'GetWindowLongPtrA'; +function SetWindowLongPtrA; external user32 name 'SetWindowLongPtrA'; +function GetClassLongPtrA; external user32 name 'GetClassLongPtrA'; +function SetClassLongPtrA; external user32 name 'SetClassLongPtrA'; +function GetWindowLongPtrW; external user32 name 'GetWindowLongPtrW'; +function SetWindowLongPtrW; external user32 name 'SetWindowLongPtrW'; +function GetClassLongPtrW; external user32 name 'GetClassLongPtrW'; +function SetClassLongPtrW; external user32 name 'SetClassLongPtrW'; +{$ELSE} +function GetWindowLongPtr; external user32 name 'GetWindowLongW'; +function SetWindowLongPtr; external user32 name 'SetWindowLongW'; +function GetClassLongPtr; external user32 name 'GetClassLongW'; +function SetClassLongPtr; external user32 name 'SetClassLongW'; +function GetWindowLongPtrA; external user32 name 'GetWindowLongA'; +function SetWindowLongPtrA; external user32 name 'SetWindowLongA'; +function GetClassLongPtrA; external user32 name 'GetClassLongA'; +function SetClassLongPtrA; external user32 name 'SetClassLongA'; +function GetWindowLongPtrW; external user32 name 'GetWindowLongW'; +function SetWindowLongPtrW; external user32 name 'SetWindowLongW'; +function GetClassLongPtrW; external user32 name 'GetClassLongW'; +function SetClassLongPtrW; external user32 name 'SetClassLongW'; +{$ENDIF} +function ChooseFontW; external 'comdlg32' name 'ChooseFontW'; +{$ENDIF UNICODE_CTRLS} +function SetTimer; external user32 name 'SetTimer'; +function KillTimer; external user32 name 'KillTimer'; +function GetProcessWorkingSetSize; external KernelDLL name 'GetProcessWorkingSetSize'; +function SetProcessWorkingSetSize; external KernelDLL name 'SetProcessWorkingSetSize'; +function SendInput; external user32 name 'SendInput'; + + +{$ENDIF implementation_part} ///////////////////////////////////////////////////