Daftar kueri akun Windows di Inno Setup
Dec 11 2020
Dalam proyek Pengaturan Inno saya, saya perlu mengizinkan pengguna untuk memilih akun dari daftar semua akun lokal di halaman kustom. Akun yang dipilih akan digunakan untuk menginstal layanan dengan kredensial khusus. Bagaimana saya bisa membuat ini?
Terima kasih sebelumnya!
Jawaban
1 MartinPrikryl Dec 11 2020 at 20:03
Anda dapat menggunakan kelas WMIWin32_UserAccount untuk menanyakan daftar akun.
[Run]
Filename: sc.exe; Parameters: ... {code:GetAccount}
[Code]
var
AccountPage: TInputOptionWizardPage;
procedure InitializeWizard();
var
WMIService: Variant;
WbemLocator: Variant;
WbemObjectSet: Variant;
I: Integer;
begin
Log('InitializeWizard');
AccountPage := CreateInputOptionPage(
wpSelectTasks, 'Service account', '', 'Please select account for the service:',
True, True);
WbemLocator := CreateOleObject('WbemScripting.SWbemLocator');
WMIService := WbemLocator.ConnectServer('localhost', 'root\CIMV2');
WbemObjectSet :=
WMIService.ExecQuery('SELECT * FROM Win32_UserAccount');
if not VarIsNull(WbemObjectSet) then
begin
for I := 0 to WbemObjectSet.Count - 1 do
begin
AccountPage.Add(WbemObjectSet.ItemIndex(I).Caption);
end;
AccountPage.SelectedValueIndex := 0;
end;
end;
function GetAccount(Param: string): string;
var
I: Integer;
begin
for I := 0 to AccountPage.CheckListBox.Items.Count - 1 do
begin
if AccountPage.Values[I] then Result := AccountPage.CheckListBox.Items[I];
end;
end;

Pertanyaan-pertanyaan Terkait:
- Inno Setup Membuat pintasan individual di semua desktop dari semua pengguna
- Inno Setup untuk membuat pengguna di Windows
Selalu Menjadi Ancaman: Mengapa Orang Berkulit Coklat dan Hitam Tidak Bisa Nyaman di Amerika Serikat
Jana Duggar: Semua yang Dia Katakan Tentang Cinta dan Jendela 5 Tahunnya untuk Menemukan 'Yang Satu'