Programmieren - alles kontrollieren 4.941 Themen, 20.708 Beiträge

Visual C++5.0, Arbeitsverzeichnis

anul / 1 Antworten / Baumansicht Nickles

Ich habe mir eine Anwendung geschrieben, die das Arbeitsverzeichnis ermittelt(Code siehe unten) und darin benötigte Dateien sucht.
Wenn ich das Programm im Explorer mit einen Doppelklick starte, funktioniert es.
Wenn ich eine Verknüpfung unter Programme im Startorder anlege und so das Programm starte funktioniert es nicht.
Ich muß in den Eigenschaften der Verknüpfung unter "Ausführen in:" das Arbeitsverzeichnis nochmals angeben.
Warum???

Headerdatei:
#include

bei Antwort benachrichtigen
Borlander anul „Visual C++5.0, Arbeitsverzeichnis“
Optionen

Hallo anul,
wenn Du Dein Programm per Doppelklick aufrufst befindest Du Dich im Verzeichnis in dem das Programm liegt. Arbeitsverzeichnis ist (wenn nicht anders festgelegt) das Verzeichnis aus dem das Programm aufgerufen wird. Rufst Du das Programm aus dem Startmenü auf, ist das Arbeitsverzeichnis gleich dem Verzeichnis des Startmenüs.

Ich habe mir eine Anwendung geschrieben, die das Arbeitsverzeichnis ermittelt(Code siehe unten) und darin benötigte Dateien sucht
Ich verstehe das so, dass Du Dateien suchst die im selben Verzeichnis liegen wie das Programm. Das Problem würde also nicht auftreten, wenn Du statt dem Arbeitsverzeichnis den Programmpfad ermittelst. AFAIK wird der+Programmname (bei C) als erster in der Liste der Kommandozeilenparmeter übergeben. Bei Visual C++ gibt es vermutlich noch einen einfacheren Weg den zu ermitteln.


CU Borlander

bei Antwort benachrichtigen