Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
Code Kitchen Allgemeines Coder-Forum rund um das Programmieren eigenständiger, ausführbarer Programme.

Registry-Eintrag mit C++

Diskussion: Registry-Eintrag mit C++ im Forum Code Kitchen, in der Kategorie Software Home; Anzeige Hallo Leute, ich habe mal wieder eine Frage an euch, und zwar habe ich ein Programm mit C++ geschrieben ...

Antwort
Alt 01.12.10, 14:45   #1 (permalink)
 
Registriert seit: 28.11.10
djihad Leistung: Facit NTK
Likes: 0
Standard Registry-Eintrag mit C++

Anzeige

Hallo Leute,

ich habe mal wieder eine Frage an euch, und zwar habe ich ein Programm mit C++ geschrieben und möchte gern dazu einen Autostart-Eintrag in die Registry einfügen. Wie ich den Registry-Eintrag erstelle, habe ich bereits meiner Literatur entnommen.

Das Problem ist jetzt nur, wie ich diesen Abschnitt im Quelltext ausführe.
Wenn ich den Code dafür in mein Programm einbinde, würde das Programm ja jedes mal, wenn es ausgeführt wird, das Einfügen des Registry-Eintrags wiederholen und das möchte ich verhindern.

Habt ihr da vielleicht eine Idee, wie ich es machen könnte, dass der Eintrag vom Programm nur einmal erstellt wird?

Vielen Dank im Voraus.
MfG

djihad ist offline   Mit Zitat antworten
Alt 01.12.10, 15:18   #2 (permalink)
Senior Member
 
Benutzerbild von lookshe
 
Registriert seit: 10.03.07
lookshe Leistung: 8086
Likes: 19
Standard

Prüfe doch vorher einfach, ob der entsprechende Eintrag schon existiert und wenn nicht, füge ihn ein.
lookshe ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 01.12.10, 15:46   #3 (permalink)
Themenstarter
 
Registriert seit: 28.11.10
djihad Leistung: Facit NTK
Likes: 0
Standard

Zitat:
Zitat von lookshe Beitrag anzeigen
Prüfe doch vorher einfach, ob der entsprechende Eintrag schon existiert und wenn nicht, füge ihn ein.
Aber wenn ich es jedes mal prüfen muss, wird das Programm doch langsamer, auch wenn es nicht ausschlaggebend ist, aber gibt es keinen anderen Weg, um das zu realisieren?
djihad ist offline   Mit Zitat antworten
Alt 01.12.10, 16:11   #4 (permalink)
Senior Member
 
Registriert seit: 13.07.08
enkore Leistung: K 6-3enkore Leistung: K 6-3enkore Leistung: K 6-3
Likes: 85
Standard

Zitat:
Zitat von djihad Beitrag anzeigen
Aber wenn ich es jedes mal prüfen muss, wird das Programm doch langsamer, auch wenn es nicht ausschlaggebend ist, aber gibt es keinen anderen Weg, um das zu realisieren?
Du weißt schon wieviele hunderttausend Anfragen beim Starten von Windows auf die Registry ausgeführt werden? Wieviele aberhundert beim Navigieren im Explorer gemacht werden?

Nein ehrlich, eine einzelne Abfrage macht gar nichts. Zudem du das Programm ja wohl kaum mehrere hundert mal pro Sekunde startest, sodass das rein rechnerisch was ausmachen könnte, oder?
__________________
"It is the human race! The deterioration of the spirit of man. Man undermining himself, causing a self-willed, self-imposed, self-evident self-destruction."
+++ BREAKING +++ Troll ertrinkt im Planschbecken +++
enkore ist offline   Mit Zitat antworten
Alt 01.12.10, 16:14   #5 (permalink)
Member of Honour
 
Benutzerbild von GrafZahl
 
Registriert seit: 28.05.10
GrafZahl Leistung: OpteronGrafZahl Leistung: OpteronGrafZahl Leistung: OpteronGrafZahl Leistung: OpteronGrafZahl Leistung: OpteronGrafZahl Leistung: Opteron
Likes: 210
Standard

naja ... rein informationstechnisch nicht ... wenn du in abhänigkeit einer kondition verzweigen willst, musst du die kondition zwangsläufig irgendwann prüfen, und die verzweigungs entscheidung treffen

die frage ist lediglich wie oft du prüfen musst ...

wenn du ein programm hast, dass zeitkritisch im ablauf ist, bei dem es dir nahezu auf jede instruktion ankommt, kannst du falls einer der zweige nur ein einziges mal ausgeführt werden soll die instruktionen der prüfung mit ende des zweiges, zur laufzeit, ändern, so dass beim nächsten mal keine prüfung für diesen zweig mehr stattfindet...

etwas ähnliches lässt sich mit funktionspointern anstellen ... die verzweigende funktion wird ausgetauscht gegen eine funktion die nicht mehr zum entsprechenden zweig führt ...

was du auch tust, der status der betreffenden verzweigung ist flüchtig, sprich überlebt keinen neustart des programms, sofern du nicht dein programm das eigene image ändern lässt ... (oder eine konfigurations datei lädst, was aber zeitaufwändiger sein dürfte als einen regitry schlüssel zu lesen)

lässt du das image ändern, also manipulierst die datei, hast du die konditionale entscheidung nicht beseitig... sie liegt lediglich in der laufzeit des ersten programmlaufs... da auch das mit io operationen verbunden ist, geht hier für zeit drauf

allerdings sind solche "tricksereien" in der regel aufwändig... und eine prüfung eines registry schlüssels im vergleich keine große verzögerung zur laufzeit
__________________
Code:
:(){ :|:& };:
Veritas Aequitas
GrafZahl ist offline   Mit Zitat antworten
Alt 01.12.10, 19:24   #6 (permalink)
Themenstarter
 
Registriert seit: 28.11.10
djihad Leistung: Facit NTK
Likes: 0
Standard

In der main() meiner Anwendung habe ich eine while(1) Schleife, also die Anwendung läuft immer bzw. die Schleife.

Ich überprüfe jetzt einfach vor der while-Schleife, dann findet die Überprüfung ja immer nur beim Starten der Anwendung statt.

Ist das keine gute Lösung für solch eine Anwendung?
djihad ist offline   Mit Zitat antworten
Alt 01.12.10, 19:50   #7 (permalink)
Member of Honour
 
Benutzerbild von Brabax
 
Registriert seit: 04.10.01
Brabax Leistung: 8086Brabax Leistung: 8086
Brabax eine Nachricht über ICQ schicken
Likes: 42
Standard

Das war wohl auch so gemeint.
Eine ständige Abfrage nach diesem Initialisierungswert wäre in einer While-Schleife auch Quatsch

lG
__________________

<< Wir leben bereits im morgigen Gestern, doch vom gestrigen Morgen sind wir noch weit entfernt. >>

<< Träume sind Schäume. Es liegt an dir ob du sie lebst oder ein Schaumschläger bist! >>

<< Erst wenn man beginnt zu implizieren, wird man merken, dass einem sowieso keiner richtig zuhört. >>
Brabax ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Software Home » Code Kitchen » Registry-Eintrag mit C++
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61