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

📄 jwawinreg.pas

📁 比较全面的win32api开发包
💻 PAS
📖 第 1 页 / 共 5 页
字号:
function RegDeleteKeyW; external advapi32 name 'RegDeleteKeyW';
{$ENDIF DYNAMIC_LINK}
{$IFDEF UNICODE}

{$IFDEF DYNAMIC_LINK}
var
  _RegDeleteKey: Pointer;

function RegDeleteKey;
begin
  GetProcedureAddress(_RegDeleteKey, advapi32, 'RegDeleteKeyW');
  asm
    mov esp, ebp
    pop ebp
    jmp [_RegDeleteKey]
  end;
end;
{$ELSE}
function RegDeleteKey; external advapi32 name 'RegDeleteKeyW';
{$ENDIF DYNAMIC_LINK}
{$ELSE}

{$IFDEF DYNAMIC_LINK}
var
  _RegDeleteKey: Pointer;

function RegDeleteKey;
begin
  GetProcedureAddress(_RegDeleteKey, advapi32, 'RegDeleteKeyA');
  asm
    mov esp, ebp
    pop ebp
    jmp [_RegDeleteKey]
  end;
end;
{$ELSE}
function RegDeleteKey; external advapi32 name 'RegDeleteKeyA';
{$ENDIF DYNAMIC_LINK}
{$ENDIF}

{$IFDEF DYNAMIC_LINK}
var
  _RegDeleteValueA: Pointer;

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

{$IFDEF DYNAMIC_LINK}
var
  _RegDeleteValueW: Pointer;

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

{$IFDEF DYNAMIC_LINK}
var
  _RegDeleteValue: Pointer;

function RegDeleteValue;
begin
  GetProcedureAddress(_RegDeleteValue, advapi32, 'RegDeleteValueW');
  asm
    mov esp, ebp
    pop ebp
    jmp [_RegDeleteValue]
  end;
end;
{$ELSE}
function RegDeleteValue; external advapi32 name 'RegDeleteValueW';
{$ENDIF DYNAMIC_LINK}
{$ELSE}

{$IFDEF DYNAMIC_LINK}
var
  _RegDeleteValue: Pointer;

function RegDeleteValue;
begin
  GetProcedureAddress(_RegDeleteValue, advapi32, 'RegDeleteValueA');
  asm
    mov esp, ebp
    pop ebp
    jmp [_RegDeleteValue]
  end;
end;
{$ELSE}
function RegDeleteValue; external advapi32 name 'RegDeleteValueA';
{$ENDIF DYNAMIC_LINK}
{$ENDIF}

{$IFDEF DYNAMIC_LINK}
var
  _RegEnumKeyA: Pointer;

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

{$IFDEF DYNAMIC_LINK}
var
  _RegEnumKeyW: Pointer;

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

{$IFDEF DYNAMIC_LINK}
var
  _RegEnumKey: Pointer;

function RegEnumKey;
begin
  GetProcedureAddress(_RegEnumKey, advapi32, 'RegEnumKeyW');
  asm
    mov esp, ebp
    pop ebp
    jmp [_RegEnumKey]
  end;
end;
{$ELSE}
function RegEnumKey; external advapi32 name 'RegEnumKeyW';
{$ENDIF DYNAMIC_LINK}
{$ELSE}

{$IFDEF DYNAMIC_LINK}
var
  _RegEnumKey: Pointer;

function RegEnumKey;
begin
  GetProcedureAddress(_RegEnumKey, advapi32, 'RegEnumKeyA');
  asm
    mov esp, ebp
    pop ebp
    jmp [_RegEnumKey]
  end;
end;
{$ELSE}
function RegEnumKey; external advapi32 name 'RegEnumKeyA';
{$ENDIF DYNAMIC_LINK}
{$ENDIF}

{$IFDEF DYNAMIC_LINK}
var
  _RegEnumKeyExA: Pointer;

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

{$IFDEF DYNAMIC_LINK}
var
  _RegEnumKeyExW: Pointer;

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

{$IFDEF DYNAMIC_LINK}
var
  _RegEnumKeyEx: Pointer;

function RegEnumKeyEx;
begin
  GetProcedureAddress(_RegEnumKeyEx, advapi32, 'RegEnumKeyExW');
  asm
    mov esp, ebp
    pop ebp
    jmp [_RegEnumKeyEx]
  end;
end;
{$ELSE}
function RegEnumKeyEx; external advapi32 name 'RegEnumKeyExW';
{$ENDIF DYNAMIC_LINK}
{$ELSE}

{$IFDEF DYNAMIC_LINK}
var
  _RegEnumKeyEx: Pointer;

function RegEnumKeyEx;
begin
  GetProcedureAddress(_RegEnumKeyEx, advapi32, 'RegEnumKeyExA');
  asm
    mov esp, ebp
    pop ebp
    jmp [_RegEnumKeyEx]
  end;
end;
{$ELSE}
function RegEnumKeyEx; external advapi32 name 'RegEnumKeyExA';
{$ENDIF DYNAMIC_LINK}
{$ENDIF}

