GetModuleFileName
原文:http://www.cnblogs.com/dongzhiquan/archive/2009/07/28/1994776.html
GetModuleFileName
HMODULE hModule = ::GetModuleHandle(NULL);
if (hModule != NULL)
{
::GetModuleFileName(hModule, strRet.GetBuffer(MAX_PATH), MAX_PATH);
strRet.ReleaseBuffer();
}
GetModuleFileName函数
函数GetModuleFileName声明如下:
WINBASEAPI
DWORD
WINAPI
GetModuleFileNameA(
__in_opt HMODULE hModule,
__out_ecount_part(nSize, return + 1) LPCH lpFilename,
__in DWORD nSize
);
WINBASEAPI
DWORD
WINAPI
GetModuleFileNameW(
__in_opt HMODULE hModule,
__out_ecount_part(nSize, return + 1) LPWCH lpFilename,
__in DWORD nSize
);
#ifdef UNICODE
#define GetModuleFileName GetModuleFileNameW
#else
#define GetModuleFileName GetModuleFileNameA
#endif // !UNICODE
hModule是模块的句柄,或者设置为NULL表示当前模块。
lpFilename是保存路径的缓冲区。
nSize是缓冲区的大小。
调用函数的例子如下:
#001 //获取当前程序所在路径。
#002 //蔡军生 2007/12/05 QQ:9073204 深圳
#003 void TestGetExePath(void)
#004 {
#005 //
#006 const int nBufSize = 512;
#007 TCHAR chBuf[nBufSize];
#008 ZeroMemory(chBuf,nBufSize);
#009
#010 //获取当前执行文件的路径。
#011 if (GetModuleFileName(NULL,chBuf,nBufSize))
#012 {
#013 //输出带文件名称路径。
#014 OutputDebugString(chBuf);
#015 OutputDebugString(_T("\r\n"));
#016
#017 //获取文件路径。
#018 TCHAR* lpStrPath = chBuf;
#019 PathRemoveFileSpec(lpStrPath);
#020 OutputDebugString(lpStrPath);
#021 OutputDebugString(_T("\r\n"));
#022 }
#023
#024 }
输出的结果如下:
g:\work\windows_api\wincpp2\debug\WinCpp.exe
g:\work\windows_api\wincpp2\debug
GetModuleFileName的更多相关文章
- VC++ GetModuleFileName()获取路径字符串中带波浪线~
GetModuleFileName()获取的字符串中带波浪线,不是完整的路径显示. 原因:获取的是短路径,进行了缩写 解决:还原长路径 TCHAR }; GetLongPathName( strTem ...
- Delphi For Android 开发笔记-附:如何Delphi中同时实现Windows、Android版的GetModuleFileName函数
在Windows中开发DLL时,经常会需要获取当前DLL所在目录以便读取同目录下的其他文件,而目前Delphi在开发android时,其实没多大必要获取,因为整个工程只有一个so文件,而这个so文件也 ...
- MFC学习20160718(GetModuleFileName&&GetAppDataPath)
1.标题栏设置 一.对话框标题栏内容为静态 直接在对话框属性“General”的“Caption”中修改. 二.对话框标题栏内容为动态生成的 在对应对话框的初始化函数OnInitDialog()中添加 ...
- MFC学习20160718(GetModuleFileName&&GetAppDataPath)
1.标题栏设置 一.对话框标题栏内容为静态 直接在对话框属性“General”的“Caption”中修改. 二.对话框标题栏内容为动态生成的 在对应对话框的初始化函数OnInitDialog()中添加 ...
- GetCurrentDirectory、SetCurrentDirectory和GetModuleFileName
DWORD GetCurrentDirectory( DWORD nBufferLength, // size of directory buffer LPTSTR lpBuffer // ...
- 如何获取启动文件路径 GetModuleFileName
如何获取启动文件路径 GetModuleFileName CString GetExeDirPath() { }; CString strExeDirPath; GetModuleFileName(N ...
- VC中使用GetModuleFileName获取应用程序路径
.\\与API函数GetModuleFileName获取应用程序目录有何不一样? 采用.\\也能获得应用程序目录,采用GetModuleFileName也能获得,二者有何不同? 一样!一个是相对路 ...
- C++ GetModuleFileName()
关于GetModuleFileName function,参考:https://msdn.microsoft.com/en-us/library/windows/desktop/ms683197(v= ...
- 获取当前进程目录 GetCurrentDirectory() 及 获取当前运行模块路径名GetModuleFileName()
GetCurrentDirectory 获得的是当前进程的活动目录(资源管理器决定的),可以用SetCurrentDirectory 修改的. 转自 http://m.blog.csdn.net/bl ...
- GetModuleFileName和获取应用程序当前目录
原文:http://www.cnblogs.com/xuemaxiongfeng/articles/2465544.html API函数GetModuleFileName():获得应用程序目录相对路径 ...
随机推荐
- 下载 CentOS 7 镜像文件
CentOS 7 镜像文件的下载地址 CentOS 官网:https://www.centos.org/ 点击“Get CentOS Now” 点击想要下载的ISO镜像,(目前仅有“DVD ISO”和 ...
- 【性能测试】:JVM内存监控策略的方法,以及监控结果说明
JVM内存监控主要在稳定性压测期间,监控应用服务器内存泄露等问题: [JVM远程监控设置] 1.打开WAS控制台:https://ip:port/ibm/console/login.do 2.进入路径 ...
- Django 登陆注册实现
路由层 from django.conf.urls import url from django.contrib import admin from app01 import views urlpat ...
- 剑指offer——面试题32.1:分行从上到下打印二叉树
void BFSLayer(BinaryTreeNode* pRoot) { if(pRoot==nullptr) return; queue<BinaryTreeNode*> pNode ...
- winform MD5加密
byte[] result = Encoding.Default.GetBytes(this.tbPass.Text.Trim()); //tbPass为输入密码的文本框MD5 md5 = ne ...
- python实现RSA加密解密方法
python3.5 安装pip 安装rsa python -m pip install rsa 我们可以生成RSA公钥和密钥,也可以load一个.pem文件进来 # -*- coding: utf-8 ...
- mssql 注入
注入查阅 .返回的是连接的数据库名 .作用是获取连接用户名 .将数据库备份到Web目录下面 ;backup database 数据库名 to disk='c:\inetpub\wwwroot\1.db ...
- 深度学习(七)U-Net原理以及keras代码实现医学图像眼球血管分割
原文作者:aircraft 原文链接:https://www.cnblogs.com/DOMLX/p/9780786.html DRIVE数据集下载百度云链接:链接:https://pan.baidu ...
- SQL 常用脚本,非常适用
一.基础 1.说明:创建数据库 CREATE DATABASE database-name 2.说明:删除数据库 drop database dbname 3.说明:备份sql server --- ...
- PTA (Advanced Level) 1016 Phone Bills
Phone Bills A long-distance telephone company charges its customers by the following rules: Making a ...