*.exe auf existenz prüfen??!
-
hi @ all,
wie kann ich am besten überprüfen ob eine *.exe bereits existiert?
ich habe jetzt schon einige sachen gefunden, die aber alle schwächen bzw fehlerquellen beinhalten...wär super wenn mir jemand auskunft geben könnte.

thx deflow
-
Was meinst du mit existiert?

Und wo willst du das Abfragen in einem C++ Programm oder hast du ein Programm und möchtest es nur linken?
-
#include <iostream> #include <fstream> #include <conio.h> using namespace std; int main(){ ifstream in; in.open("d:\\verzeichnis\\test.exe"); if (!in) cout << "fehler"; else cout << "kein fehler "; in.close(); getch(); return 0; }Ist das eine von Lösungen, die dir nicht gefallen haben? Ist die einzige, die mir jetzt einfallen würde...

-
@BeNNeR: die ist nicht so gut, eine Datei kann ja exisitieren, aber man hat keine Berechtigung sie zu öffnen(weil z.B. ein anderer Prozess gerade exklusive SChreibrechte darauf hat)
-
Stimmt, auch wieder wahr. Naja, da hab ich nix mehr zu sagen, aber ich bin auf die Antwort gespannt, falls jmd eine parat hat

-
ist zwar kein Standard-C++, aber ich würde mal FindFirst() vorschlagen.
-
da muss man auf BS-API zurück greifen
FindFirstFile fällt mir z.B. für Windows ein
-
"stat" ist die Antwort. Der Aufruf liefert Informationen zu einer Datei, auch wenn sie nicht lesbar ist.
#include <sys/stat.h> ... struct stat s; const char fname[] = "test.exe"; if (stat(fname, &s) == 0) { // Datei exisitiert }Gruß
Tommi
-
hey, danke für die antworten.
@ BeNNeR: ja genau das ist so ne lösung
trotzdem danke!mit mfc wüsste ich ne lösung, möchte ich aber hier nicht benutzen...
@tntnet: super danke! funktioniert einwandfrei!
thx @ all
greetz deflow
-
und stat kann nicht aus anderen Gründen fehlschlagen?
-
eins noch...
kann mir noch jemand sagen wie ich das konsolenfenster verstecken kann?
-
wie verstecken? Was soll dein Programm machen?
Wenn du gar kein Fenster willst, mach WinAPI da sieht man nichts, wenn man nicht selber ein Fenster anlegt
-
hat sich schon erledigt danke.

ich hab hier nur ne anwendung geschrieben, die überprüft ob alle netzlaufwerke gemappt sind und somit ein paar anwendungen, die auf den servern liegen, geladen werden können.
gruß
deflow