Bessere ::GetCurrentDirectory() gesucht
-
zeig code! liefert das garkein verzeichnis oder das falsche?
-
du kannst das programm doch garnicht verschieben während es läuft, oder?
-
Das ist doch völlig Wurst. Die Erkenntnis, daß GetCurrentDirectory nicht das EXE-Directory liefert, sondern eben das Current-Directory, ist auf alle Fälle die Richtige.
-
Doch, man kann sehr wohl das Programm verschieben, sogar umbenennen (!) während es läuft!!
und genau das möchte ich verbieten. Sobald das Prog einen anderen Pfad bemerkt, soll es sich wieder zurückkopieren!
Das mit dem zurückkopieren habe ich bereits, nur der verdammte Pfad wird anscheinend von keiner Funktion aktualisiert zurückgeliefert.....und wieder mal sitze ich in der scheiße
-
stimmt hast recht, hatte es vorhin falsch ausprobiert. aber warum willst du sowas verhindern? der user ist doch selbst schuld, wenn er so einen scheiss macht.
-
auf die Frage "warum" habe ich schon gewartet:
es ist eine kleine server anwendung, genaugenommen ein ... fernwartunstool!
ich setze es in meiner Schule von den Profilen meiner Mitschüler aus ein. Es liegt im Autostart und SOLL AUCH DORT BLEIBEN!!
Der Taskmanager ist deaktiviert (!) und die Rechte sind ziemlich eingeschränkt.
Das ganze Programm als service zu schreiben ist also unmöglich.ich ist nur wichtig, dass es nicht aus dem autorun ordner weggeschoben wird und mit meiner Pfad-vgl methode würde ich dieses Problem sicher lösen...
-
ne möglichkeit wäre vielleicht mit FindFirstFile zu gucken ob die Datei noch da ist.
-
interessant... das könnte hinhauen!
danke
-
FUNZT! mußt halt nur ständig abfragen oder wie du das machen willst.
-
nur dann weißt du immer noch nicht wo die datei hinverschoben/umbenannt wurde, so das du sie zurückkopieren kannst.
-
ich dachte mir, dass ich einfach eine Batch Datei erstelle und "copy progname.exe C:\.....\Autostart" hineinschreibe, aber ich weiß ja tatsächlich nicht welche parent directory ich bei CreateProcess angeben muss....
ich komme also doch nicht drum rum eine funktion zu suchen die aktuelle werte liefert.
super.
-
Vielleicht gibt es DOCH eine Methode ohne dem ganzen zurückkopieren auszukommen: Was wäre, wenn ich von meinem Programm aus irgend was kritisches aufmache (datei zum lesen, pipe (?), oder was weiß ich); dann müsste windows eigenlich auch das Verschieben/Umbenennen verbieten, oder?
-
Lies doch einfach dich selbst, bzw. öffne dein Programm einfach nur mit CreateFile()...
-
Es liegt im Autostart und SOLL AUCH DORT BLEIBEN!!
Wenn das Tool dort bleiben soll, warum liegt es dann im Autostart? Warum schreibst du das Programm nicht einfach in die Registry und Run rein?
Dann kann die exe irgendwo liegen, wo sie keiner findet.
regedit solltest du dann natürlich entfernen bzw. deaktivieren.
-
btw:
Ich kann kein geöffnetes Programm verschieben oder umbenennen (Win98).
Was für eine Windowsversion hast du denn?
-
bei windows xp gehts.
-
WinXP ist .
Diesen Satz führe ich lieber nicht fort.Geht es unter Win2k?
-
Ja
-
Das ist höchst wahrscheinlich ein FEATURE, also kein Grund für ein "
"