{$IFDEF DYNAMIC_LINK}
var
  _RegEnumValueA: Pointer;

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

{$IFDEF DYNAMIC_LINK}
var
  _RegEnumValueW: Pointer;

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

{$IFDEF DYNAMIC_LINK}
var
  _RegEnumValue: Pointer;

function RegEnumValue;
begin
  GetProcedureAddress(_RegEnumValue, advapi32, 'RegEnumValueW');
  asm
    mov esp, ebp
    pop ebp
    jmp [_RegEnumValue]
  end;
end;
{$ELSE}
function RegEnumValue; external advapi32 name 'RegEnumValueW';
{$ENDIF DYNAMIC_LINK}
{$ELSE}

{$IFDEF DYNAMIC_LINK}
var
  _RegEnumValue: Pointer;

function RegEnumValue;
begin
  GetProcedureAddress(_RegEnumValue, advapi32, 'RegEnumValueA');
  asm
    mov esp, ebp
    pop ebp
    jmp [_RegEnumValue]
  end;
end;
{$ELSE}
function RegEnumValue; external advapi32 name 'RegEnumValueA';
{$ENDIF DYNAMIC_LINK}
{$ENDIF}

{$IFDEF DYNAMIC_LINK}
var
  _RegFlushKey: Pointer;

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

{$IFDEF DYNAMIC_LINK}
var
  _RegGetKeySecurity: Pointer;

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

{$IFDEF DYNAMIC_LINK}
var
  _RegLoadKeyA: Pointer;

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

{$IFDEF DYNAMIC_LINK}
var
  _RegLoadKeyW: Pointer;

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

{$IFDEF DYNAMIC_LINK}
var
  _RegLoadKey: Pointer;

function RegLoadKey;
begin
  GetProcedureAddress(_RegLoadKey, advapi32, 'RegLoadKeyW');
  asm
    mov esp, ebp
    pop ebp
    jmp [_RegLoadKey]
  end;
end;
{$ELSE}
function RegLoadKey; external advapi32 name 'RegLoadKeyW';
{$ENDIF DYNAMIC_LINK}
{$ELSE}

{$IFDEF DYNAMIC_LINK}
var
  _RegLoadKey: Pointer;

function RegLoadKey;
begin
  GetProcedureAddress(_RegLoadKey, advapi32, 'RegLoadKeyA');
  asm
    mov esp, ebp
    pop ebp
    jmp [_RegLoadKey]
  end;
end;
{$ELSE}
function RegLoadKey; external advapi32 name 'RegLoadKeyA';
{$ENDIF DYNAMIC_LINK}
{$ENDIF}

type
  TRegNotifyChangeKeyValue = function (hKey: HKEY; bWatchSubtree: LongBool; dwNotifyFilter: DWORD; hEvent: HANDLE; fAsynchronus: LongBool): LONG; stdcall;

var
  _RegNotifyChangeKeyValue: Pointer;

function RegNotifyChangeKeyValue(hKey: HKEY; bWatchSubtree: LongBool; dwNotifyFilter: DWORD; hEvent: HANDLE; fAsynchronus: LongBool): LONG;
begin
  GetProcedureAddress(_RegNotifyChangeKeyValue, advapi32, 'RegNotifyChangeKeyValue');
  if bWatchSubTree then
    Result := TRegNotifyChangeKeyValue(_RegNotifyChangeKeyValue)(hKey, LongBool(1), dwNotifyFilter, hEvent, fAsynchronus)
  else
    Result := TRegNotifyChangeKeyValue(_RegNotifyChangeKeyValue)(hKey, LongBool(0), dwNotifyFilter, hEvent, fAsynchronus);
end;

{$IFDEF DYNAMIC_LINK}
var
  _RegOpenKeyA: Pointer;

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

{$IFDEF DYNAMIC_LINK}
var
  _RegOpenKeyW: Pointer;

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

{$IFDEF DYNAMIC_LINK}
var
  _RegOpenKey: Pointer;

function RegOpenKey;
begin
  GetProcedureAddress(_RegOpenKey, advapi32, 'RegOpenKeyW');
  asm
    mov esp, ebp
    pop ebp
    jmp [_RegOpenKey]
  end;
end;
{$ELSE}
function RegOpenKey; external advapi32 name 'RegOpenKeyW';
{$ENDIF DYNAMIC_LINK}
{$ELSE}

{$IFDEF DYNAMIC_LINK}
var
  _RegOpenKey: Pointer;

function RegOpenKey;
begin
  GetProcedureAddress(_RegOpenKey, advapi32, 'RegOpenKeyA');
  asm
    mov esp, ebp
    pop ebp
    jmp [_RegOpenKey]
  end;
end;
{$ELSE}
function RegOpenKey; external advapi32 name 'RegOpenKeyA';
{$ENDIF DYNAMIC_LINK}
{$ENDIF}

{$IFDEF DYNAMIC_LINK}
var

⌨️ 快捷键说明

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