zoukankan      html  css  js  c++  java
  • 第四章 进程(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: 进程的环境变量必须始终按字母顺序来排序。因此驱动器名的环境变量通常必须置于环境块的开始处。

  • 相关阅读:
    POJ2965(The Pilots Brothers' refrigerator)
    POJ1753(Flip Game)
    POJ3253(Fence Repair)
    山东理工大学的训练计划
    loutsScript 常用代码
    《大道至简》读后感
    2019暑第三周
    2019暑第二周
    2019暑第一周
    关于13组作品《TD tree》的使用感想
  • 原文地址:https://www.cnblogs.com/dyufei/p/2574006.html
Copyright © 2011-2022 走看看