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

📄 winreg.pas

📁 详细Windows API大全有关知识以及相关问题
💻 PAS
📖 第 1 页 / 共 3 页
字号:
function RegSetValueEx(hKey: HKEY; lpValueName: LPCWSTR; Reserved: DWORD;
  dwType: DWORD; lpData: LPBYTE; cbData: DWORD): LONG; stdcall;
{$EXTERNALSYM RegSetValueEx}
{$ELSE}
function RegSetValueEx(hKey: HKEY; lpValueName: LPCSTR; Reserved: DWORD;
  dwType: DWORD; lpData: LPBYTE; cbData: DWORD): LONG; stdcall;
{$EXTERNALSYM RegSetValueEx}
{$ENDIF}

function RegUnLoadKeyA(hKey: HKEY; lpSubKey: LPCSTR): LONG; stdcall;
{$EXTERNALSYM RegUnLoadKeyA}
function RegUnLoadKeyW(hKey: HKEY; lpSubKey: LPCWSTR): LONG; stdcall;
{$EXTERNALSYM RegUnLoadKeyW}

{$IFDEF UNICODE}
function RegUnLoadKey(hKey: HKEY; lpSubKey: LPCWSTR): LONG; stdcall;
{$EXTERNALSYM RegUnLoadKey}
{$ELSE}
function RegUnLoadKey(hKey: HKEY; lpSubKey: LPCSTR): LONG; stdcall;
{$EXTERNALSYM RegUnLoadKey}
{$ENDIF}

//
// Remoteable System Shutdown APIs
//

function InitiateSystemShutdownA(lpMachineName: LPSTR; lpMessage: LPSTR;
  dwTimeout: DWORD; bForceAppsClosed, bRebootAfterShutdown: BOOL): BOOL; stdcall;
{$EXTERNALSYM InitiateSystemShutdownA}
function InitiateSystemShutdownW(lpMachineName: LPWSTR; lpMessage: LPWSTR;
  dwTimeout: DWORD; bForceAppsClosed, bRebootAfterShutdown: BOOL): BOOL; stdcall;
{$EXTERNALSYM InitiateSystemShutdownW}

{$IFDEF UNICODE}
function InitiateSystemShutdown(lpMachineName: LPWSTR; lpMessage: LPWSTR;
  dwTimeout: DWORD; bForceAppsClosed, bRebootAfterShutdown: BOOL): BOOL; stdcall;
{$EXTERNALSYM InitiateSystemShutdown}
{$ELSE}
function InitiateSystemShutdown(lpMachineName: LPSTR; lpMessage: LPSTR;
  dwTimeout: DWORD; bForceAppsClosed, bRebootAfterShutdown: BOOL): BOOL; stdcall;
{$EXTERNALSYM InitiateSystemShutdown}
{$ENDIF}

function AbortSystemShutdownA(lpMachineName: LPSTR): BOOL; stdcall;
{$EXTERNALSYM AbortSystemShutdownA}
function AbortSystemShutdownW(lpMachineName: LPWSTR): BOOL; stdcall;
{$EXTERNALSYM AbortSystemShutdownW}

{$IFDEF UNICODE}
function AbortSystemShutdown(lpMachineName: LPWSTR): BOOL; stdcall;
{$EXTERNALSYM AbortSystemShutdown}
{$ELSE}
function AbortSystemShutdown(lpMachineName: LPSTR): BOOL; stdcall;
{$EXTERNALSYM AbortSystemShutdown}
{$ENDIF}

//
// defines for InitiateSystemShutdownEx reason codes
//

const
  REASON_SWINSTALL    = 0;
  {$EXTERNALSYM REASON_SWINSTALL}
  REASON_HWINSTALL    = 1;
  {$EXTERNALSYM REASON_HWINSTALL}
  REASON_SERVICEHANG  = 2;
  {$EXTERNALSYM REASON_SERVICEHANG}
  REASON_UNSTABLE     = 3;
  {$EXTERNALSYM REASON_UNSTABLE}
  REASON_SWHWRECONF   = 4;
  {$EXTERNALSYM REASON_SWHWRECONF}
  REASON_OTHER        = 5;
  {$EXTERNALSYM REASON_OTHER}
  REASON_UNKNOWN      = 255;
  {$EXTERNALSYM REASON_UNKNOWN}
  REASON_PLANNED_FLAG = DWORD($80000000);
  {$EXTERNALSYM REASON_PLANNED_FLAG}

