String str5=application.startuppath;//gets the path to the executable file that launched the application, not including the name of the executable file.
String str1 =process.getcurrentprocess (). mainmodule.filename;//gets the file name of the EXE that is currently executing.
String str2=environment.currentdirectory;//gets and sets the fully qualified path to the current directory (that is, the directory from which the process starts).
Note by definition, if the process is started in the root directory of a local or network drive, the value of this property is the drive name followed by a trailing backslash (such as "c:/"). If the process is started in a subdirectory, the value of this property is the drive and subdirectory path (such as "c:/mysubdirectory") without trailing backslashes.
http://www.cnblogs.com/sosoft/
String Str3=directory.getcurrentdirectory ();//Gets the current working directory of the application.
String str4=appdomain.currentdomain.basedirectory;//gets the base directory that is used by the Assembly resolver to probe assemblies.
String str5=application.startuppath;//gets the path to the executable file that launched the application, not including the name of the executable file.
String str6=application.executablepath;//gets the path to the executable file that launched the application, including the name of the executable file.
String str7=appdomain.currentdomain.setupinformation.applicationbase;//Gets or sets the name of the directory that contains the application.
C # Multiple ways to get file paths