Programmeinstellungen als Resource?


  • Mod

    Frage2 schrieb:

    1. Was ist ein "normaler" Anwender? Ich gehe in meinem Fall davon aus dass man Admin ist.

    Wenn ein Programm unter Vista gestartet wird dann ist man eben kein Admin, selbst wenn Du als Admin eingetragen bist. Davor steht UAC und der Admin Prompt!

    Frage2 schrieb:

    2. Hä?

    Wenn Deine EXE in einem öffentlichen Verzeichnis steht, dann hat der nächste User wohl mit den selben Programmeinstelungen zu leben. Ganz und gar wenn die Einstellungen in der EXE liegen!

    Frage2 schrieb:

    3. Ne ich müll doch nicht die Registry voll, mein Programm wird nicht installiert sondern einfach die .exe ausgeführt.

    Du hast echt Ahnung... was?
    Zumüllen wenn es um Deine 5 Bytes Einstellung geht....
    Wo ist der Unterschied zu einer Datei? Ene Datei nimmt sogar noch mehr Platz weg als in der Registry ein Eintrag.

    Frage2 schrieb:

    Geht das nun mit den Einstellungen als Resource in der .exe?

    Das habe ich doch geschrieben... Solange Du Schreibrechte hast ja. Siehe MSDN. Außer einem Virenscanner gefallen solche Aktivitäten auch nicht.



  • Ich hab's nicht ausprobiert aber die Beschreibung hört sich vielversprechend an!
    http://www.codeproject.com/KB/cpp/UpdateResource.aspx



  • Martin Richter schrieb:

    Wenn ein Programm unter Vista gestartet wird dann ist man eben kein Admin, selbst wenn Du als Admin eingetragen bist. Davor steht UAC und der Admin Prompt!

    Wer Vista nutzt ist selbst schuld und muss dann eben mit solchen Problemen zurechtkommen.

    Martin Richter schrieb:

    Wenn Deine EXE in einem öffentlichen Verzeichnis steht, dann hat der nächste User wohl mit den selben Programmeinstelungen zu leben. Ganz und gar wenn die Einstellungen in der EXE liegen!

    In meinem Fall ist das egal.

    Martin Richter schrieb:

    Du hast echt Ahnung... was?
    Zumüllen wenn es um Deine 5 Bytes Einstellung geht....
    Wo ist der Unterschied zu einer Datei? Ene Datei nimmt sogar noch mehr Platz weg als in der Registry ein Eintrag.

    Wiegesagt, wer löscht die Einträge dann wieder? Und vielleicht werden es auch mehr Daten... Wenn jeder Programmierer so denken würde... 🙄

    Martin Richter schrieb:

    Das habe ich doch geschrieben... Solange Du Schreibrechte hast ja. Siehe MSDN. Außer einem Virenscanner gefallen solche Aktivitäten auch nicht.

    Nein hast du nicht. OK, @exekenner meinte halt es geht nicht.

    MfG



  • .... hmmm ein Tipp vielleicht.

    Wenn du immer unter NTFS bist, denke an alternate DataStreams.
    Da kann man hinter dem Programmnamen eine Menge Zeugs wegsaven.

    Meine Dienste greifen alle auf ADS zurück - um nicht aufzufallen 😉



  • CStern schrieb:

    Meine Dienste greifen alle auf ADS zurück - um nicht aufzufallen

    Gut zu wissen. 👎



  • Klar.

    Weil eine Datei mit 0 Bytes Größe ...
    NTFS ist Geil.

    Meine Proggies schreiben einfach alles nach unten ab. Das hat den Vorteil: Klaut einer Die Exe, hat er ein großes Problem, weil die NTFS die ADS nicht mit kopiert. Ich schreibe nur single Exes. Daher weht der Wind.

    Ich hoffe das beruhigt wieder.



  • CStern schrieb:

    Meine Proggies schreiben einfach alles nach unten ab. Das hat den Vorteil: Klaut einer Die Exe, hat er ein großes Problem, weil die NTFS die ADS nicht mit kopiert.

    😕

    Ach und ich finde keine Referenz zum ADS API, nur das: http://msdn.microsoft.com/en-us/library/aa364232
    Welche Funktionen brauche ich da um mein Vorhaben zu realisieren?

    MfG



  • Tja. Das ist das Schisma, warum ich niemals irgend ein FrameWork oder MFC-Bullshit von M$ verwende.

    Sie verwenden vieles einfach nur für sich.

    Aber es gibt viele Dinge, die einfach undokumentiert sind, genauso geht das mit Alternate Datastreams.

    Damit wirst Du sicher im Internet fündig. Man muss sich halt mal anstrengen und nicht gebratene Täubchen ala Microschrott präsentieren lassen. 😡



  • Jo, gut so. Es lebe natives C++.

    Ehm der Dreck ist eh erst ab Vista verfügbar seh ich grad -.- (FindFirstStreamW, ...)
    Gut, dann wird es eine separate .ini Datei was, solls.

    MfG



  • Immer noch der falsche Dampfer ... Bis Richmond reicht es vielleicht.

    Außerdem ist ADS nicht Bestandteil von VISTA sondern es ist ein Feature von NTFS. Und das ist halt uralt mittlerweile.

    Alternate Datastreams werden in NTFS einfach durch einen Punkt ->.<- vom Dateinamen als eigenständiges File mitcreiert. Sodann haben sie die genau gleiche Funktionalität wie die Exe darüber, aber sie sammeln Daten, wenn man sie danach programmiert.

    Die Anzahl von Proggs, die zur Zeit ADS verwenden ist erschreckend hoch.



  • Hmm hab da noch das gefunden:

    http://msdn.microsoft.com/en-us/magazine/cc163677.aspx

    Mal sehen, vielleicht nutze ich Figure 2, Figure 3 versteh ich jetzt nicht.
    NTQueryInformationFile ist mir zu heikel (Könnte geändert/entfernt werden).
    Kompatibilität ist mir nicht unwichtig.
    Und sind ADS' nicht auch problematisch wegen AntiViren?
    Hab da schon Probleme wenn ich nur "OpenProcessToken()" verwende schlagen gleich 15 verschiedene AntiViren an... (laut virustotal.com).

    MfG


Anmelden zum Antworten