⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jwatlhelp32.pas

📁 比较全面的win32api开发包
💻 PAS
📖 第 1 页 / 共 2 页
字号:

{$ENDIF}

implementation

const
  kernel32 = 'kernel32.dll';


{$IFDEF DYNAMIC_LINK}
var
  _CreateToolhelp32Snapshot: Pointer;

function CreateToolhelp32Snapshot;
begin
  GetProcedureAddress(_CreateToolhelp32Snapshot, kernel32, 'CreateToolhelp32Snapshot');
  asm
    mov esp, ebp
    pop ebp
    jmp [_CreateToolhelp32Snapshot]
  end;
end;
{$ELSE}
function CreateToolhelp32Snapshot; external kernel32 name 'CreateToolhelp32Snapshot';
{$ENDIF DYNAMIC_LINK}

{$IFDEF DYNAMIC_LINK}
var
  _Heap32ListFirst: Pointer;

function Heap32ListFirst;
begin
  GetProcedureAddress(_Heap32ListFirst, kernel32, 'Heap32ListFirst');
  asm
    mov esp, ebp
    pop ebp
    jmp [_Heap32ListFirst]
  end;
end;
{$ELSE}
function Heap32ListFirst; external kernel32 name 'Heap32ListFirst';
{$ENDIF DYNAMIC_LINK}

{$IFDEF DYNAMIC_LINK}
var
  _Heap32ListNext: Pointer;

function Heap32ListNext;
begin
  GetProcedureAddress(_Heap32ListNext, kernel32, 'Heap32ListNext');
  asm
    mov esp, ebp
    pop ebp
    jmp [_Heap32ListNext]
  end;
end;
{$ELSE}
function Heap32ListNext; external kernel32 name 'Heap32ListNext';
{$ENDIF DYNAMIC_LINK}

{$IFDEF DYNAMIC_LINK}
var
  _Heap32First: Pointer;

function Heap32First;
begin
  GetProcedureAddress(_Heap32First, kernel32, 'Heap32First');
  asm
    mov esp, ebp
    pop ebp
    jmp [_Heap32First]
  end;
end;
{$ELSE}
function Heap32First; external kernel32 name 'Heap32First';
{$ENDIF DYNAMIC_LINK}

{$IFDEF DYNAMIC_LINK}
var
  _Heap32Next: Pointer;

function Heap32Next;
begin
  GetProcedureAddress(_Heap32Next, kernel32, 'Heap32Next');
  asm
    mov esp, ebp
    pop ebp
    jmp [_Heap32Next]
  end;
end;
{$ELSE}
function Heap32Next; external kernel32 name 'Heap32Next';
{$ENDIF DYNAMIC_LINK}

{$IFDEF DYNAMIC_LINK}
var
  _Toolhelp32ReadProcessMemory: Pointer;

function Toolhelp32ReadProcessMemory;
begin
  GetProcedureAddress(_Toolhelp32ReadProcessMemory, kernel32, 'Toolhelp32ReadProcessMemory');
  asm
    mov esp, ebp
    pop ebp
    jmp [_Toolhelp32ReadProcessMemory]
  end;
end;
{$ELSE}
function Toolhelp32ReadProcessMemory; external kernel32 name 'Toolhelp32ReadProcessMemory';
{$ENDIF DYNAMIC_LINK}


{$IFDEF DYNAMIC_LINK}
var
  _Process32FirstW: Pointer;

function Process32FirstW;
begin
  GetProcedureAddress(_Process32FirstW, kernel32, 'Process32FirstW');
  asm
    mov esp, ebp
    pop ebp
    jmp [_Process32FirstW]
  end;
end;
{$ELSE}
function Process32FirstW; external kernel32 name 'Process32FirstW';
{$ENDIF DYNAMIC_LINK}

{$IFDEF DYNAMIC_LINK}
var
  _Process32NextW: Pointer;

function Process32NextW;
begin
  GetProcedureAddress(_Process32NextW, kernel32, 'Process32NextW');
  asm
    mov esp, ebp
    pop ebp
    jmp [_Process32NextW]
  end;
end;
{$ELSE}
function Process32NextW; external kernel32 name 'Process32NextW';
{$ENDIF DYNAMIC_LINK}
{$IFDEF UNICODE}

{$IFDEF DYNAMIC_LINK}
var
  _Process32First: Pointer;

function Process32First;
begin
  GetProcedureAddress(_Process32First, kernel32, 'Process32FirstW');
  asm
    mov esp, ebp
    pop ebp
    jmp [_Process32First]
  end;
end;
{$ELSE}
function Process32First; external kernel32 name 'Process32FirstW';
{$ENDIF DYNAMIC_LINK}

{$IFDEF DYNAMIC_LINK}
var
  _Process32Next: Pointer;