function InitiateSystemShutdownExA(lpMachineName: LPSTR; lpMessage: LPSTR;
  dwTimeout: DWORD; bForceAppsClosed, bRebootAfterShutdown: BOOL; dwReason: DWORD): BOOL; stdcall;
{$EXTERNALSYM InitiateSystemShutdownExA}
function InitiateSystemShutdownExW(lpMachineName: LPWSTR; lpMessage: LPWSTR;
  dwTimeout: DWORD; bForceAppsClosed, bRebootAfterShutdown: BOOL; dwReason: DWORD): BOOL; stdcall;
{$EXTERNALSYM InitiateSystemShutdownExW}

{$IFDEF UNICODE}
function InitiateSystemShutdownEx(lpMachineName: LPWSTR; lpMessage: LPWSTR;
  dwTimeout: DWORD; bForceAppsClosed, bRebootAfterShutdown: BOOL; dwReason: DWORD): BOOL; stdcall;
{$EXTERNALSYM InitiateSystemShutdownEx}
{$ELSE}
function InitiateSystemShutdownEx(lpMachineName: LPSTR; lpMessage: LPSTR;
  dwTimeout: DWORD; bForceAppsClosed, bRebootAfterShutdown: BOOL; dwReason: DWORD): BOOL; stdcall;
{$EXTERNALSYM InitiateSystemShutdownEx}
{$ENDIF}

implementation

const
  advapi32 = 'advapi32.dll';

