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 Problem (https://www.delphipraxis.net/89799-shellexecute-problem.html)

Hybrid666 5. Apr 2007 21:10


ShellExecute Problem
 
Hi, ich versuche ein programm zu schreiben, welches mein truecrypt volume automatischen mountet...

das kann man ja per truecrypt.exe mit poarametern tun, also in der dokumentation auf der truecrypt page ist es als command line usage...

Delphi-Quellcode:
  ShellExecute(Form1.Handle, 'open', PChar(ini.readstring('settings','exe','')),
             PChar(param), '', SW_SHOWNORMAL);
Das hier startet nur die trueCrypt exe, ruft aber keine parameter auf...was kann ich tun? Wie kann ich es als command line aufrufen ohne das es jemand sieht (alos ich will nicht das ein dos prompt aufpoppt, da da das passwort "clear" drinsteht)

MfG Hybrid666

matashen 5. Apr 2007 22:24

Re: ShellExecute Problem
 
Es könnte an deinen Parametern liegen, das diese falsch übergeben werden, aber nachdem ich dieses Programm das du starten willst nicht kenne, kann ich da auch nicht genauer drauf eingehen.

was steht z.B, in Param, hast du schon mal mit Debuger und Stop-Punkt geguckt was hier genau läuft, also welche Parameter übergeben werden.

Hier im Forum findest du über Suche mit ziemlicher Sicherheit viele Infos über Shellexecute.

turboPASCAL 5. Apr 2007 22:28

Re: ShellExecute Problem
 
Hast du dir mal die Werte von ReadString und Param anzeigen lassen ob dort
auch etwas enthalten ist ?

Nuclear-Ping 5. Apr 2007 22:30

Re: ShellExecute Problem
 
Unter Windows XP:
Delphi-Quellcode:
ShellExecute (Handle, 'open', 'cmd.exe /C "' + PChar(ini.readstring('settings','exe','')) + ' ' + PChar(param) + '"', '', SW_SHOWNORMAL);
Unter 95, 98 und ME musst du statt cmd.exe command.com nehmen.

Alternativ kannst du auch WinExec oder CreateProcess nehmen. Ich hab mal gelesen, dass ShellExecute am gebräuchlisten zum Ausführen von Shell-Links verwendet werden sollte. Also alles was keine direkte ausführbare Datei, sondern mit einer Anwendung verknüpft ist (.bmp, .jpg, .lnk, .etc).

usjr0070 10. Mai 2007 16:06

Re: ShellExecute Problem
 
Hi, Hybrid666 also ich rufe mein TrueCrypt immer so auf wenn Automatisch gebootet werden soll,

Delphi-Quellcode:
ShellExecute(Handle,'open',PChar('"C:\Programme\TrueCrypt\TrueCrypt.exe"'),
    PChar(' /v "C:\Ablage\Container.tc" /lp /s /q /a /m rm /m ts /e
    /p "Schnitzel mit Pommes und Salat" /k "T:\Container.key"'),
    nil,SW_hide);
wobei ich /p lieber von Hand eingebe. Den Parameter /k brauchst du nur wenn du von dem TC -
Container ein Key - File angelegt hast und /e für den Explorer nach dem Booten zum öffen.

Hier findest du alle Parameter zu TrueCrypt

Mfg Usjr0070


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:04 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