Gå til innhold

Hvordan få komplett app.path? (VB.NET)


Anbefalte innlegg

Videoannonse
Annonse

Winforms:

Application.ExecutablePath

 

For console app er det eneste jeg har funnet ut av å bruke Reflection for å hente location til assemblien som en klasse ligger i...

 

class Program

{

static void Main( string[] args )

{

Console.WriteLine( System.Reflection.Assembly.GetAssembly(typeof(Program)).Location );

Console.ReadKey();

}

}

 

Noen som har noe forslag på bedre måter for console applikasjoner?

Lenke til kommentar
Er du ute etter "Application.StartupPath"?

7005052[/snapback]

 

Application.StartupPath er vel hvor den blir startet fra? F.eks:

 

c:\> d:\mittprog\prog.exe

vil gi: c:\

 

Application.ExecutablePath:

c:\> d:\mittprog\prog.exe

vil gi: d:\mittprog\prog.exe

Lenke til kommentar
Ah, så lærte jeg noe i dag også. Har ikke vært nøye på å skille mellom dem.

 

Fungerer iallfall fint på Windows-programmer med snarveier... ;)

7005203[/snapback]

 

Ja, det fungerer ofte. Men ofte != alltid ;) Jeg lager innimellom snarveier eller batch-filer for å starte programmer hvor de blir startet fra en annen katalog enn det .exe filen ligger i.

 

F.eks. programmer som tar parametere for å åpne filer:

teksteditor.exe ligger i %path%:

 

C:\> teksteditor.exe autoexec.bat

autoexec.bat ligger i Application.StartupPath

men "teksteditor.config" ligger i samme katalog som Application.ExecutablePath.

Endret av jorn79
Lenke til kommentar
System.Environment.CurrentDirectory? returnerer full path til der programmet ble startet.

7006165[/snapback]

 

Ikke helt...

 

Environment.CurrentDirectory Property

Gets or sets the fully qualified path of the current working directory.

7006192[/snapback]

 

I begynnelsen stemmer det ja. Men den kan forandre seg underveis i programmet :)

"Der programmet ble startet" fra eksempel igjen:

 

c:\> p:\tull\ting.exe

CurrentDirectory == c:\

Lenke til kommentar

System.Windows.Forms.Application.StartupPath gir tilbake mappen der exe fila ble startet fra

Application.StartupPath Property

 

Gets the path for the executable file that started the application, not including the executable name.

 

"C:\Dev\Projects\Et Prosjekt\Bin\Debug\Et Prosjekt.exe" ->

"C:\Dev\Projects\Et Prosjekt\Bin\Debug"

Men hvis programmet ligger i C:\ så er det en backslash på slutten, dette må en huske på, derfor bruker jeg en funksjon på en linje som gir tilbake path + "\"

public string QualifiedPath(string path)
{ return (path.EndsWidth(@"\") ? path : path + @"\"); }

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...