目的是 打开文件在所目录并且选中文件
打开文件目录已经写好啦 如何选中当前文件啊?(就是鼠标左键点击文件后的那个状态)

解决方案 »

  1.   

    楼主用什么控件,没明白。是树控件吗?
    m_tree.SelectItem(hItem);
    m_tree.SetFocus();
    m_tree.SetCheck(hItem);
    m_tree.Expand(hItem, TVE_EXPAND);
      

  2.   

    void FindTarget(LPCTSTR    str) {
    HRESULT hres;   
    IShellLink* psl;   
    ITEMIDLIST* pidl; 
    IPersistFile* ppf;   
    CoInitialize(NULL); 
    hres = CoCreateInstance(CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER, 
    IID_IShellLink, (LPVOID *) &psl);   
    if(SUCCEEDED(hres)) {
    psl-> SetPath(str); 
    psl-> GetIDList(&pidl); 
    hres = psl-> QueryInterface(IID_IPersistFile, (void * *) &ppf);   
    if(SUCCEEDED(hres)) {
    WCHAR wsz[MAX_PATH];
    #ifdef   _UNICODE 
    wcscpy(wsz, str); 
    #else 
    // MultiByteToWideChar(CP_ACP, 0, str, -1, wsz, MAX_PATH);   
    #endif   
    //   Load   the   shortcut.   
    hres = ppf-> Load(wsz, STGM_READ);   
    if(SUCCEEDED(hres)) {
    psl-> GetIDList(&pidl);

    ppf-> Release();

    XZSHOpenFolderAndSelectItems(pidl);  psl-> Release();

    CoUninitialize();
    }
      

  3.   

            CString str;
    str.Format("explorer /n, /select, %s", szFileName);
    WinExec(str, SW_SHOWNORMAL);