zoukankan      html  css  js  c++  java
  • GetCurrentDirectory和SetCurrentDirectory函数

    转自:http://blog.csdn.net/wishfly/article/details/2906187


    在开发软件里,常常碰到要读取当前目录下的配置参数文件,或者打开当前目录下别的程序来运行,那么就需要获取当前进程的目录位置,这就需要使用函数GetCurrentDirectory获取当前进程所有在的目录。同时也可以使用SetCurrentDirectory函数来改变进程的当前目录。
     
    函数GetCurrentDirectorySetCurrentDirectory声明如下:
     
    WINBASEAPI
    DWORD
    WINAPI
    GetCurrentDirectoryA(
        __in DWORD nBufferLength,
        __out_ecount_part_opt(nBufferLength, return + 1) LPSTR lpBuffer
        );
    WINBASEAPI
    DWORD
    WINAPI
    GetCurrentDirectoryW(
        __in DWORD nBufferLength,
        __out_ecount_part_opt(nBufferLength, return + 1) LPWSTR lpBuffer
        );
    #ifdef UNICODE
    #define GetCurrentDirectory GetCurrentDirectoryW
    #else
    #define GetCurrentDirectory GetCurrentDirectoryA
    #endif // !UNICODE
     
    WINBASEAPI
    BOOL
    WINAPI
    SetCurrentDirectoryA(
        __in LPCSTR lpPathName
        );
    WINBASEAPI
    BOOL
    WINAPI
    SetCurrentDirectoryW(
        __in LPCWSTR lpPathName
        );
    #ifdef UNICODE
    #define SetCurrentDirectory SetCurrentDirectoryW
    #else
    #define SetCurrentDirectory SetCurrentDirectoryA
    #endif // !UNICODE
     
    nBufferLength是缓冲区的大小。
    lpBuffer是接收目录的缓冲区指针。
    lpPathName是设置的目录。
     
    调用函数的例子如下:
    #001  //获取或者改变当前目录路径。
    #002  //蔡军生 2007/10/17 QQ:9073204 深圳
    #003  void GetCurDir(void)
    #004  {
    #005         //
    #006         TCHAR szBuf[MAX_PATH];
    #007         ZeroMemory(szBuf,MAX_PATH);
    #008         if (GetCurrentDirectory(MAX_PATH,szBuf) > 0)
    #009         {
    #010               //获取进程目录成功。
    #011               OutputDebugString(szBuf);
    #012         }
    #013         else
    #014         {
    #015               //改变当前目录位置。
    #016               SetCurrentDirectory(_T("C://"));
    #017         }
    #018 
    #019         OutputDebugString(_T("/r/n"));          
    #020  }

  • 相关阅读:
    ASP.Net TreeView递归
    WCF发布到IIS7问题的解决方案 (转)
    NavigationService
    【WPF】如何保存RichTextBox的文本到数据库?以及如何对RichTextBox的Document做绑定? Life Is Art 博客园
    Visibility
    WPF操作RichTextBox(转)
    WCF4.0进阶系列第三章 构建健壮的程序和服务(转)
    TreeView(递归)(转)
    WCF4.0 进阶系列–前言(转)
    递归删除树结构数据
  • 原文地址:https://www.cnblogs.com/pamxy/p/2991520.html
Copyright © 2011-2022 走看看