WindowsAPI详解——GetCurrentDirectory 获得程序当前目录

论坛 期权论坛 脚本     
匿名技术用户   2021-1-4 07:14   26   0
每个Windows程序都有一个自己的当前目录,默认是程序exe文件所在的目录。系统在给程序加载动态链接库文件(DLL)时先在程序当前目录里查找要加载的DLL,如果在此目录下没有找到系统便会去Windows目录下查找。在这儿我们主要将如何获得程序的当前目录,如果没有自己去设置,我们可以把此目录看成进程所在目录。


函数原型:
DWORD GetCurrentDirectory(DWORD nBufferLength,LPWSTR lpBuffer)


函数返回值:
返回0表示失败,当函数调用成功将返回写入缓冲区的字符串长度


和以前一样我们有两种方法来确定缓冲区长度:
1、使用已定义的常量MAX_PATH(260);
2、使用给函数传入NULL的方法获得缓冲区长度。


下面是函数的使用方法:
wstring Info::getMyDirectory()
{
wstring wstr;
unsigned long size=GetCurrentDirectory(0,NULL);
wchar_t *path=new wchar_t[size];
if(GetCurrentDirectory(size,path)!=0)
{
wstr=path;
}
delete [] path;
return wstr;

}



MFC的GetDlgItem主要是获取对话框上的句柄,通过获取对话框上的句柄可以获取句柄上的信息 etc.
GetDlgItem() 有一个参数即,对话框所要获取的句柄点的ID号
应用如下:比如,获取句柄后可以获取句柄的文本信息,以及设置文本信息 etc.
CString str;
GetDlgItem(IDC_NUMBER1)->GetWindowText(str);/////////获取对话框上句柄的文本信息
GetDlgItem(IDC_NUMBER1)->SetWindowText("数值:");////设置对话框上句柄的文本信息

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP