Windows Vista/7 - Nachträglich Admin.-Rechte anfordern ?

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: Windows Vista/7 - Nachträglich Admin.-Rechte anfordern ?

Beitrag von ts-soft »

Ohne UAC keine Admin-Rechte. Der einfachste Weg ist also ein zweites Programm
oder sich selbst mit RunAs aufrufen. Exe aus dem RAM würde ich in jedem Falle von
abraten, weil erstens funktioniert das meist nicht, zweitens wird die exe aus dem
RAM wohl auch keine AdminRechte bekommen, drittens machen sowas nur böse
Buben :mrgreen: , sollte also von jedem Virusprogramm verhindert werden.

Ob es noch andere Wege gibts, weiß ich nicht, wozu auch.

Gruß
Thomas
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
dige
Beiträge: 1239
Registriert: 08.09.2004 08:53

Re: Windows Vista/7 - Nachträglich Admin.-Rechte anfordern ?

Beitrag von dige »

UAC war das richtige Stichwort :-) Danke TS!

Wenn man also nachträglich Admin-Rechte benötigt
kann man das laufende Programm über folgende Proc
erneut starten und dann selbst beenden:

Code: Alles auswählen

; http://www.purebasic.fr/english/viewtopic.php?f=12&t=38291
Procedure Elevated_Cmd(app_dir.s, app_name.s)
  AppVerb$ = "runas"
  AppName$ = app_name
  AppDir$ = app_dir
  
  shExecInfo.SHELLEXECUTEINFO
  shExecInfo\cbSize=SizeOf(SHELLEXECUTEINFO)
  shExecInfo\fMask=#Null
  shExecInfo\hwnd=#Null
  shExecInfo\lpVerb=@AppVerb$
  shExecInfo\lpFile=@AppName$
  shExecInfo\lpDirectory=@AppDir$
  shExecInfo\nShow=#SW_NORMAL
  
  exe.i = ShellExecuteEx_(shExecInfo)
  
EndProcedure
"Papa, ich laufe schneller - dann ist es nicht so weit."
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: Windows Vista/7 - Nachträglich Admin.-Rechte anfordern ?

Beitrag von ts-soft »

Wenn das ganze dann noch für was Kommerzielles ist, wird das auch nicht genügen,
dann sollte man das Programm noch Digital Signieren (Signatur ca. 400$ per Anno),
dann kommt ein "anderes UAC" Fenster, dem dann evtl. auch in Firmen getraut wird :mrgreen:

Am besten sowas einem gutem Installer überlassen, im eigenem Programm braucht man sowas
normallerweise nicht.

Gruß
Thomas
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
dige
Beiträge: 1239
Registriert: 08.09.2004 08:53

Re: Windows Vista/7 - Nachträglich Admin.-Rechte anfordern ?

Beitrag von dige »

Mir fällt da gleich eine Update-Funktion ein, die Admin-Rechte
benötigt, um im Programm-Verzeichnis Daten ändern zu können...
"Papa, ich laufe schneller - dann ist es nicht so weit."
Antworten