Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi ShellExecute bei Programmen die Administratorberechtigungen brauchen ? (https://www.delphipraxis.net/168050-shellexecute-bei-programmen-die-administratorberechtigungen-brauchen.html)

Premaider 2. Mai 2012 14:39

ShellExecute bei Programmen die Administratorberechtigungen brauchen ?
 
Hey Leute ich habe Delphi7 und folgendes Problem.
Ich suche per OpenDialog einen Programmpfad heraus und starte dann diese .exe mit ShellExecute.
Das funktioniert auch super nur nicht bei Programmen die Administratorberechtigungen brauchen,
also wenn man sie so öffnet immer ein Fenster kommt wo man "Ja" drückt :D
Wieso kommt dieses Fenster nicht auch wenn ich das Programm mit ShellExecute aufrufen will ? Wie kann ich das
lösen ?

WladiD 2. Mai 2012 14:46

AW: ShellExecute bei Programmen die Administratorberechtigungen brauchen ?
 
"runas" als Verb nutzen

Bernhard Geyer 2. Mai 2012 14:49

AW: ShellExecute bei Programmen die Administratorberechtigungen brauchen ?
 
Wie schaut genau dein Aufruf aus? Normalerweise sorgt ShellExecute dafür das die Standardmechanismen wirken und die UAC kommt.

Premaider 2. Mai 2012 14:58

AW: ShellExecute bei Programmen die Administratorberechtigungen brauchen ?
 
Delphi-Quellcode:
If Edit1.text<>'' Then ShellExecute(Handle, nil, 'OpenDialog1.filename', nil, nil, SW_SHOW);
Was meinst du mit "Runas als Verb nutzen" ?

Bummi 2. Mai 2012 15:00

AW: ShellExecute bei Programmen die Administratorberechtigungen brauchen ?
 
Delphi-Quellcode:
If Edit1.text<>'' Then ShellExecute(Handle, 'RunAs', PCHAR(OpenDialog1.filename), nil, nil, SW_SHOW);

jaenicke 2. Mai 2012 15:04

AW: ShellExecute bei Programmen die Administratorberechtigungen brauchen ?
 
Zitat:

Zitat von Premaider (Beitrag 1164574)
Delphi-Quellcode:
If Edit1.text<>'' Then ShellExecute(Handle, nil, 'OpenDialog1.filename', nil, nil, SW_SHOW);

Du hast also eine Datei mit dem Namen OpenDialog1.filename auf der Festplatte? Komischer Dateiname.

@Bummi:
Und bei dir fehlt noch der Cast auf PChar. ;-)

Premaider 2. Mai 2012 15:07

AW: ShellExecute bei Programmen die Administratorberechtigungen brauchen ?
 
EDIT:
Habs hinbekommen. Danke euch allen

Assarbad 2. Mai 2012 17:33

AW: ShellExecute bei Programmen die Administratorberechtigungen brauchen ?
 
Eins noch, wenn du an den Rückgabewerten interessiert bist, solltest du MSDN-Library durchsuchenShellExecuteEx benutzen, denn bei ShellExecute sieht man leider, daß es aus Zeiten stammt als es noch kein NT und keine einheitlichen Fehlerrückgaben gab.


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:39 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz