【C#遗补】获取应用程序路径之System.IO.Directory.GetCurrentDirectory和System.Windows.Forms.Application.StartupPath的区别

原文:【C#遗补】获取应用程序路径之System.IO.Directory.GetCurrentDirectory和System.Windows.Forms.Application.StartupPath的区别

.Net Framework中,System.IO.Directory.GetCurrentDirectory()方法用于获得应用程序当前工作目录

如果使用此方法获得应用程序所在的目录,应该注意:System.IO.Directory.GetCurrentDirectory()方法获得的目录路径随着OpenFileDialog、SaveFileDialog等对象所确定的目录而改变(切换工作目录)

一般情况下,应该使用System.Windows.Forms.Application.StartupPath或System.AppDomain.CurrentDomain.BaseDirectory来获得应用程序所在的目录

时间: 2024-11-10 11:42:19

【C#遗补】获取应用程序路径之System.IO.Directory.GetCurrentDirectory和System.Windows.Forms.Application.StartupPath的区别的相关文章

获取当前程序路径

1. 本来想用java中的方式的,网上查到一些信息,我的测试代码如下: 1 String str = System.getProperty("java.class.path"); 2 String strUsrDir = System.getProperty("usr.dir"); 3 URL url = this.getClass().getResource(""); // **Test1.class 即 Class.forName("

WPF获取应用程序路径方法,获取程序运行路径方法

试了好多种方法,在WPF中获取工程的路径都没能解决掉,暂时用的绝对路径"D://WPF.....",但是发布的时候出现问题了,放到别的电脑上找不到路径,又开始了地毯式搜索,终于解决了,跟遇到此类问题的朋友分享下解决办法,如下: AppDomain.CurrentDomain.BaseDirectory +文件名即可,简单吧? //获取启动了应用程序的可执行文件的路径,不包括可执行文件的名称. string str5=Application.StartupPath; //可获得当前执行的

GetModuleFileNameEx遍历获取64bit程序路径失败的一种解决方法(Win7-64-bit)

问题: 32位程序在64位系统上调用GetModuleFileNameEx()遍历获取64位进程的全路径失败,得到的路径都为空. 根据官方的说法: For the best results use the following table to convert paths. Windows 2000 = GetModuleFileNameEx() Windows XP x32 = GetProcessImageFileName() Windows XP x64 = GetProcessImageF

windows和linux下获取当前程序路径以及cpu数

[cpp] view plaincopy #ifdef WIN32 #include <Windows.h> #else #include <stdio.h> #include <unistd.h> #endif #include <assert.h> std::string getCurrentAppPath() { #ifdef WIN32 char path[MAX_PATH + 1] = {0}; if (GetModuleFileName(NULL

linux 获取当前程序路径

const std::string strCfgName = "logger_import_db.conf" ;bool fGetCfgFileName(std::string& paraStr_CfgFileName){ paraStr_CfgFileName.clear() ; char szWorkDir[MAX_PATH] = {0} ; char szCfgFileNameTemp[MAX_PATH] = {0} ; if(!getcwd(szWorkDir, 260

C#获取应用程序路径

string s = Environment.CurrentDirectory; //需添加Forms.DLL s = System.Windows.Forms.Application.StartupPath; s = System.Windows.Forms.Application.ExecutablePath; s = System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName; s = System.Reflecti

获取当前程序的路径

获取当前程序所在路径文件1. System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName-获取模块的完整路径. 2. System.Environment.CurrentDirectory-获取和设置当前目录(该进程从中启动的目录)的完全限定目录. 3. System.IO.Directory.GetCurrentDirectory()-获取应用程序的当前工作目录.这个不一定是程序从中启动的目录啊,有可能程序放在C:\ww

【转】C#获取当前程序运行路径的方法集合

//获取当前进程的完整路径,包含文件名(进程名).string str = this.GetType().Assembly.Location;result: X:\xxx\xxx\xxx.exe (.exe文件所在的目录+.exe文件名) //获取新的 Process 组件并将其与当前活动的进程关联的主模块的完整路径,包含文件名(进程名).string str = System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName

C#获取当前程序运行路径的方法集合

//获取当前进程的完整路径,包含文件名(进程名).string str = this.GetType().Assembly.Location;result: X:\xxx\xxx\xxx.exe (.exe文件所在的目录+.exe文件名) //获取新的 Process 组件并将其与当前活动的进程关联的主模块的完整路径,包含文件名(进程名).string str = System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName