Uruchomienie programu jako administartor

0

Witam. Potrzebuję w swoim programie praw administratora szukałem w necie znalazłem manifesty próbowałem już kilka innych sposobów z tymi manifestami i żaden mi nie działa. próbowałem też to zrobić jakimiś funkcjami co znalazłem też nic nie zdziałałem potrzebne mi te prawa do IdIcmpClient bo za pomocą tego komponentu sprawdzam połączenie z siecią a bez uprawień nie działa chodzi mi głównie o Windows 7 dzięki

0

Być może pomocny okaże się artykuł: Zrozumieć UAC - jest tam przedstawiony manifest, po dodaniu którego wymagany jest poziom uprawnień administratora;

Zainteresuj się tym:

Aplikacje tylko dla administratorów mogą być uruchamiane od razu z żądaniem podniesienia uprawnień napisał(a)

To tyczy się np. programów administracyjnych (do zarządzania serwerem) czy programów instalacyjnych. Programy tego typu zostaną oznaczone specjalną ikoną, a dialog UAC pojawi się przy próbie ich uruchomienia.

Uwaga: Windows Vista domyślnie wielu programom instalacyjnym (opierając się na ich nazwie, np. install.exe czy setup.exe) przypisuje takie możliwości.

1

Żeby program przy uruchomieniu domagał się uprawnień administratora, do zasobów programu (24/1/1045) trzeba dodać manifest z poniższym "ciałem":

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
  <assemblyIdentity
     name="NazwaProgramu.exe"
     processorArchitecture="*"
     version="3.1.0.0"
     type="win32"/>
<description>Moja Aplikacja</description>
  <dependency>
    <dependentAssembly>
      <assemblyIdentity
         type="win32"
         name="Microsoft.Windows.Common-Controls"
         version="6.0.0.0"
         processorArchitecture="*"
         publicKeyToken="6595b64144ccf1df"
         language="*"/>
    </dependentAssembly>
  </dependency>
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
    <security>
      <requestedPrivileges>
        <requestedExecutionLevel level="requireAdministrator" uiAccess="false"/>
      </requestedPrivileges>
    </security>
  </trustInfo>
  <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
    <application>
      <supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>
      <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
    </application>
  </compatibility>
0

Jeżeli używa się Lazarusa to w opcjach projektu jest po prostu coś takiego jak "Execution Level" gdzie można wybrać "RequireAdministrator". No, ale jak ja to mówię, niektórzy są zbyt zamknięci żeby zmienić środowisko ;) .

0

W nowszych Delphi także nie trzeba ręcznie dodawać pliku do zasobów ale trzeba go sobie wcześniej przygotować a później Project -> Options -> Application -> Runtime Themes - > Use custom manifest i wybrać plik *.manifest

1 użytkowników online, w tym zalogowanych: 0, gości: 1