可执行文件的路径|如何获取执行程序的当前路径

可执行文件的路径|如何获取执行程序的当前路径的第1张示图

❶ 如何获取启动时候可执行文件的路径

dimtmp_pathasstring'声明变量tmp_path=app.path&"\"&"你程序的名字.exe"msgbox"你的程序路径在"&tmp_path

❷ 什么是可执行文件

可执行文件 (executable file) 指的是可以由操作系统进行加载执行的文件。在不同的操作系统环境下,可执行程序的呈现方式不一样。在windows操作系统下,可执行程序可以是 .exe文件 .sys文件 .com类型文件。

如记事本程序notepad.exe ,这类程序通常用来处理或者辅助处理其它文件。比如:myfile.txt双击打开由notepad.exe记事本程序来进行编辑。

(2)可执行文件的路径扩展阅读:

可执行文件常见分类:

1、Linux32/64位可执行文件:Linux是靠文件属性来判断判断是否可执行。每个文件专门有个属性来表示文件是否可执行。

2、MS-DOS可执行文件:最简单的可执行文件格式,可以在MS-DOS和32位的WINDOWS中运行。它通过在文件头添加ASCII字符串“MZ”(16进制中表示为4D5A)来标识。“

3、16位NE X86可执行文件:通过在文件头添加ASCII字符串“NE”来标识。它只能运行在Windows和OS/2系统,而不能在DOS下运行。

4、16/32位X86可执行文件:通过在文件头添加ASCII字符串“LE”来标识。它仅用来在Windows 3.x和Windows 9x中替代VxD驱动。

5、32位线性可执行文件:通过在文件头添加ASCII字符串“LX”来标识。运行在OS/2 2.0以及更高版本中,也可用于某些DOS扩展。

6、32位X86可执行文件:这是最复杂也最流行的可执行文件格式,通过在文件头添加ASCII字符串“PE”来标识。它主要运行于Windows 95和Windows NT以及更高版本的Windows中,也可在BeOS R3中运行。

7、64位X86-64可执行文件:与32位文件类似,但使用支持64位的X86cpu(64根地址总线)。因此它仅能在64位的Windows系统中运行,譬如Windows 7 64位和 Windows10 X64。

参考资料来源:网络-可执行文件

参考资料来源:网络-可执行程序

❸ 如何获取执行程序的当前路径

C#获取当前应用程序所在路径及环境变量一、获取当前文件的路径string str1=Process.GetCurrentProcess().MainMole.FileName;//可获得当前执行的的文件名。 string str2=Environment.CurrentDirectory;//获取和设置当前目录(即该进程从中启动的目录)的完全限定路径。(备注:按照定义,如果该进程在本地或网络驱动器的根目录中启动,则此属性的值为驱动器名称后跟一个尾部反斜杠(如“C:\”)。如果该进程在子目录中启动,则此属性的值为不带尾部反斜杠的驱动器和子目录路径[如“C:\mySubDirectory”])。 string str3=Directory.GetCurrentDirectory(); //获取应用程序的当前工作目录。 string str4=AppDomain.CurrentDomain.BaseDirectory;//获取基目录,它由程序集冲突解决程序用来探测程序集。 string str5=Application.StartupPath;//获取启动了应用程序的可执行文件的路径,不包括可执行文件的名称。 string str6=Application.ExecutablePath;//获取启动了应用程序的可执行文件的路径,包括可执行文件的名称。 string str7=AppDomain.CurrentDomain.SetupInformation.ApplicationBase;//获取或设置包含该应用程序的目录的名称。1. System.Diagnostics.Process.GetCurrentProcess().MainMole.FileName获取模块的完整路径。2. System.Environment.CurrentDirectory获取和设置当前目录(该进程从中启动的目录)的完全限定目录。3. System.IO.Directory.GetCurrentDirectory()获取应用程序的当前工作目录。这个不一定是程序从中启动的目录啊,有可能程序放在C:\www里,这个函数有可能返回C:\Documents and Settings\ZYB\,或者C:\Program Files\Adobe\,有时不一定返回什么东东,这是任何应用程序最后一次操作过的目录,比如你用Word打开了E:\doc\my.doc这个文件,此时执行这个方法就返回了E:\doc了。4. System.AppDomain.CurrentDomain.BaseDirectory获取程序的基目录。5. System.Windows.Forms.Application.StartupPath获取启动了应用程序的可执行文件的路径。效果和2、5一样。只是5返回的字符串后面多了一个"\"而已。6. System.Windows.Forms.Application.ExecutablePath获取启动了应用程序的可执行文件的路径及文件名,效果和1一样。7. System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase获取和设置包括该应用程序的目录的名称。二、操作环境变量利用System.Environment.GetEnvironmentVariable()方法可以很方便地取得系统环境变量,如:System.Environment.GetEnvironmentVariable("windir")就可以取得windows系统目录的路径。以下是一些常用的环境变量取值:System.Environment.GetEnvironmentVariable("windir");System.Environment.GetEnvironmentVariable("INCLUDE");System.Environment.GetEnvironmentVariable("TMP");System.Environment.GetEnvironmentVariable("TEMP");System.Environment.GetEnvironmentVariable("Path");三、应用实例编写了一个WinForm程序,项目文件存放于D:\Projects\Demo,编译后的文件位于D:\Projects\Demo\bin\Debug,最后的结果如下:1、System.Diagnostics.Process.GetCurrentProcess().MainMole.FileName=D:\Projects\Demo\bin\Debug\Demo.vshost.exe2、System.Environment.CurrentDirectory=D:\Projects\Demo\bin\Debug3、System.IO.Directory.GetCurrentDirectory()=D:\Projects\Demo\bin\Debug4、System.AppDomain.CurrentDomain.BaseDirectory=D:\Projects\Demo\bin\Debug\5、System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase=D:\Projects\Demo\bin\Debug\6、System.Windows.Forms.Application.StartupPath=D:\Projects\Demo\bin\Debug7、System.Windows.Forms.Application.ExecutablePath=D:\Projects\Demo\bin\Debug\Demo.EXESystem.Environment.GetEnvironmentVariable("windir")=C:\WINDOWSSystem.Environment.GetEnvironmentVariable("INCLUDE")=C:\Program Files\Microsoft Visual Studio.NET 2005\SDK\v2.0\include\System.Environment.GetEnvironmentVariable("TMP")=C:\DOCUME~1\ADMINI~1\LOCALS~1\TempSystem.Environment.GetEnvironmentVariable("TEMP")=C:\DOCUME~1\ADMINI~1\LOCALS~1\TempSystem.Environment.GetEnvironmentVariable("Path")=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\Microsoft SQL Server\90\Tools\binn\

