void CCMPPGATEDlg::OnButton2() 
{
// TODO: Add your control notification handler code here
GetModuleFileName(NULL,g_app_path.GetBuffer(MAX_PATH), MAX_PATH); 
g_app_path.ReleaseBuffer(); 
int len = g_app_path.GetLength(); 
//滤去文件名称,只保留路径
for(int i=0; i<=len-1; i++) 

if(g_app_path.Right(1)!="\\") 
g_app_path.Delete(len-1-i,1); 
else 
{
g_app_path.Delete(len-1-i,1); 
break; 
}
}
SetDlgItemText(IDC_EDITPATH, g_app_path);
}

解决方案 »

  1.   

    char dir[128];
    GetCurrentDirectory(128 , dir);
    CEidt * pEdit = (CEdit *)GetDlgItem(ID_……);
    pEdit->SetWindowText(dir);
      

  2.   

    晨星,你的这种办法有问题!CurrentDirectory有可能在程序运行的过程中改变!!!
      

  3.   

    fansses,拜托你看看清楚好不!!!
      

  4.   

    没啊,我试了那个晨星的方法,编译出来的可执行文件上,EDIT显示的就是那个文件的路径啊,只是没有文件名,只有目录
      

  5.   

    f_ky(开开) 说的对,
     steedhorse(晨星) 的有点问题,通常用你的程序去打开另一文件夹中的文件时,
    CurrentDirectory已经变了。