C++ ProgrammPfad ermitteln

DadyCool

Grünschnabel
Hallo,

ich habe unter VisualStudio 2005 eine WindowsForm Anwendung geschrieben (Managed Code).

Hat jemand eine Idee wie ich den programmPfad ermitteln kann? Das benötige ich, da ich verschiedene Icons anzeigen lasse möchte.

Also in etwa so:
getProgrammPfad + \\img\\ok.ico

Danke schonmal :)

DadyCool
 
Hallo,

hatte jetzt schneller den Quellcode gefunden als den Link wo das schon mal behandelt wurde.

Hab das voreiniger Zeit wie folgt gelöst (auch wenn man das sicherlich sauberer en könnte):
Code:
CString CMyClass::GetStartExePfad()
{
	CString exepfad;
	exepfad.Empty();
#ifdef _WIN32_WCE
	unsigned short filename[200];
	ZeroMemory(filename,sizeof(char)*200);
	GetModuleFileName(NULL,(unsigned short*)filename,200);
	exepfad.Format(_T("%s"),filename);
#else
	char filename[200];
	ZeroMemory(filename,sizeof(char)*200);
	GetModuleFileName(NULL,filename,200);
	exepfad.Format(_T("%s"),filename);
#endif
	return exepfad;
}
Viel Spass damit.

Gruß Michael
 
Hallo,

hatte jetzt schneller den Quellcode gefunden als den Link wo das schon mal behandelt wurde.

Hab das voreiniger Zeit wie folgt gelöst (auch wenn man das sicherlich sauberer en könnte):
Code:
CString CMyClass::GetStartExePfad()
{
	CString exepfad;
	exepfad.Empty();
#ifdef _WIN32_WCE
	unsigned short filename[200];
	ZeroMemory(filename,sizeof(char)*200);
	GetModuleFileName(NULL,(unsigned short*)filename,200);
	exepfad.Format(_T("%s"),filename);
#else
	char filename[200];
	ZeroMemory(filename,sizeof(char)*200);
	GetModuleFileName(NULL,filename,200);
	exepfad.Format(_T("%s"),filename);
#endif
	return exepfad;
}
Viel Spass damit.

Gruß Michael

Danke, jedoch sind doch CStrings unmanegd, oder nicht?

Ah ich habe was gefunden: Application.get_StartupPath()

DadyCool
 
Zuletzt bearbeitet:
Muss gestehn hab mich mir über Managed und Unmanaged Code noch nie den Kopf zerbrechen müssen. Konnte/musste immer das verwenden was gerade verfügbar war.

Das Herzstück ist auch "GetModuleFileName(...)", der Rest nur schmückendes Beiwerk.
Wenne was gefunden hast ist wünsch ich viel Spass beim weiter arbeiten.

Gruß
 
Hallo Teambeta,

stimmt, aber bei dem Projekt - aus dem der Quellcode stammt - handelt es sich um ein MFC-Projekt. Gut da hät man mit "GetCommandLine()" oder wie die Funktion wieder heißt arbeiten können.
Problem an der Sache war nur das ich den Code auch auf einem Embedded System nutzen wollte und dort die GetCommandLine() nicht weitergeholfen hat.

Aber wieso warum auch immer... Viele Wege führen nach Rom.

Gruß
 
Zurück