function RegCloseKey; external advapi32 name 'RegCloseKey';
function RegOverridePredefKey; external advapi32 name 'RegOverridePredefKey';
function RegOpenUserClassesRoot; external advapi32 name 'RegOpenUserClassesRoot';
function RegOpenCurrentUser; external advapi32 name 'RegOpenCurrentUser';
function RegDisablePredefinedCache; external advapi32 name 'RegDisablePredefinedCache';
function RegConnectRegistryA; external advapi32 name 'RegConnectRegistryA';
function RegConnectRegistryW; external advapi32 name 'RegConnectRegistryW';
{$IFDEF UNICODE}
function RegConnectRegistry; external advapi32 name 'RegConnectRegistryW';
{$ELSE}
function RegConnectRegistry; external advapi32 name 'RegConnectRegistryA';
{$ENDIF}
function RegCreateKeyA; external advapi32 name 'RegCreateKeyA';
function RegCreateKeyW; external advapi32 name 'RegCreateKeyW';
{$IFDEF UNICODE}
function RegCreateKey; external advapi32 name 'RegCreateKeyW';
{$ELSE}
function RegCreateKey; external advapi32 name 'RegCreateKeyA';
{$ENDIF}
function RegCreateKeyExA; external advapi32 name 'RegCreateKeyExA';
function RegCreateKeyExW; external advapi32 name 'RegCreateKeyExW';
{$IFDEF UNICODE}
function RegCreateKeyEx; external advapi32 name 'RegCreateKeyExW';
{$ELSE}
function RegCreateKeyEx; external advapi32 name 'RegCreateKeyExA';
{$ENDIF}
function RegDeleteKeyA; external advapi32 name 'RegDeleteKeyA';
function RegDeleteKeyW; external advapi32 name 'RegDeleteKeyW';
{$IFDEF UNICODE}
function RegDeleteKey; external advapi32 name 'RegDeleteKeyW';
{$ELSE}
function RegDeleteKey; external advapi32 name 'RegDeleteKeyA';
{$ENDIF}
function RegDeleteValueA; external advapi32 name 'RegDeleteValueA';
function RegDeleteValueW; external advapi32 name 'RegDeleteValueW';
{$IFDEF UNICODE}
function RegDeleteValue; external advapi32 name 'RegDeleteValueW';
{$ELSE}
function RegDeleteValue; external advapi32 name 'RegDeleteValueA';
{$ENDIF}
function RegEnumKeyA; external advapi32 name 'RegEnumKeyA';
function RegEnumKeyW; external advapi32 name 'RegEnumKeyW';
{$IFDEF UNICODE}
function RegEnumKey; external advapi32 name 'RegEnumKeyW';
{$ELSE}
function RegEnumKey; external advapi32 name 'RegEnumKeyA';
{$ENDIF}
function RegEnumKeyExA; external advapi32 name 'RegEnumKeyExA';
function RegEnumKeyExW; external advapi32 name 'RegEnumKeyExW';
{$IFDEF UNICODE}
function RegEnumKeyEx; external advapi32 name 'RegEnumKeyExW';
{$ELSE}
function RegEnumKeyEx; external advapi32 name 'RegEnumKeyExA';
{$ENDIF}
function RegEnumValueA; external advapi32 name 'RegEnumValueA';
function RegEnumValueW; external advapi32 name 'RegEnumValueW';
{$IFDEF UNICODE}
function RegEnumValue; external advapi32 name 'RegEnumValueW';
{$ELSE}
function RegEnumValue; external advapi32 name 'RegEnumValueA';
{$ENDIF}
function RegFlushKey; external advapi32 name 'RegFlushKey';
function RegGetKeySecurity; external advapi32 name 'RegGetKeySecurity';
function RegLoadKeyA; external advapi32 name 'RegLoadKeyA';
function RegLoadKeyW; external advapi32 name 'RegLoadKeyW';
{$IFDEF UNICODE}
function RegLoadKey; external advapi32 name 'RegLoadKeyW';
{$ELSE}
function RegLoadKey; external advapi32 name 'RegLoadKeyA';
{$ENDIF}
function RegNotifyChangeKeyValue; external advapi32 name 'RegNotifyChangeKeyValue';
function RegOpenKeyA; external advapi32 name 'RegOpenKeyA';
function RegOpenKeyW; external advapi32 name 'RegOpenKeyW';
{$IFDEF UNICODE}
function RegOpenKey; external advapi32 name 'RegOpenKeyW';
{$ELSE}
function RegOpenKey; external advapi32 name 'RegOpenKeyA';
{$ENDIF}
function RegOpenKeyExA; external advapi32 name 'RegOpenKeyExA';
function RegOpenKeyExW; external advapi32 name 'RegOpenKeyExW';
{$IFDEF UNICODE}
function RegOpenKeyEx; external advapi32 name 'RegOpenKeyExW';
{$ELSE}
function RegOpenKeyEx; external advapi32 name 'RegOpenKeyExA';
{$ENDIF}
function RegQueryInfoKeyA; external advapi32 name 'RegQueryInfoKeyA';
function RegQueryInfoKeyW; external advapi32 name 'RegQueryInfoKeyW';
{$IFDEF UNICODE}
function RegQueryInfoKey; external advapi32 name 'RegQueryInfoKeyW';
{$ELSE}
function RegQueryInfoKey; external advapi32 name 'RegQueryInfoKeyA';
{$ENDIF}
function RegQueryValueA; external advapi32 name 'RegQueryValueA';
function RegQueryValueW; external advapi32 name 'RegQueryValueW';
{$IFDEF UNICODE}
function RegQueryValue; external advapi32 name 'RegQueryValueW';
{$ELSE}
function RegQueryValue; external advapi32 name 'RegQueryValueA';
{$ENDIF}
function RegQueryMultipleValuesA; external advapi32 name 'RegQueryMultipleValuesA';
function RegQueryMultipleValuesW; external advapi32 name 'RegQueryMultipleValuesW';
{$IFDEF UNICODE}
function RegQueryMultipleValues; external advapi32 name 'RegQueryMultipleValuesW';
{$ELSE}
function RegQueryMultipleValues; external advapi32 name 'RegQueryMultipleValuesA';
{$ENDIF}
function RegQueryValueExA; external advapi32 name 'RegQueryValueExA';
function RegQueryValueExW; external advapi32 name 'RegQueryValueExW';
{$IFDEF UNICODE}
function RegQueryValueEx; external advapi32 name 'RegQueryValueExW';
{$ELSE}
function RegQueryValueEx; external advapi32 name 'RegQueryValueExA';
{$ENDIF}
function RegReplaceKeyA; external advapi32 name 'RegReplaceKeyA';
function RegReplaceKeyW; external advapi32 name 'RegReplaceKeyW';
{$IFDEF UNICODE}
function RegReplaceKey; external advapi32 name 'RegReplaceKeyW';
{$ELSE}
function RegReplaceKey; external advapi32 name 'RegReplaceKeyA';
{$ENDIF}
function RegRestoreKeyA; external advapi32 name 'RegRestoreKeyA';
function RegRestoreKeyW; external advapi32 name 'RegRestoreKeyW';
{$IFDEF UNICODE}
function RegRestoreKey; external advapi32 name 'RegRestoreKeyW';
{$ELSE}
function RegRestoreKey; external advapi32 name 'RegRestoreKeyA';
{$ENDIF}
function RegSaveKeyA; external advapi32 name 'RegSaveKeyA';
function RegSaveKeyW; external advapi32 name 'RegSaveKeyW';
{$IFDEF UNICODE}
function RegSaveKey; external advapi32 name 'RegSaveKeyW';
{$ELSE}
function RegSaveKey; external advapi32 name 'RegSaveKeyA';
{$ENDIF}
function RegSetKeySecurity; external advapi32 name 'RegSetKeySecurity';
function RegSetValueA; external advapi32 name 'RegSetValueA';
function RegSetValueW; external advapi32 name 'RegSetValueW';
{$IFDEF UNICODE}
function RegSetValue; external advapi32 name 'RegSetValueW';
{$ELSE}
function RegSetValue; external advapi32 name 'RegSetValueA';
{$ENDIF}
function RegSetValueExA; external advapi32 name 'RegSetValueExA';
function RegSetValueExW; external advapi32 name 'RegSetValueExW';
{$IFDEF UNICODE}
function RegSetValueEx; external advapi32 name 'RegSetValueExW';
{$ELSE}
function RegSetValueEx; external advapi32 name 'RegSetValueExA';
{$ENDIF}
function RegUnLoadKeyA; external advapi32 name 'RegUnLoadKeyA';
function RegUnLoadKeyW; external advapi32 name 'RegUnLoadKeyW';
{$IFDEF UNICODE}
function RegUnLoadKey; external advapi32 name 'RegUnLoadKeyW';
{$ELSE}
function RegUnLoadKey; external advapi32 name 'RegUnLoadKeyA';
{$ENDIF}
function InitiateSystemShutdownA; external advapi32 name 'InitiateSystemShutdownA';
function InitiateSystemShutdownW; external advapi32 name 'InitiateSystemShutdownW';
{$IFDEF UNICODE}
function InitiateSystemShutdown; external advapi32 name 'InitiateSystemShutdownW';
{$ELSE}
function InitiateSystemShutdown; external advapi32 name 'InitiateSystemShutdownA';
{$ENDIF}
function AbortSystemShutdownA; external advapi32 name 'AbortSystemShutdownA';
function AbortSystemShutdownW; external advapi32 name 'AbortSystemShutdownW';
{$IFDEF UNICODE}
function AbortSystemShutdown; external advapi32 name 'AbortSystemShutdownW';
{$ELSE}
function AbortSystemShutdown; external advapi32 name 'AbortSystemShutdownA';
{$ENDIF}
function InitiateSystemShutdownExA; external advapi32 name 'InitiateSystemShutdownExA';
function InitiateSystemShutdownExW; external advapi32 name 'InitiateSystemShutdownExW';
{$IFDEF UNICODE}
function InitiateSystemShutdownEx; external advapi32 name 'InitiateSystemShutdownExW';
{$ELSE}
function InitiateSystemShutdownEx; external advapi32 name 'InitiateSystemShutdownExA';
{$ENDIF}

end.

⌨️ 快捷键说明

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