AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

RunAs unter Win7 (ohne UAC)

Ein Thema von Dalai · begonnen am 15. Mär 2012 · letzter Beitrag vom 17. Mär 2012
Antwort Antwort
Seite 2 von 2     12
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.340 Beiträge
 
Delphi 12 Athens
 
#1

AW: RunAs unter Win7 (ohne UAC)

  Alt 17. Mär 2012, 01:57
Dieser Passwortdialog ist halt ein interner Teil des UAC, welcher sich von extern scheinbar nicht ansprechen läßt, vorallem dann nicht, wenn das UAC nicht läuft.

Ich glaube ich hatte vor sehr vielen Jahren auch mal hier nach sowas gefragt.

Der eigene Dialog ist ja nicht das Problem, aber diesen dann auch noch in einer sicheren Umgebung (eigener Desktop) anzuzeigen, so wie es das UAC macht, damit kein Programm da so einfach automatisch die Anmeldedaten eintragen kann.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (17. Mär 2012 um 01:59 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.683 Beiträge
 
Delphi 5 Professional
 
#2

AW: RunAs unter Win7 (ohne UAC)

  Alt 17. Mär 2012, 20:53
Dieser Passwortdialog ist halt ein interner Teil des UAC, welcher sich von extern scheinbar nicht ansprechen läßt, vorallem dann nicht, wenn das UAC nicht läuft.
Nein, er ist kein Teil der UAC. Das Ding lässt sich auch aufrufen, wenn die UAC komplett abgeschaltet ist. Teste es selbst, indem du - bei ausgeschalteter UAC - Shift+Rechtsklick auf eine Verknüpfung (oder eine EXE) auf deinem System machst und "Als anderer Benutzer ausführen" wählst. Eben deswegen bin ich ja so daran interessiert, den Dialog zu nutzen.

Ich habe mich vorerst für die o.g. Variante 3 entschieden, das Handle also via Parameter an die andere Instanz zu übergeben. Das hat den Vorteil, dass ich nicht mit beiden Instanzen dieselbe Message registriere (Variante 2), ich kein Fenster suchen muss (Variante 1; IMO potentiell fehlerträchtig) und nicht alle anderen Fenster mit einem Broadcast nerve (Variante 2).

MfG Dalai
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.919 Beiträge
 
Delphi 12 Athens
 
#3

AW: RunAs unter Win7 (ohne UAC)

  Alt 17. Mär 2012, 22:29
Als weitere Möglichkeit blieben noch andere Möglichkeiten der Interprozesskommunikation wie z.B. Semaphore, siehe Anhang.
Angehängte Dateien
Dateityp: 7z Semaphore.7z (516,1 KB, 17x aufgerufen)
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.340 Beiträge
 
Delphi 12 Athens
 
#4

AW: RunAs unter Win7 (ohne UAC)

  Alt 17. Mär 2012, 22:30
Zitat:
Das Ding lässt sich auch aufrufen
Hmm, dann müßte man nur noch die API dafür finden.

Das ding wird aber nicht in einem eigenem Desktop ausgeführt.
Es sieht auch irgendwie ein bissl so aus, wie der neue Vista-TaskDialog.

[add]
Die Fensterklasse von dem Ding ist Bei Google suchenDirectUIHWND.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (17. Mär 2012 um 22:53 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.919 Beiträge
 
Delphi 12 Athens
 
#5

AW: RunAs unter Win7 (ohne UAC)

  Alt 17. Mär 2012, 22:55
Hmm, dann müßte man nur noch die API dafür finden.
Das ist kein Problem, einfach in der Doku durchklicken (Windows Development --> Security and Identity --> Authentication):
CredUIPromptForCredentials
bzw. ab Vista:
CredUIPromptForWindowsCredentials
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.683 Beiträge
 
Delphi 5 Professional
 
#6

AW: RunAs unter Win7 (ohne UAC)

  Alt 17. Mär 2012, 23:10
Zitat:
Das Ding lässt sich auch aufrufen
Hmm, dann müßte man nur noch die API dafür finden.
Wie meinst du das? Ein ShellExecuteEx mit dem Verb 'runasuser' funktioniert doch , wie jaenicke dankenswerterweise herausgefunden hat. Und ganz ehrlich: mehr Aufwand will ich auch gar nicht treiben; alles, was in Richtung eigener Überprüfung der Credentials geht, ist völliger Overkill - jedenfalls für diesen Zweck.

Zitat:
Das ding wird aber nicht in einem eigenem Desktop ausgeführt.
Juckt mich überhaupt nicht. Wird es bei Win2k/XP auch nicht. Und wenn irgendein Programm dort etwas eingeben kann (z.B. mit AutoIt geht das sehr einfach), hat man ein ganz anderes Problem als dass dieser Dialog nicht abgesichert ist .

Zitat:
Die Fensterklasse von dem Ding ist Bei Google suchenDirectUIHWND.
Jep, das hatte ich mit Au3Info aus dem AutoIt-Paket schon ermittelt und daran herumgedacht, mit entsprechenden Funktionen zu ermitteln, ob der Dialog noch offen ist (das Warten also nachzuholen, was Windows selbst versäumt). Aber der dafür erforderliche Aufwand ist wohl deutlich höher als die von mir momentan benutzte Variante.

Zitat von jaenicke:
Als weitere Möglichkeit blieben noch andere Möglichkeiten der Interprozesskommunikation wie z.B. Semaphore, siehe Anhang.
Das schau ich mir mal an, aber die ebenfalls benutzten Mutexe betrachte ich nicht unbedingt als einfacher (und Semaphoren sind ja sehr ähnlich).

MfG Dalai
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12

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 02:44 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz