进程路径
所在目录:当前程序运行的目录。
比如:在VS调试程序时,所在目录就是源文件所在的目录。
在debug直接运行.exe是,所在目录就是debug所在的目录。
GetCurrentDirectory();获取所在目录。
函数原型:
DWORDGetCurrentDirectory
(
DWORD nBufferLength,
LPTSTR lpBuffer
)
参数说明
nBufferLength 缓冲区的长度
lpBuffer 指定一个预定义字串,用于装载当前目录
返回值
调用成功 返回装载到lpBuffer的字节数。
使用GetLastError函数可获得错误信息。
SetCurrentDirectory(); 把所在目录改为C盘
函数原型:
BOOL WINAPI SetCurrentDirectory( __in LPCTSTR lpPathName);
参数说明
lpPathName String,新目录的路径
例子:
CString g_strDirect = "C:\\vcpp32\\ex34a\\WebSite";
SetCurrentDirectory(g_strDirect);
当前目录:
GetFullPathName(); 获取当前目录
注意:无法直接修改当前目录。可以通过修改环境变量来改修当前目录.
函数原型:
DWORD GetFullPathName(
LPCTSTR lpFileName,
DWORD nBufferLength,
LPTSTR lpBuffer,
LPTSTR* lpFilePart
);
参数说明:
lpFileName String,指定文件名(长文件名或8.3格式的DOS文件名)
nBufferLength Long,lpBuffer字串的长度
lpBuffer String,指定一个预先定义好的字串,用于装载目标文件的驱动器及路径名称。如存在长文件名,那么这个参数保存的就肯定是长文件名
lpFilePart Long,指定一个长整数变量,用于装载文件名起始的地方。
返回值
如果调用成功 返回实际路径的长度
如果缓冲区太小,不能装下文件完整路径的话 返回值就是缓冲区的值 所以我们一般都将缓存区大小设置得足够大
调用失败 返回0 用GetLastError获得错误信息
module目录:就是源文件所在的目录。
GetModuleFileName(); 获取module目录。
函数原型:
DWORD WINAPI GetModuleFileName
(
_In_opt_ HMODULE hModule,
_Out_ LPTSTR lpFilename,
_In_ DWORD nSize
);
参数说明:
hModule 一个模块的句柄。可以是一个DLL模块,或者是一个应用程序的实例句柄。如果该参数为NULL,该函数返回该应用程序全路径。
lpFileName 指定一个字串缓冲区,要在其中容纳文件的用NULL字符中止的路径名,hModule模块就是从这个文件装载进来的
nSize 装载到缓冲区lpFileName的最大字符数量
返回值
编辑Long,如执行成功,返回复制到lpFileName的实际字符数量;零表示失败。使用GetLastError可以打印错误信息。
环境变量(environment variables)一般是指在操作系统中用来指定操作系统运行环境的一些参数,如:临时文件夹位置和系统文件夹位置等。
函数原型:
DWORD GetEnvironmentVariable
(
LPCSTR lpName,
LPSTR lpBuffer,
DWORD dSize
)
参数说明:
lpName 是你要求查询的环境变量的名,
lpBuffer 是返回你所指定的环境变量的值的,
dSize 是告诉这个函数lpBuffer可以存放多少个字节。
环境变量包含了所在目录和当前目录。
修改所在目录,当前目录会被修改。而环境变量不会被修改。
修改环境变量,可以修改当前目录。
相关文章
- Windows C++遍历所有进程的命令行
- linux分享六:进程管理
- 进程隐藏与进程保护(SSDT Hook 实现)(二)
- 使应用程序在进程中消失
- chromedriver进程非常多,driver.quit(),而不是driver.close()
- 重新点亮linux 命令树————查看进程[二十一]
- django 中进程监控工具flower的使用
- 并发编程(进程篇,未完待续)
- 进程,线程,协程
- C# - 多线程 之 进程与线程
- SAP ABAP 守护进程的实现方式
- Linux Zombie进程状态介绍 以及 如何清理
- Atitit,通过pid获取进程文件路径 java php c#.net版本大总结
- Atitit.进程管理常用api
- 【nodejs原理&源码赏析(6)】深度剖析cluster模块源码与node.js多进程(下)
- 【Linux 内核】CFS 调度器 ③ ( 计算进程 “ 虚拟运行时间 “ )
- systemctl 管理ceph进程
- 线程插入技术——不就是DLL进程注入嘛,干嘛整这么多幺蛾子!造词这么多。。。