• 第四章 进程(5)进程的当前驱动器和目录


     

    5、进程的当前驱动器和目录

    当不提供全路径名时,Windows的各个函数就会在当前驱动器的当前目录中查找文件和目录。

    系统将在内部保持对进程的当前驱动器和目录的跟踪。 由于该信息是按每个进程来维护的,因此改变当前驱动器或目录的进程中的线程,就可以为该进程中的所有线程改变这些信息。通过调用下面两个函数,线程能够获得和设置它的进程的当前驱动器和目录:

    DWORD GetCurrentDirectory(DWORD cchCurDir, PTSTR pszCurDir);

    BOOL SetCurrentDirectory(PCTSTR pszCurDir);

    1. 进程的当前目录

    系统将对进程的当前驱动器和目录保持跟踪,但是它不跟踪每个驱动器的当前目录。

    A: 可以使用C运行期函数_ chdir,而不是使用SetCurrentDirectory函数来变更当前目录。_ chdir函数从内部调用SetCurrentDirectory,但是_chdir 也能够添加或修改该环境变量,这样,不同驱动器的当前目录就可以保留。

    B: 子进程的环境块不会自动继承父进程的当前目录。相反,子进程的当前目录将默认为每个驱动器的根目录。如果想要让子进程继承父进程的当前目录,该父进程必须创建这些驱动器名的环境变量。并在生成子进程前将它们添加给环境块。通过调用GetFullPathName函数父进程可以获得它的当前目录:

    DWORD GetFullPathName(PCTSTR pszFile, DWORD cchPath,

    PTSRT pszPath, PTSTR *ppszFilePart)

    C: 进程的环境变量必须始终按字母顺序来排序。因此驱动器名的环境变量通常必须置于环境块的开始处。

  • 相关阅读:
    UART协议
    芯片时钟体系(take example as s3c2440)
    PCIe协议
    I2C协议
    SPI协议
    嵌入式相关术语列表
    TreeView控件数据绑定之:数据库数据递归绑定
    连接SQL Server 数据库的三种方式
    JS小功能之:五角星评论
    MVC学习之开发技巧总结(1)
  • 原文地址:https://www.cnblogs.com/dyufei/p/2574006.html
Copyright © 2020-2023  润新知