Цитата El Sanchez:
SID или имя залогиненного пользователя можете узнать так:
|
Код:

#define A = (Defined UNICODE) ? "W" : "A"
const
WTS_CURRENT_SERVER_HANDLE = 0;
WTS_CURRENT_SESSION = (-1);
WTSUserName = 5;
function WTSQuerySessionInformation(hServer: THandle; SessionId, WTSInfoClass: DWORD; var ppBuffer: Longint; var pBytesReturned: DWORD): BOOL; external 'WTSQuerySessionInformation{#A}@wtsapi32.dll stdcall';
procedure WTSFreeMemory(pMemory: Longint); external 'WTSFreeMemory@wtsapi32.dll stdcall';
///////////////////////////////////////////////////////
function GetLoggedOnUser(const IsSID: Boolean): String;
var
i: Integer;
aNames: TArrayOfString;
dwLength: DWORD;
lpBuffer: Longint;
begin
if not RegGetSubkeyNames(HKLM, 'SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList', aNames) then Exit;
try
if not WTSQuerySessionInformation(WTS_CURRENT_SERVER_HANDLE, WTS_CURRENT_SESSION, WTSUserName, lpBuffer, dwLength) then Exit;
Result := CastIntegerToString(lpBuffer);
if IsSID then for i := 0 to GetArrayLength(aNames)-1 do if Pos(Lowercase(Result), LowerCase(ExpandConstant(Format('{reg:HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\%s,ProfileImagePath|}', [aNames[i]])))) > 0 then
begin
Result := aNames[i];
Break;
end;
finally
WTSFreeMemory(lpBuffer);
end;
end;
/////////////////////////////
procedure InitializeWizard();
begin
MsgBox(GetLoggedOnUser(False), mbInformation, MB_OK);
MsgBox(GetLoggedOnUser(True), mbInformation, MB_OK);
end;
Как с помощью этого кода занести ключ регистрации в HKEY_USERS\S-1-5-21-2866158627-181887668-3254620381-500\Software\TotalImageConverter...????
Код:

Root: HKU; SubKey: S-1-5-21-2866158627-181887668-3254620381-500\Software\TotalImageConverter; ValueType: string; ValueName: Key; ValueData: 0r/1GkAO/GMNgF5gip+qjw0OmwHwWCAw73h0I2eO/k6wRVs8HEWGdKK2BOVGxJvFmY3aD6pFMBveZb87Jht+hNWdqXcyekWPDvm3RstdisI6BSJy0UW8wtKQa217TKPbReCRXL38Z5YD9gyu0B68h2dV9yPzo; Flags: uninsdeletevalue uninsdeletekeyifempty
Где "S-1-5-21-2866158627-181887668-3254620381-500" SID пользователя. Или подскажите другие способы решения этой задачи.....
Не работает, наверное из-за того что использую скин (XPOSX7.cjstyles). Как исправить?