如何查找ini文件所在路径,我用API函数GetFullPathName(),不好用,文件是放在工程目录下,但编译好的执行文件在有的机子上找的到,有的机子上找不到这个ini文件。是不是和系统有关系,有没有什么办法取代这个函数,来查找文件的路径?
解决方案 »
- 如何在树控件的叶子结点前加上复选框,使在点击叶子结点的时候复选框被选中?
- 关于WSAAsyncSelect的问题
- 如何获得一个DLL里获取这个DLL的句柄?
- CreateCompatibleBitmap的第一个参数到底是不是HDC?
- 请问:有谁知道msn和qq的http协议直接连接到服务器的程序如何实现,难道服务端的程序还要监控80端口的数据?
- 怎么我的程序里无法定义PWINDOWINFO
- 建议弄个黑名单如何?把那些倒分的家伙贴上去再坠上个骷髅,让他们千古留芳
- 在dll中创建对话框的问题
- 有参加今天(21号)的武汉会展中心的招聘会的同志吗?进来谈谈感想
- 150分:"error LNK2001" 是咋回事!!!
- 怎么锁Win2K/WinXP的屏幕?
- ProcModuleHandle函数求出的是谁的句柄?
然后用以下代码即可获得应用程序可执行文件所在的目录:
TCHAR lpszFileName[MAX_PATH+1];
::GetModuleFileName(NULL,lpszFileName,MAX_PATH+1);
CString sModulePath = lpszFileName;
int index = sModulePath.ReverseFind('\\');
sModulePath = sModulePath.Left(index+1);
由于ini文件和可执行文件在同一个目录,自然就肯定能够找到了。
CString m_filter;
CFileDialog fdlg1(TRUE, "", m_filter, OFN_EXPLORER |
OFN_ENABLESIZING |
OFN_FILEMUSTEXIST |
OFN_HIDEREADONLY |
OFN_PATHMUSTEXIST,
"(*.ini)|*.ini|所有文件(*.*)|*.*||", this);//
if(fdlg1.DoModal() == IDOK)
{
//m_filter = fdlg1.GetFileName();
m_filter = fdlg1.GetPathName();