Kopieren

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Alves
Beiträge: 1208
Registriert: 19.04.2006 18:24
Kontaktdaten:

Kopieren

Beitrag von Alves »

Ich wollte fragen ob es einen Code gibt wo sich die exe in ein bestimmtes Verzeichnis verschiebt/kopiert?
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

Ägypten?
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
hardfalcon
Beiträge: 3447
Registriert: 29.08.2004 20:46

Beitrag von hardfalcon »

Du meinst, du brauchst nen Code, der dir eine genaue Pfadangabe zurückliefert, in welchem Verzeichnis sich das Programm befindet, und wie die Programmdatei heißt? Dann schau mal hier:
http://www.purebasic.fr/german/viewtopic.php?t=4606
Benutzeravatar
Alves
Beiträge: 1208
Registriert: 19.04.2006 18:24
Kontaktdaten:

Beitrag von Alves »

@KG

Kairo?

@HF

Nein ich meine einen Code, bei dem sich die exe in ein bestimmtes Verzeichnis kopiert.[/url]
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Code: Alles auswählen

Ziel.s = "c:\windows\temp\test.exe"
Path.s = Space(#MAX_PATH * 2)
GetModuleFileName_(0, @Path, #MAX_PATH * 2)
CopyFile(Path, Ziel)
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Alves
Beiträge: 1208
Registriert: 19.04.2006 18:24
Kontaktdaten:

Beitrag von Alves »

Irgendwie klappt der bei mir nicht oder ich vertseh ihn nicht..
Muss ich da noch etwas verändern?

Edit:// GetModuleFileName() gehtbei mir nicht, da ich die Demo habe, klappts dann gar nicht?
Benutzeravatar
hardfalcon
Beiträge: 3447
Registriert: 29.08.2004 20:46

Beitrag von hardfalcon »

Nein, da musst du dir wohl die Vollversion zulegen.
Benutzeravatar
125
Beiträge: 1322
Registriert: 19.09.2004 16:52
Wohnort: Neu Wulmstorf (Hamburg)
Kontaktdaten:

Beitrag von 125 »

hardfalcon hat geschrieben:Nein, da musst du dir wohl die Vollversion zulegen.
MÄÄÄP Lüge

Besorg dir mal den ApiViewer schalt die Sicht auf Purebasic dann such nach GetModuleFilename :)
Bild
BildDas ist Tux. Kopiere Tux in deine Signatur und hilf ihm so auf seinem Weg zur Weltherrschaft.
Benutzeravatar
Alves
Beiträge: 1208
Registriert: 19.04.2006 18:24
Kontaktdaten:

Beitrag von Alves »

ApiViewer?
Von Api schon mal gehört aber, was ist das? :|
NOOB! (ich)
Benutzeravatar
hardfalcon
Beiträge: 3447
Registriert: 29.08.2004 20:46

Beitrag von hardfalcon »

125 hat geschrieben:
hardfalcon hat geschrieben:Nein, da musst du dir wohl die Vollversion zulegen.
MÄÄÄP Lüge

Besorg dir mal den ApiViewer schalt die Sicht auf Purebasic dann such nach GetModuleFilename :)
Mann, stimmt ja! Daran hab ich noch gar nicht gedacht! :o

//EDIT: Mit dem Code hier kannst du GetModuleFileName_() ersetzen:

Code: Alles auswählen

OpenLibrary(0,"kernel32.dll")
CallFunction(0,"GetModuleFileNameA",hModule.l, lpFileName.String, nSize.l)
//EDIT2:

Dein Code wäre demnach:

Code: Alles auswählen

OpenLibrary(0,"kernel32.dll")
Ziel.s = "c:\windows\temp\test.exe"
Path.s = Space(#MAX_PATH * 2)
CallFunction(0,"GetModuleFileNameA",0, @Path, #MAX_PATH * 2)
CopyFile(Path, Ziel)
Antworten