zl程序教程

您现在的位置是:首页 >  后端

当前栏目

进程路径

进程 路径
2023-09-11 14:21:07 时间

所在目录:当前程序运行的目录。
比如:在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可以存放多少个字节。


环境变量包含了所在目录和当前目录。
修改所在目录,当前目录会被修改。而环境变量不会被修改。
修改环境变量,可以修改当前目录。