Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   .exe Datei bei Form1.Create erzeugen lassen (https://www.delphipraxis.net/109297-exe-datei-bei-form1-create-erzeugen-lassen.html)

blender 27. Feb 2008 18:18


.exe Datei bei Form1.Create erzeugen lassen
 
Hallo,
ich möchte eine neue Klasse in meine Programme einbinden.
Diese soll eine eigene .exe Datei selbst erzeugen können.
Dann soll die Klasse die Registry Dateien so verändern, dass die nächsten vier Male, wenn der Computer Hochgefahren wird, sich die selbst erzeugte .exe Datei öffnet und nachfragt, ob man dem Programm Autor vielleicht eine Rückmeldung geben möchte.
Wenn das Programm, welches die .exe Datei erzeugt hat, nicht mehr existiert, soll die erzeugte .exe Nachfragen, was denn an dem Programm so schlecht wäre b. z. w. wie man es denn noch verbessern würde.
Bei dem nächsten hochfahren soll die .exe sich selbst löschen.
Geht das?
Wie?

TurboMartin 27. Feb 2008 18:31

Re: .exe Datei bei Form1.Create erzeugen lassen
 
Jetzt zum glaub ich dritten mal in dieser Woche: Du kannst aus deinen Win32-Anwendungen keine Anwendungen erzugen. Können schon, aber mit massig Aufwand und riesigen Kentnissen, die Du nicht hast. Die einzigste Möglichkeit zu deinem Problem wäre eine Fertige Anwendung mitzuliefern.
Zum in die Registie: Ob ein User so etwas mag ist sowieso die Frage, und das selbstständige löschen von sich selbst geht nicht.

s-off 27. Feb 2008 18:53

Re: .exe Datei bei Form1.Create erzeugen lassen
 
Hallo,

wenn Du wirklich etwas derart unschönes machen möchtest, dann hast Du zwei Möglichkeiten:

1. Du bindest Deine fertige Exe als Ressource ein, und entpackst sie beim Start, sofern noch nicht geschehen
2. Du lieferst die Exe einfach mit

blender 27. Feb 2008 18:56

Re: .exe Datei bei Form1.Create erzeugen lassen
 
Gut.
Es müsste aber doch gehen, dass man die erste .exe eine Textdatei erzeugen lässt.
Diese soll bei Hochfahren - villeicht durch eine Batch Datei - des Computers verändert werden.
Dann startet das Programm, wie es in den Reg Daten festgelegt wurde, und kontrolliert die Textdatei.
Wenn diese von der Batch Datei geändert wurde, soll das Dialogfenster erscheinen, und die Textdatei wieder zurück-geändert werden.
Wenn die Textdatei so wie vorher ist, soll das Programm auch wie vorher laufen.
Geht das?
Kann man die Registry's so fest legen, dass die Textdatei nach dem vierten Neustart nicht mehr geändert wird?

Nachtrag: Ich möchte dem User nichts derart unschönes antun. Deshalb soll auch nur zwei oder vier mal nachgefragt werden.

Crazy Ivan 27. Feb 2008 19:01

Re: .exe Datei bei Form1.Create erzeugen lassen
 
das musst du schon im programm machen. die registry hilft dir insofern, dass du dein programm in den autostart bringst und dort die anzahl der bootvorgänge sichern kannst, jedoch kann sie nicht deine programmfunktionen ausführen :warn: nach vier starts nimmst du den schlüssel einfach wieder raus...

blender 27. Feb 2008 19:04

Re: .exe Datei bei Form1.Create erzeugen lassen
 
Wie kann ich den Schlüssel nach vier Starts wieder raus bekommen?
Was meinst du mit: "die Anzahl der Bootvorgänge sichern"?

SirThornberry 27. Feb 2008 19:08

Re: .exe Datei bei Form1.Create erzeugen lassen
 
Unerlaubt Daten an der Registry des Nutzers zu ändern ist nicht ganz in dem Sinne was wir hier unterstützen.
Und selbst wenn es im Bereich das erlaubten ist so halte ich es, in Anbetracht deiner Fähigkeiten, für unverantwortlich dich etwas an der Registry ändern zu lassen. Da würde bei deinem aktuellen Wissensstand mehr schief gehen als dass dein Ziel erreicht wird.

Um mögliche Schäden deiner Programme in Grenzen zu halten empfehle ich dir und allen die mit Programmieren anfangen die Grundlagen und Tutorials auf http://www.delphi-treff.de

*** locked ***


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