Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Новый участник


Сообщения: 4
Благодарности: 0

Профиль | Отправить PM | Цитировать


Так нашел MSDN - Redesign for UAC Compatibility (UAC)
Написал функцию
Код: Выделить весь код
function RunAsAdmin(HWND: hWnd; lpFile,lpParameters: String): Boolean;
var
 sei: SHELLEXECUTEINFO;
begin
  try
    ZeroMemory ( @sei, SizeOf(sei) );

    sei.cbSize := SizeOf(SHELLEXECUTEINFOW);
    sei.Wnd := hWnd;
    sei.fMask := SEE_MASK_FLAG_DDEWAIT or SEE_MASK_FLAG_NO_UI;
    sei.lpVerb := 'runas';
    sei.lpFile := PWideChar(lpFile);
    sei.lpParameters := PWideChar(lpParameters);
    sei.nShow := SW_SHOWNORMAL;

    if ( not ShellExecuteEx ( @sei ) ) then begin
      //ShowMessage( 'Error: ShellExecuteEx failed ' + IntToStr(GetLastError) );
      Result := False;
      Exit;
    end;
    Result := True;
  except
    else Result := False;
  end;
end;

//пример использования
RunAsAdmin(Forms.Application.Handle, IncludeTrailingPathDelimiter(ParamStr(0)),'/INSTALL');
Теперь нужно скрыть появляющееся при удачной или не удачной установки службы сообщение - как это сделать, кто-нибудь знает?

Последний раз редактировалось K1L0z, 12-05-2011 в 12:30. Причина: добавлен пример использования функции


Отправлено: 12:27, 12-05-2011 | #5