如题:我现在想用GetPrivateProfileString("UPDATE","version","1.0",buf,sizeof(buf),str);获得程序所在文件夹下的.ini文件,请问这个函数的最后一个参数的字符串内容应该是,谢谢!我试了下,指定路径是可以的("D:\\update\\update.ini"),但是我无法保证用户把程序安装在其他文件夹,谢谢!

解决方案 »

  1.   


    #include <shlwapi.h>
    #pragma comment(lib, "shlwapi.lib")  TCHAR szPath[MAX_PATH + 1] = {0};
      GetModuleFileName(NULL, szPath, MAX_PATH);
      PathRemoveFileSpec(szPath);
      OutputDebugString(szPath);
      

  2.   

    char appName[MAX_PATH];
    GetModuleFileName(NULL, appName, MAX_PATH);
    CString strPath = appName;
    strPath = strPath.Left(strPath.ReverseFind('\\')+1);
      

  3.   

    GetModuleFileName();得到当前exe的绝对路径以后,然后自己拼接到ini文件的路径即可。
      

  4.   

    保存到用户有写入权限的目录,例如我的文档或者appdata。Program Files对于一般用户是只读的
      

  5.   

    此问题,引来如此多的高人!GetModuleFileName