AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi ShellExecute einer Anwendung die Admin Rechte benötigt minimiert den UAC Request

ShellExecute einer Anwendung die Admin Rechte benötigt minimiert den UAC Request

Ein Thema von Shark99 · begonnen am 6. Jul 2016 · letzter Beitrag vom 6. Jul 2016
Antwort Antwort
Seite 1 von 2  1 2   
Shark99

Registriert seit: 16. Mai 2007
403 Beiträge
 
#1

ShellExecute einer Anwendung die Admin Rechte benötigt minimiert den UAC Request

  Alt 6. Jul 2016, 15:37
Wenn ich eine Anwendung starte die Admin Rechte braucht kommt in die Mitte des Bildschirms der übliche UAC Dialog wo ich meine Zustimmung geben muss.

Wenn ich die gleiche Anwendung in einer Delphi App mit ShellExecute() ausführe kommt dieser UAC Dialog nicht in die Bildschirmmitte.
Statt dessen wird er minimiert angezeigt, d.h. der Benutzer muss auf die Taskleiste klicken.

Kann man das irgendwie verhindern damit der Dialog in die Mitte des Bildschirms kommt?
Miniaturansicht angehängter Grafiken
uac_minimized.png  
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
5.888 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: ShellExecute einer Anwendung die Admin Rechte benötigt minimiert den UAC Request

  Alt 6. Jul 2016, 16:07
Was gibst du für den ersten Parameter (das HWND) bei ShellExecute an?
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#3

AW: ShellExecute einer Anwendung die Admin Rechte benötigt minimiert den UAC Request

  Alt 6. Jul 2016, 16:18
SW_SHOWNORMAL

gruss
  Mit Zitat antworten Zitat
Shark99

Registriert seit: 16. Mai 2007
403 Beiträge
 
#4

AW: ShellExecute einer Anwendung die Admin Rechte benötigt minimiert den UAC Request

  Alt 6. Jul 2016, 16:45
Was gibst du für den ersten Parameter (das HWND) bei ShellExecute an?
MainForm.Handle

Application.Handle bringt keinen Unterschied.

Geändert von Shark99 ( 6. Jul 2016 um 16:48 Uhr)
  Mit Zitat antworten Zitat
Shark99

Registriert seit: 16. Mai 2007
403 Beiträge
 
#5

AW: ShellExecute einer Anwendung die Admin Rechte benötigt minimiert den UAC Request

  Alt 6. Jul 2016, 16:49
SW_SHOWNORMAL

gruss
War natürlich drin. Funktioniert aber nur bei Anwendungen die keine Admin-Rechte benötigen.
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
5.888 Beiträge
 
Delphi 10 Seattle Enterprise
 
#6

AW: ShellExecute einer Anwendung die Admin Rechte benötigt minimiert den UAC Request

  Alt 6. Jul 2016, 16:55
Application.Handle bringt keinen Unterschied.
Sicher? Also das hier
Delphi-Quellcode:
ShellExecute(
   Application.Handle,
   'runas',
   'notepad',
   nil,
   nil,
   SW_SHOWNORMAL
);
macht genau was du schilderst: Der UAC-Dialog ist minimiert und blinkt. Sage ich statt Application.Handle nun Application.MainForm.Handle kommt direkt der UAC-Dialog und überdeckt alles.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
39.424 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: ShellExecute einer Anwendung die Admin Rechte benötigt minimiert den UAC Request

  Alt 6. Jul 2016, 17:27
Und was ist wohl der Grund dafür?

Application (die MessageOnly-Form) ist unsichtbar und die MainForm ist sichtbar.
http://www.delphipraxis.net/104557-m...ml#post1341860 (die #13)

Man kann hier auch Application.MainFormHandle oder Screen.AcriveForm.Handle oder besser Self.Handle (wenn man das aus einer Methode einer Form aufruft) verwenden.


PS: "Früher" war Application halbsichtbar, denn früher war der Eintrag in der Taskleiste das Application und nun ist es die MainForm (sonst zeigt Aero-Peak nur das leere Message-Fenster der Application)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
Delphi-Tage 2005-2014

Geändert von himitsu ( 6. Jul 2016 um 17:32 Uhr)
  Mit Zitat antworten Zitat
Shark99

Registriert seit: 16. Mai 2007
403 Beiträge
 
#8

AW: ShellExecute einer Anwendung die Admin Rechte benötigt minimiert den UAC Request

  Alt 6. Jul 2016, 17:46
Da meine App im Tray Icon läuft (also Form versteckt ist), würde es die Sache erklären.
  Mit Zitat antworten Zitat
Shark99

Registriert seit: 16. Mai 2007
403 Beiträge
 
#9

AW: ShellExecute einer Anwendung die Admin Rechte benötigt minimiert den UAC Request

  Alt 6. Jul 2016, 18:00
Die Frage ist wie ich das Problem umgehe wenn mein Fenster versteckt ist.

Screen.AcriveForm ist nil.

Ich kam noch auf die Idee GetDesktopForm() als Handle zu nehmen, aber dann ist es immer noch minimiert.

Hat jemand eine andere Idee?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
39.424 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: ShellExecute einer Anwendung die Admin Rechte benötigt minimiert den UAC Request

  Alt 6. Jul 2016, 18:01
Ohne Handle probiert?

Oder im Notfall einfach ein winziges Fenster (1 Pixel, ohne Rahmen und Taskleisteneintrag) erstellen und in den Vordergrund bringen (aktiv machen), bzw. ein Fenster außerhalb des sichtbaren Bereichs.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
Delphi-Tage 2005-2014
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:47 Uhr.
Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf