📄 winreg.pas
字号:
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 + -