![]() |
Programm vom Programm Starten?
Ich möchte gern ein selbst geschriebenes Programm von eine Art Ladeprogramm starten lassen. Aber nur von dem Ladeprogramm. Wenn ich das Programm ohne das Ladeprogramm anklicke, sollte es nicht starten. Hat Einer von Euch einen Tipp wie man so etwas angehen kann?
|
Re: Programm vom Programm Starten?
Ladeprogramm:
Delphi-Quellcode:
Hauptprogramm
ShellExecute(Application.Handle, nil, 'Namedeshauptprogramms.exe', '***', GetCurrentDir, SW_SHOW);
Delphi-Quellcode:
Wobei *** eine Art Passwort sein sollte, wenn möglich eine wirre Kombination aus Ziffer und Buchstaben, muss (per Copy & Paste ;-) ) in beiden Programmen gleich sein.
onFormCreate or im Projekt-Quelltext:
if not (ParamStr(1) = '***') then Application.Terminate; Gruß, ManuMF |
Re: Programm vom Programm Starten?
Windows hat doch irgendwo vermerkt, mit welchem Programm eine Programm gestartet wurde?
Es gibt ja Programme, welche dieses anzeigen können, oder machen die das über 'ne Art Hook und merken sich das selber? (meine FireWall hat z.B. dafür 'ne Anzeige) Oder das Programm macht 'ne Verbindung zum Programm auf, von welchem es gestartet werden soll und frag nach, ob es wirklich von diesem gestartet wurde. Oder ... jetzt fällt mir erstmal nüschts mehr ein -.-'' @ManuMF Dann erstelle ich ein Programm, welches mir die übergebenen Parameter anzeigt, nenne es genauso wie sein (aufzurufendes) Programm, tausche die beiden Programme aus und schon hab ich ganz "einfach" den gewünschten Parameter. |
Re: Programm vom Programm Starten?
OK, ergänzen wir:
Delphi-Quellcode:
uses TlHelp32;
function IsExeRunning(const AExeName: string): boolean; var h: THandle; p: TProcessEntry32; begin Result := False; p.dwSize := SizeOf(p); h := CreateToolHelp32Snapshot(TH32CS_SnapProcess, 0); try Process32First(h, p); repeat Result := AnsiUpperCase(AExeName) = AnsiUpperCase(p.szExeFile); until Result or (not Process32Next(h, p)); finally CloseHandle(h); end; end;
Delphi-Quellcode:
Das überprüft schon mal, ob das Ladeprogramm läuft.
if not (ParamStr(1) = '***') or not (IsExeRunning('Ladeprogramm.exe')) then
Application.Terminate; Gruß, ManuMF |
Re: Programm vom Programm Starten?
Zitat:
|
Re: Programm vom Programm Starten?
Stellt sich nur folgende Frage: Steht dies Paßwort dann im Klartext in der ".exe"? Dann sollte man vielleicht über eine Verschlüsselung (MD5 o. ä.) nachdenken.
|
Re: Programm vom Programm Starten?
@ltiefland:
Ein Verschlüsselung wäre in diesem Fall total sinnlos, sei sie auch noch so gut ... ließ mal ein wenig weiter oben meinen anderen Beitrag durch :zwinker: |
Re: Programm vom Programm Starten?
Zitat:
Delphi-Quellcode:
Var
A,B,C,D,E,F: String; beginn A := 1; B := 4; ... ShellExecute(Application.Handle, nil, Programm.exe,A + B + C + D + E + F, GetCurrentDir, SW_SHOW); |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:06 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