die gestartete .exe datei sich selbst nach z:\chattest\ kopieren!!???
-
was willst du mit GetModuleFileName machen?? name der exe ermitteln???
mfg surf.
-
Genau! Bzw. besser gesagt: den kompletten Pfad
-
ja warum muss man das wissen???
mfg surf.
-
TCHAR szPath[MAX_PATH];
TCHAR szName[64];
TCHAR szFileExt[64];
GetModuleFileName(hInst, szPath, MAX_PATH);AnsiString source=MAX_PATH;
AnsiString target="Z:\\temp\Datei.exe";CopyFile(source.c_str(), target.c_str(), false); //durch "false" wird eine evtl.
vorhandene Zieldatei überschrieben
-
surf. schrieb:
wie funzt das mit GetModuleFileName und CopyFile(Ex)?
char FileName[1000]; GetModuleFileName(NULL,FileName,1000); CopyFile(FileName,"Z:\\chattest\sonstewas.exe ",NULL);
So funktioniert das! Geht sogar obwohl die exe ja eigentlich gerade geöffnet ist. Wundert mich.
-
surf. schrieb:
AnsiString source=MAX_PATH;
-
GetModuleFileName(NULL,FileName,1000);
wie bekommt ich da nur den programmnamen ohne pfad??
mfg surf
-
PathFindFileName oder mit strrchr selber basteln
-
gibs keinen anderen befehl das mir den namen vom ausgeführten programm zurückgibt? muss ich da GetModuleFileName nehmen? wäre ja umständlich...wie soll ich das machen???
C:\neuer ordner\programm.exe
C:\programm.exeich weiß ja nie wie tief der pfad ist!! weil also nicht wie viele \ zeichen ich hab!!
cu surf.
-
surf schrieb:
ich weiß ja nie wie tief der pfad ist!! weil also nicht wie viele \ zeichen ich hab!!
Guck dir strrchr doch nochmal genau an !
-
strchr such nach einen bestimmten zeichen in einer zeichenkette..string!
ja klass was soll ich suchen?*g*
1 fall: C:\neuer ordner\Programm.exe
2 fall: C:\programme\temp\files\Programm.execu surf.
-
strrchr sucht nach dem letzten Vorkommen eines Zeichens in einem String!
also suchst du natürlich nach '\'
-
Oder er benutzt, wie flenders schon in diesem Thread schrieb, PathFindFileName
-
das is gut;-) aber ich brauch \ nicht \\
wie kopier ich dann das in den string???passt das so:
char *str="C:\neuer ordner\software\programm.exe"; char dateiname[30]; dateiname[0]=0; dateiname=strrchr(str,'\');
-
Das läuft doch nicht mal durch nen Compiler ohne nen Fehler auszuwerfen...
Probierst Du sowas nie aus, bevor Du was postest?
-
char buf[1000]; GetModuleFileName(NULL,buf,1000); char *FileName = strrchr(buf,'\\'); FileName++; MessageBox(hwnd,FileName,"FileName",MB_OK);
Bei mir spuckt das den Namen der laufenden exe aus. Ich denke doch bei dir wird das genauso sein!
-
shitt ich hab da keinen pointer genommen....*g*
letzte frage: kann man verhindern das das programm mehrere male ausgeführt wird???
mfg surf
-
-
So nu is aber Schluss! Nix gib's mehr! Da war mehr als ein Fehler drin! Nix Pointer vergessen. Die wievielte Frage is das eigentlich jetzt schon? Neuer Thread! Und mal über 'n Buch nachdenken!
[edit]oh ja das machen wir![/edit]
-
...meinst Du nicht, Mutexe sind 'ne Kragenweite zu groß für Dich?
/Edit:
Ui, kreisen wir jetzt schon wie die Geier über diesem Thread?