❹ 如何通过一个程序的进程来获取该程序的可执行文件的路径

实例句柄这个东西,MSDN说了,就是加载进程映像的基址,每个进程都是一样的,你得到其他的进程也在你自己的进程里用不了。比如,你建立任何一个进程,GetMoleHandle(NULL)函数返回的就是进程的实例句柄,一般都是0x400000(可能少写或多写了一个0)。所以,要得到一个进程的路径,只有一个方法,把自己的代码注入到目标进程的地址空间中,在被注入的代码中使用GetMoudleFileName(GetMoleHandle(NULL),szModPath,MAX_PATH)来得到这个进程的所在路径。这就涉及到注入进程这个有意思的东西了。简单而易用的方法,就是用《Windows核心编程》中提到的方法,用创建远程线程来把自己的DLL注入到目标进程的方法来实现。创建远程线程用CreateRemoteThread(),很简单,与CreateThread()使用方法一样,只不过多出的第一个参数是目标进程句柄(记住,要有PROCESS_CREATE_THREAD权限),其他的参数,都要是在目标进程的地址空间中的。基本的流程应该是:用OpenProcess()函数打开目标进程,权限要有PROCESS_CREATE_THREAD,PROCESS_VM_READ,PROCESS_VM_WRITE。然后用VirtualAllocEx函数在目标进程中分配一个内存空间,这个空间要保存你的Dll文件的路径,然后用WriteProcessMemory把这个字符串写入,再用GetProcAddress得到LoadLibraryA函数的地址,当然得到的地址是自己进程地址空间中的地址,但一般情况下绝大部分进程的这个地址处都是同样的LoadLibraryA函数。利用得到的在目标进程中分配的内存的地址及LoadLibraryA函数,就可以利用创建远程线程的方法把自己的DLL文件注入进去。只有把自己的代码注入到目标进程中,你才可能利用GetMoleFileName函数得到目标进程的路径。当然这个工作是由已经注入到目标进程中的DLL来做。

❺ 计算机对应的可执行文件的绝对路径

绝对路径即全路径,或完整路径,即从根目录开始的一个路径地址,windows系统从盘符开始表示。

❻ 荒野大镖客找不到游戏可执行文件的路径

杀毒软件或者安全辅助软件直接将你下载的文件移除到了隔离区。建议即将下载完成的时候关闭360或其自他安全软件,该问题很有可能是杀毒软件或者安全辅助软件直接将你下载的文件移除到了隔离区,你可以到杀毒软件或者卫士的隔离区去找一找,然后点击还原即可,游戏安装的时候也建议关闭所有安全软件,不然你的游戏很有可能被挂掉的。

❼ 可执行文件路径和工作路径有何区别

1.获取Debug或Release所在的路径CStringGetMoleDir(){HMODULEmole=GetMoleHandle(0);charpFileName[MAX_PATH];GetMoleFileName(mole,pFileName,MAX_PATH);CStringcsFullPath(pFileName);intnPos=csFullPath.ReverseFind(_T('\'));if(nPos<0)returnCString("");elsereturncsFullPath.Left(nPos);}2.获取当前工作路径(dsp所在路径)//获取工作路径CStringGetWorkDir(){charpFileName[MAX_PATH];intnPos=GetCurrentDirectory(MAX_PATH,pFileName);CStringcsFullPath(pFileName);if(nPos<0)returnCString("");elsereturncsFullPath;}

❽ c语言可执行文件的路径

先创建一个工程,新建》工程;然后添加源文件,新建》源文件内,新建的源文件会自动添加到你刚才新建容的工程中;一般情况下建立源文件是应该选择 .c 的文件格式。对VC++而言,工程目录一般放在 X:\Program Files\Microsoft Visual Studio\MyProjects下,而编译链接后的可执行程序就放在工程目录的DEBUG下。解决找不到路径的办法是:你先手工找到工程目录的路径,然后在系统环境变量的path下增加该路径。我的电脑》属性》高级》环境变量,选中path,点“编辑”,在那一行末尾加个半角分号,然后填上工程目录的路径。

未经允许不得转载:山九号 » 可执行文件的路径|如何获取执行程序的当前路径

赞 (0)