Pfad einer Exe rausbekommen?



  • wunderschönen guten Abend, habe Stress mit dem Pfad einer anderen Exe, bisher kam ich mit GetCurrentDirectory aus, aber dieses mal, will ich einen Pfad von einer anderen Exe rausbekommen, wo man nicht sicher sein kann, wohin der Benutzer die Exe hingesteckt hat.
    Kann ich sowas wie:

    Suche_Nach_Pfad_von_der_Anderen_EXE und schreibe in in CString Pfad_zur_gesuchten_Exe
    

    ????



  • Natürlich kannst du das!
    Ich denke dazu schaust du dir am besten mal CFileFind an..



  • ok, habe ich mir angesehen, aber:
    The following code will enumerate all the files in the current directory, printing the name of each file:

    CFileFind finder;
       BOOL bWorking = finder.FindFile("*.*");
       while (bWorking)
       {
          bWorking = finder.FindNextFile();
          cout << (LPCTSTR) finder.GetFileName() << endl;
       }
    

    so sieht es in der MSDN aus,

    CFileFind finder;
       BOOL bWorking = finder.FindFile("*.*");
       while (bWorking)
       {
          bWorking = finder.FindNextFile();
          AfxMessageBox((LPCTSTR) finder.GetFileName());
        }
    

    habe es jetzt mit einer messagebox realisiert und er spuckt mir daten aus (current directory), aber wenn mein Programm nu irgendwo anders liegt. wie erweitere ich denn dann dieses?



  • Viele Programme speichern ihr Arbeitsverzeichnis in die Registry. Diese an der richtigen Stelle auszulesen ist vielleicht sinnvoller als alle Verzeichnisse auf allen lokalen Festplatten nach einer bestimmten .exe Datei zu durchsuchen. Um welche Zweit-Exe handelt es sich denn? Ein bekanntes Programm oder gar ein eigenes?



  • ein eigenes mfc-prog



  • aha, habe gerade hersudgefunden, dass er in dem verkehrten currentdirectory sucht, und zwar lasse ich das programm vorher eine durchsuchen funktion machen, wo der benutzer sich verschiedene Ordner aussuchen kann. Und genau in diesem Ordner sucht er jetzt mit filefind. aber da kann es ja nicht sein.



  • wie kann ich denn dem FileFinder sagen wo er suchen soll???

    habe den Pfad bis zu den Ordnern die in Frage kommen mir rausgesucht und in strPath geschrieben!!!

    Aber dieser FileFinder sucht in einem Directory was von vor 3Dialogen ist. Er soll aber in dem strPath suchen, den ich ihm gerade rausgesucht habe!



  • Dann musst du es so machen

    statt '.'

    BOOL bWorking = finder.FindFile("*.*");
    

    einfach so

    BOOL bWorking = finder.FindFile(strPath + "\\*.*");
    

    Gruß
    :: NoName ::


Anmelden zum Antworten