新建一个win application程序,要获得本程序的全路径,包括程序名。
用GetModuleFileName好像不行,这个要argv参数,在不用argv参数的情况下,
如何做到呢?谢谢了!

解决方案 »

  1.   

    GetModuleFileName可以的。仔细看看参数。
      

  2.   

    TCHAR buf[512];
    memset(buf,'\0',512);
    GetModuleFileName(NULL,buf,512);
      

  3.   

    已经解决,利用 __argv参数,和GetModuleFileName
      

  4.   

    函数的返回值为应用程序的全路径
    CString GetWorkDir()
    {
    CString strAppName = AfxGetAppName();
    char strPath[MAX_PATH];
    strAppName +=_T(".exe");
    SearchPath( NULL, strAppName, NULL, MAX_PATH, strPath, NULL);
    CString strWorkDir = strPath;
    strAppName = _T("\\")+strAppName;
    int nStart = strWorkDir.Find( strAppName);
    strWorkDir = strWorkDir.Left( nStart);
    return strWorkDir;
    }
      

  5.   


    TCHAR buf[512];
    memset(buf,'\0',512);
    GetModuleFileName(NULL,buf,512);