📄 jwawinbase.pas
字号:
function UnlockResource(hResData: HANDLE): BOOL;
{$EXTERNALSYM UnlockResource}
const
MAXINTATOM = $C000;
{$EXTERNALSYM MAXINTATOM}
INVALID_ATOM = ATOM(0);
{$EXTERNALSYM INVALID_ATOM}
type
MAKEINTATOMA = PAnsiChar;
MAKEINTATOMW = PWideChar;
{$IFDEF UNICODE}
MAKEINTATOM = MAKEINTATOMW;
{$EXTERNALSYM MAKEINTATOM}
{$ELSE}
MAKEINTATOM = MAKEINTATOMA;
{$EXTERNALSYM MAKEINTATOM}
{$ENDIF}
function FreeLibrary(hLibModule: HMODULE): BOOL; stdcall;
{$EXTERNALSYM FreeLibrary}
procedure FreeLibraryAndExitThread(hLibModule: HMODULE; dwExitCode: DWORD); stdcall;
{$EXTERNALSYM FreeLibraryAndExitThread}
function DisableThreadLibraryCalls(hLibModule: HMODULE): BOOL; stdcall;
{$EXTERNALSYM DisableThreadLibraryCalls}
function GetProcAddress(hModule: HMODULE; lpProcName: LPCSTR): FARPROC; stdcall;
{$EXTERNALSYM GetProcAddress}
function GetVersion: DWORD; stdcall;
{$EXTERNALSYM GetVersion)}
function GlobalAlloc(uFlags: UINT; dwBytes: SIZE_T): HGLOBAL; stdcall;
{$EXTERNALSYM GlobalAlloc}
function GlobalReAlloc(hMem: HGLOBAL; dwBytes: SIZE_T; uFlags: UINT): HGLOBAL; stdcall;
{$EXTERNALSYM GlobalReAlloc}
function GlobalSize(hMem: HGLOBAL): SIZE_T; stdcall;
{$EXTERNALSYM GlobalSize}
function GlobalFlags(hMem: HGLOBAL): UINT; stdcall;
{$EXTERNALSYM GlobalFlags}
function GlobalLock(hMem: HGLOBAL): LPVOID; stdcall;
{$EXTERNALSYM GlobalLock}
//!!!MWH My version win31 = DWORD WINAPI GlobalHandle(UINT)
function GlobalHandle(pMem: LPCVOID): HGLOBAL; stdcall;
{$EXTERNALSYM GlobalHandle}
function GlobalUnlock(hMem: HGLOBAL): BOOL; stdcall;
{$EXTERNALSYM GlobalUnlock}
function GlobalFree(hMem: HGLOBAL): HGLOBAL; stdcall;
{$EXTERNALSYM GlobalFree}
function GlobalCompact(dwMinFree: DWORD): SIZE_T; stdcall;
{$EXTERNALSYM GlobalCompact}
procedure GlobalFix(hMem: HGLOBAL); stdcall;
{$EXTERNALSYM GlobalFix}
procedure GlobalUnfix(hMem: HGLOBAL); stdcall;
{$EXTERNALSYM GlobalUnfix}
function GlobalWire(hMem: HGLOBAL): LPVOID; stdcall;
{$EXTERNALSYM GlobalWire}
function GlobalUnWire(hMem: HGLOBAL): BOOL; stdcall;
{$EXTERNALSYM GlobalUnWire}
procedure GlobalMemoryStatus(var lpBuffer: MEMORYSTATUS); stdcall;
{$EXTERNALSYM GlobalMemoryStatus}
type
LPMEMORYSTATUSEX = ^MEMORYSTATUSEX;
{$EXTERNALSYM LPMEMORYSTATUSEX}
_MEMORYSTATUSEX = record
dwLength: DWORD;
dwMemoryLoad: DWORD;
ullTotalPhys: DWORDLONG;
ullAvailPhys: DWORDLONG;
ullTotalPageFile: DWORDLONG;
ullAvailPageFile: DWORDLONG;
ullTotalVirtual: DWORDLONG;
ullAvailVirtual: DWORDLONG;
ullAvailExtendedVirtual: DWORDLONG;
end;
{$EXTERNALSYM _MEMORYSTATUSEX}
MEMORYSTATUSEX = _MEMORYSTATUSEX;
{$EXTERNALSYM MEMORYSTATUSEX}
TMemoryStatusEx = MEMORYSTATUSEX;
PMemoryStatusEx = LPMEMORYSTATUSEX;
function GlobalMemoryStatusEx(var lpBuffer: MEMORYSTATUSEX): BOOL; stdcall;
{$EXTERNALSYM GlobalMemoryStatusEx}
function LocalAlloc(uFlags: UINT; uBytes: SIZE_T): HLOCAL; stdcall;
{$EXTERNALSYM LocalAlloc}
function LocalReAlloc(hMem: HLOCAL; uBytes: SIZE_T; uFlags: UINT): HLOCAL; stdcall;
{$EXTERNALSYM LocalReAlloc}
function LocalLock(hMem: HLOCAL): LPVOID; stdcall;
{$EXTERNALSYM LocalLock}
function LocalHandle(pMem: LPCVOID): HLOCAL; stdcall;
{$EXTERNALSYM LocalHandle}
function LocalUnlock(hMem: HLOCAL): BOOL; stdcall;
{$EXTERNALSYM LocalUnlock}
function LocalSize(hMem: HLOCAL): SIZE_T; stdcall;
{$EXTERNALSYM LocalSize}
function LocalFlags(hMem: HLOCAL): UINT; stdcall;
{$EXTERNALSYM LocalFlags}
function LocalFree(hMem: HLOCAL): HLOCAL; stdcall;
{$EXTERNALSYM LocalFree}
function LocalShrink(hMem: HLOCAL; cbNewSize: UINT): SIZE_T; stdcall;
{$EXTERNALSYM LocalShrink}
function LocalCompact(uMinFree: UINT): SIZE_T; stdcall;
{$EXTERNALSYM LocalCompact}
function FlushInstructionCache(hProcess: HANDLE; lpBaseAddress: LPCVOID;
dwSize: DWORD): BOOL; stdcall;
{$EXTERNALSYM FlushInstructionCache}
function VirtualAlloc(lpAddress: LPVOID; dwSize: SIZE_T; flAllocationType: DWORD;
flProtect: DWORD): LPVOID; stdcall;
{$EXTERNALSYM VirtualAlloc}
function VirtualFree(lpAddress: LPVOID; dwSize: SIZE_T; dwFreeType: DWORD): BOOL; stdcall;
{$EXTERNALSYM VirtualFree}
function VirtualProtect(lpAddress: LPVOID; dwSize: SIZE_T; flNewProtect: DWORD;
lpflOldProtect: PDWORD): BOOL; stdcall;
{$EXTERNALSYM VirtualProtect}
function VirtualQuery(lpAddress: LPCVOID; var lpBuffer: MEMORY_BASIC_INFORMATION;
dwLength: DWORD): DWORD; stdcall;
{$EXTERNALSYM VirtualQuery}
function VirtualAllocEx(hProcess: HANDLE; lpAddress: LPVOID; dwSize: SIZE_T;
flAllocationType: DWORD; flProtect: DWORD): LPVOID; stdcall;
{$EXTERNALSYM VirtualAllocEx}
function GetWriteWatch(dwFlags: DWORD; lpBaseAddress: PVOID;
dwRegionSize: SIZE_T; var lpAddresses: PVOID; var lpdwCount: ULONG_PTR;
var lpdwGranularity: ULONG): UINT; stdcall;
{$EXTERNALSYM GetWriteWatch}
function ResetWriteWatch(lpBaseAddress: LPVOID; dwRegionSize: SIZE_T): UINT; stdcall;
{$EXTERNALSYM ResetWriteWatch}
function GetLargePageMinimum: SIZE_T; stdcall;
{$EXTERNALSYM GetLargePageMinimum}
function VirtualFreeEx(hProcess: HANDLE; lpAddress: LPVOID; dwSize: SIZE_T;
dwFreeType: DWORD): BOOL; stdcall;
{$EXTERNALSYM VirtualFreeEx}
function VirtualProtectEx(hProcess: HANDLE; lpAddress: LPVOID; dwSize: SIZE_T;
flNewProtect: DWORD; lpflOldProtect: PDWORD): BOOL; stdcall;
{$EXTERNALSYM VirtualProtectEx}
function VirtualQueryEx(hProcess: HANDLE; lpAddress: LPCVOID;
var lpBuffer: MEMORY_BASIC_INFORMATION; dwLength: DWORD): DWORD; stdcall;
{$EXTERNALSYM VirtualQueryEx}
function HeapCreate(flOptions: DWORD; dwInitialSize: SIZE_T;
dwMaximumSize: SIZE_T): HANDLE; stdcall;
{$EXTERNALSYM HeapCreate}
function HeapDestroy(hHeap: HANDLE): BOOL; stdcall;
{$EXTERNALSYM HeapDestroy}
function HeapAlloc(hHeap: HANDLE; dwFlags: DWORD; dwBytes: SIZE_T): LPVOID; stdcall;
{$EXTERNALSYM HeapAlloc}
function HeapReAlloc(hHeap: HANDLE; dwFlags: DWORD; lpMem: LPVOID; dwBytes: SIZE_T): LPVOID; stdcall;
{$EXTERNALSYM HeapReAlloc}
function HeapFree(hHeap: HANDLE; dwFlags: DWORD; lpMem: LPVOID): BOOL; stdcall;
{$EXTERNALSYM HeapFree}
function HeapSize(hHeap: HANDLE; dwFlags: DWORD; lpMem: LPCVOID): SIZE_T; stdcall;
{$EXTERNALSYM HeapSize}
function HeapValidate(hHeap: HANDLE; dwFlags: DWORD; lpMem: LPCVOID): BOOL; stdcall;
{$EXTERNALSYM HeapValidate}
function HeapCompact(hHeap: HANDLE; dwFlags: DWORD): SIZE_T; stdcall;
{$EXTERNALSYM HeapCompact}
function GetProcessHeap: HANDLE; stdcall;
{$EXTERNALSYM GetProcessHeap)}
function GetProcessHeaps(NumberOfHeaps: DWORD; var ProcessHeaps: HANDLE): DWORD; stdcall;
{$EXTERNALSYM GetProcessHeaps}
type
PPROCESS_HEAP_ENTRY = ^PROCESS_HEAP_ENTRY;
{$EXTERNALSYM PPROCESS_HEAP_ENTRY}
_PROCESS_HEAP_ENTRY = record
lpData: PVOID;
cbData: DWORD;
cbOverhead: BYTE;
iRegionIndex: BYTE;
wFlags: WORD;
case Integer of
0: (
hMem: HANDLE;
dwReserved: array [0..2] of DWORD);
1: (
dwComittedSize: DWORD;
dwUnComittedSize: DWORD;
lpFirstBlock: LPVOID;
lpLastBlock: LPVOID);
end;
{$EXTERNALSYM _PROCESS_HEAP_ENTRY}
PROCESS_HEAP_ENTRY = _PROCESS_HEAP_ENTRY;
{$EXTERNALSYM PROCESS_HEAP_ENTRY}
LPPROCESS_HEAP_ENTRY = ^PROCESS_HEAP_ENTRY;
{$EXTERNALSYM LPPROCESS_HEAP_ENTRY}
TProcessHeapEntry = PROCESS_HEAP_ENTRY;
PProcessHeapEntry = PPROCESS_HEAP_ENTRY;
const
PROCESS_HEAP_REGION = $0001;
{$EXTERNALSYM PROCESS_HEAP_REGION}
PROCESS_HEAP_UNCOMMITTED_RANGE = $0002;
{$EXTERNALSYM PROCESS_HEAP_UNCOMMITTED_RANGE}
PROCESS_HEAP_ENTRY_BUSY = $0004;
{$EXTERNALSYM PROCESS_HEAP_ENTRY_BUSY}
PROCESS_HEAP_ENTRY_MOVEABLE = $0010;
{$EXTERNALSYM PROCESS_HEAP_ENTRY_MOVEABLE}
PROCESS_HEAP_ENTRY_DDESHARE = $0020;
{$EXTERNALSYM PROCESS_HEAP_ENTRY_DDESHARE}
function HeapLock(hHeap: HANDLE): BOOL; stdcall;
{$EXTERNALSYM HeapLock}
function HeapUnlock(hHeap: HANDLE): BOOL; stdcall;
{$EXTERNALSYM HeapUnlock}
function HeapWalk(hHeap: HANDLE; var lpEntry: PROCESS_HEAP_ENTRY): BOOL; stdcall;
{$EXTERNALSYM HeapWalk}
function HeapSetInformation(HeapHandle: HANDLE; HeapInformationClass: HEAP_INFORMATION_CLASS;
HeapInformation: PVOID; HeapInformationLength: SIZE_T): BOOL; stdcall;
{$EXTERNALSYM HeapSetInformation}
function HeapQueryInformation(HeapHandle: HANDLE; HeapInformationClass: HEAP_INFORMATION_CLASS;
HeapInformation: PVOID; HeapInformationLength: SIZE_T; ReturnLength: PSIZE_T): BOOL; stdcall;
{$EXTERNALSYM HeapQueryInformation}
// GetBinaryType return values.
const
SCS_32BIT_BINARY = 0;
{$EXTERNALSYM SCS_32BIT_BINARY}
SCS_DOS_BINARY = 1;
{$EXTERNALSYM SCS_DOS_BINARY}
SCS_WOW_BINARY = 2;
{$EXTERNALSYM SCS_WOW_BINARY}
SCS_PIF_BINARY = 3;
{$EXTERNALSYM SCS_PIF_BINARY}
SCS_POSIX_BINARY = 4;
{$EXTERNALSYM SCS_POSIX_BINARY}
SCS_OS216_BINARY = 5;
{$EXTERNALSYM SCS_OS216_BINARY}
SCS_64BIT_BINARY = 6;
{$EXTERNALSYM SCS_64BIT_BINARY}
SCS_THIS_PLATFORM_BINARY = SCS_32BIT_BINARY;
{$EXTERNALSYM SCS_THIS_PLATFORM_BINARY}
function GetBinaryTypeA(lpApplicationName: LPCSTR; var lpBinaryType: DWORD): BOOL; stdcall;
{$EXTERNALSYM GetBinaryTypeA}
function GetBinaryTypeW(lpApplicationName: LPCWSTR; var lpBinaryType: DWORD): BOOL; stdcall;
{$EXTERNALSYM GetBinaryTypeW}
{$IFDEF UNICODE}
function GetBinaryType(lpApplicationName: LPCWSTR; var lpBinaryType: DWORD): BOOL; stdcall;
{$EXTERNALSYM GetBinaryType}
{$ELSE}
function GetBinaryType(lpApplicationName: LPCSTR; var lpBinaryType: DWORD): BOOL; stdcall;
{$EXTERNALSYM GetBinaryType}
{$ENDIF}
function GetShortPathNameA(lpszLongPath: LPCSTR; lpszShortPath: LPSTR;
cchBuffer: DWORD): DWORD; stdcall;
{$EXTERNALSYM GetShortPathNameA}
function GetShortPathNameW(lpszLongPath: LPCWSTR; lpszShortPath: LPWSTR;
cchBuffer: DWORD): DWORD; stdcall;
{$EXTERNALSYM GetShortPathNameW}
{$IFDEF UNICODE}
function GetShortPathName(lpszLongPath: LPCWSTR; lpszShortPath: LPWSTR;
cchBuffer: DWORD): DWORD; stdcall;
{$EXTERNALSYM GetShortPathName}
{$ELSE}
function GetShortPathName(lpszLongPath: LPCSTR; lpszShortPath: LPSTR;
cchBuffer: DWORD): DWORD; stdcall;
{$EXTERNALSYM GetShortPathName}
{$ENDIF}
function GetLongPathNameA(lpszShortPath: LPCSTR; lpszLongPath: LPSTR;
cchBuffer: DWORD): DWORD; stdcall;
{$EXTERNALSYM GetLongPathNameA}
function GetLongPathNameW(lpszShortPath: LPCWSTR; lpszLongPath: LPWSTR;
cchBuffer: DWORD): DWORD; stdcall;
{$EXTERNALSYM GetLongPathNameW}
{$IFDEF UNICODE}
function GetLongPathName(lpszShortPath: LPCWSTR; lpszLongPath: LPWSTR;
cchBuffer: DWORD): DWORD; stdcall;
{$EXTERNALSYM GetLongPathName}
{$ELSE}
function GetLongPathName(lpszShortPath: LPCSTR; lpszLongPath: LPSTR;
cchBuffer: DWORD): DWORD; stdcall;
{$EXTERNALSYM GetLongPathName}
{$ENDIF}
function GetProcessAffinityMask(hProcess: HANDLE;
var lpProcessAffinityMask, lpSystemAffinityMask: DWORD_PTR): BOOL; stdcall;
{$EXTERNALSYM GetProcessAffinityMask}
function SetProcessAffinityMask(hProcess: HANDLE;
dwProcessAffinityMask: DWORD_PTR): BOOL; stdcall;
{$EXTERNALSYM SetProcessAffinityMask}
function GetProcessTimes(hProcess: HANDLE; var lpCreationTime, lpExitTime,
lpKernelTime, lpUserTime: FILETIME): BOOL; stdcall;
{$EXTERNALSYM GetProcessTimes}
function GetProcessIoCounters(hProcess: HANDLE; var lpIoCounters: IO_COUNTERS): BOOL; stdcall;
{$EXTERNALSYM GetProcessIoCounters}
function GetProcessWorkingSetSize(hProcess: HANDLE;
var lpMinimumWorkingSetSize, lpMaximumWorkingSetSize: SIZE_T): BOOL; stdcall;
{$EXTERNALSYM GetProcessWorkingSetSize}
function SetProcessWorkingSetSize(hProcess: HANDLE; dwMinimumWorkingSetSize,
dwMaximumWorkingSetSize: SIZE_T): BOOL; stdcall;
{$EXTERNALSYM SetProcessWorkingSetSize}
function OpenProcess(dwDesiredAccess: DWORD; bInheritHandle: BOOL;
dwProcessId: DWORD): HANDLE; stdcall;
{$EXTERNALSYM OpenProcess}
function GetCurrentProcess: HANDLE; stdcall;
{$EXTERNALSYM GetCurrentProcess}
function GetCurrentProcessId: DWORD; stdcall;
{$EXTERNALSYM GetCurrentProcessId}
procedure ExitProcess(uExitCode: UINT); stdcall;
{$EXTERNALSYM ExitProcess}
function TerminateProcess(hProcess: HANDLE; uExitCode: UINT): BOOL; stdcall;
{$EXTERNALSYM TerminateProcess}
function GetExitCodeProcess(hProcess: HANDLE; var lpExitCode: DWORD): BOOL; stdcall;
{$EXTERNALSYM GetExitCodeProcess}
procedure FatalExit(ExitCode: Integer); stdcall;
{$EXTERNALSYM FatalExit}
{$IFNDEF UNICODE}
function GetEnvironmentStrings: LPSTR; stdcall;
{$EXTERNALSYM GetEnvironmentStrings}
{$ENDIF}
function GetEnvironmentStringsW: LPWSTR; stdcall;
{$EXTERNALSYM GetEnvironmentStringsW}
{$IFDEF UNICODE}
function GetEnvironmentStrings: LPWSTR; stdcall;
{$EXTERNALSYM GetEnvironmentStrings}
{$ELSE}
function GetEnvironmentStringsA: LPSTR; stdcall;
{$EXTERNALSYM GetEnvironmentStringsA}
{$ENDIF}
function FreeEnvironmentStringsA(pstr: LPSTR): BOOL; stdcall;
{$EXTERNALSYM FreeEnvironmentStringsA}
function FreeEnvironmentStringsW(pstr: LPWSTR): BOOL; stdcall;
{$EXTERNALSYM FreeEnvironmentStringsW}
{$IFDEF UNICODE}
function FreeEnvironmentStrings(p
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -