• 进程路径


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


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

  • 相关阅读:
    博弈论基础与习题(未完)
    三视图求最多方块数
    二维前缀和应用
    卡特兰数
    UVa 11806 Cheerleaders(容斥定理)
    逃出升天
    求排列的逆序数
    求2进制下1的个数
    字符串哈希基础与应用
    网络流基础与应用
  • 原文地址:https://www.cnblogs.com/gd-luojialin/p/7056095.html
Copyright © 2020-2023  润新知