function Process32Next;
begin
  GetProcedureAddress(_Process32Next, kernel32, 'Process32NextW');
  asm
    mov esp, ebp
    pop ebp
    jmp [_Process32Next]
  end;
end;
{$ELSE}
function Process32Next; external kernel32 name 'Process32NextW';
{$ENDIF DYNAMIC_LINK}
{$ELSE}

{$IFDEF DYNAMIC_LINK}
var
  _Process32First: Pointer;

function Process32First;
begin
  GetProcedureAddress(_Process32First, kernel32, 'Process32First');
  asm
    mov esp, ebp
    pop ebp
    jmp [_Process32First]
  end;
end;
{$ELSE}
function Process32First; external kernel32 name 'Process32First';
{$ENDIF DYNAMIC_LINK}

{$IFDEF DYNAMIC_LINK}
var
  _Process32Next: Pointer;

function Process32Next;
begin
  GetProcedureAddress(_Process32Next, kernel32, 'Process32Next');
  asm
    mov esp, ebp
    pop ebp
    jmp [_Process32Next]
  end;
end;
{$ELSE}
function Process32Next; external kernel32 name 'Process32Next';
{$ENDIF DYNAMIC_LINK}
{$ENDIF}

{$IFDEF DYNAMIC_LINK}
var
  _Thread32First: Pointer;

function Thread32First;
begin
  GetProcedureAddress(_Thread32First, kernel32, 'Thread32First');
  asm
    mov esp, ebp
    pop ebp
    jmp [_Thread32First]
  end;
end;
{$ELSE}
function Thread32First; external kernel32 name 'Thread32First';
{$ENDIF DYNAMIC_LINK}

{$IFDEF DYNAMIC_LINK}
var
  _Thread32Next: Pointer;

function Thread32Next;
begin
  GetProcedureAddress(_Thread32Next, kernel32, 'Thread32Next');
  asm
    mov esp, ebp
    pop ebp
    jmp [_Thread32Next]
  end;
end;
{$ELSE}
function Thread32Next; external kernel32 name 'Thread32Next';
{$ENDIF DYNAMIC_LINK}

{$IFDEF DYNAMIC_LINK}
var
  _Module32FirstW: Pointer;

function Module32FirstW;
begin
  GetProcedureAddress(_Module32FirstW, kernel32, 'Module32FirstW');
  asm
    mov esp, ebp
    pop ebp
    jmp [_Module32FirstW]
  end;
end;
{$ELSE}
function Module32FirstW; external kernel32 name 'Module32FirstW';
{$ENDIF DYNAMIC_LINK}

{$IFDEF DYNAMIC_LINK}
var
  _Module32NextW: Pointer;

function Module32NextW;
begin
  GetProcedureAddress(_Module32NextW, kernel32, 'Module32NextW');
  asm
    mov esp, ebp
    pop ebp
    jmp [_Module32NextW]
  end;
end;
{$ELSE}
function Module32NextW; external kernel32 name 'Module32NextW';
{$ENDIF DYNAMIC_LINK}
{$IFDEF UNICODE}

{$IFDEF DYNAMIC_LINK}
var
  _Module32First: Pointer;

function Module32First;
begin
  GetProcedureAddress(_Module32First, kernel32, 'Module32FirstW');
  asm
    mov esp, ebp
    pop ebp
    jmp [_Module32First]
  end;
end;
{$ELSE}
function Module32First; external kernel32 name 'Module32FirstW';
{$ENDIF DYNAMIC_LINK}

{$IFDEF DYNAMIC_LINK}
var
  _Module32Next: Pointer;

function Module32Next;
begin
  GetProcedureAddress(_Module32Next, kernel32, 'Module32NextW');
  asm
    mov esp, ebp
    pop ebp
    jmp [_Module32Next]
  end;
end;
{$ELSE}
function Module32Next; external kernel32 name 'Module32NextW';
{$ENDIF DYNAMIC_LINK}
{$ELSE}

{$IFDEF DYNAMIC_LINK}
var
  _Module32First: Pointer;

function Module32First;
begin
  GetProcedureAddress(_Module32First, kernel32, 'Module32First');
  asm
    mov esp, ebp
    pop ebp
    jmp [_Module32First]
  end;
end;
{$ELSE}
function Module32First; external kernel32 name 'Module32First';
{$ENDIF DYNAMIC_LINK}

{$IFDEF DYNAMIC_LINK}
var
  _Module32Next: Pointer;

function Module32Next;
begin
  GetProcedureAddress(_Module32Next, kernel32, 'Module32Next');
  asm
    mov esp, ebp
    pop ebp
    jmp [_Module32Next]
  end;
end;
{$ELSE}
function Module32Next; external kernel32 name 'Module32Next';
{$ENDIF DYNAMIC_LINK}
{$ENDIF}

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -