![]() |
Unterprogramm nur aus Hauptprogramm startbar
hallo,
wie kann ich eigentlich unterbinden das ein unterprogramm, welches ich aus dem hauptprogramm aufrufe, unter windows startbar ist. dieses soll nur durchs hauptprogramm startbar sein. gruss jolomino |
Re: Unterprogramm nur aus Hauptprogramm startbar
Bau einfach ne Abfrage beim Start des Unterprogramms ein:
Wenn das Hauptprogramm läuft, starte Unterprogramm. Wenn nicht, dann nicht. ;) |
Re: Unterprogramm nur aus Hauptprogramm startbar
Übergebe dem Unterprogramm beim Start doch vom Hauptprogramm einen Wert(z.B. als Parameter), das Unterprogramm überprüft, ob der Wert übergeben worden ist oder ob der Parameter existiert.
Wenn der Wert übergeben wurde, startet es, ansonsten nicht. |
Re: Unterprogramm nur aus Hauptprogramm startbar
super schnelle antwort :-)
aber, das unterprogramm ist ein updater, dieses wird vom hauptprogramm gestartet und das hauptprogramm beendet sich selber, damit dieses upgedatet werden kann. nach dem update wird das neue hauptprogramm wieder gestartet und der updater beendet sich selber. im hauptprogramm ist die versionsprüfung und im updater nur der download des neuen hauptprogramms. ich möchte aber nicht, das man unter windows den updater starten kann, weil ja sonst immer das programm gedownloadet wird. @benjamin: mit dem wert übergeben, wie funzt das denn gruss jolomino |
Re: Unterprogramm nur aus Hauptprogramm startbar
Beim Aufruf des Updaters, du machst das wahrscheinlich mit Shellexecute, gibst du als Parameter z.B. '-startisMain' oder sowas an.
Dann überprüfst du im OnCreate des Updaters das:
Delphi-Quellcode:
//Edit:Erklärung
If not ParamStr(1)='-startisMain' Then
Updater.Close; ParamStr(1) gibt den 1. Parameter, der dem Programm übergeben wurde an. ParamStr(0) enthält den Aufruf des Programms, also z.B. "C:\Updater.exe" Parameter übergibt man bei shellexecute so: ShellExecute(Handle,'open','C:\Updater.exe','-startismain','',SW_SHOW); |
Re: Unterprogramm nur aus Hauptprogramm startbar
ich mache es mit CreateProcess,da ich abfragen möchte ob der updater auch wirklich gestartet wurde. wie kann ich denn bei CreateProcess parameter mit übergeben?
Delphi-Quellcode:
gruss jolomino
CreateProcess(PChar(ExtractFilePath(Application.Exename)+'updater.exe'),nil,nil,nil,false,
NORMAL_PRIORITY_CLASS,nil,nil,aSI,aPI) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:48 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