Re: ProgramFiles, UAC, права Администратора...
Добавлено: 10.03.2012 21:07:11
Вот код запуска с правами админа
выше приведено как запускается инсталяция
а потом, рабочую программу (из инсталятора) перезапускаю вот так:
Но она опять перезапускается с правами Админа...
Вопрос: Как перезапустить программу - без прав Администратора???
.
- Код: Выделить всё
function TSetupForm.RunAsAdmin(hWnd : HWND; aFile : String; aParameters : String):bool;
Var
Sei : TShellExecuteInfoA;
begin
// Fillchar(sei,SizeOf(sei),0); - это я забанил, а то она работала но ругалась (по правилам должно быть без)
sei.cbSize := SizeOf(sei);
sei.Wnd := hWnd;
sei.fMask := SEE_MASK_FLAG_DDEWAIT or SEE_MASK_FLAG_NO_UI;
sei.lpfile := PChar(aFile);
sei.lpVerb := 'runas';
sei.lpParameters := PChar(aParameters);
sei.nShow := SW_SHOW;
Result := ShellExecuteExA(@sei);
end;
выше приведено как запускается инсталяция
а потом, рабочую программу (из инсталятора) перезапускаю вот так:
- Код: Выделить всё
if CheckBox3.Checked then
begin
ShellExecute(0, 'Open', PChar(FFileNew), nil, nil, sw_hide);
Close;
end;
Но она опять перезапускается с правами Админа...
Вопрос: Как перезапустить программу - без прав Администратора???
.