打开文件夹后如何选中文件,迅雷那样的选中文件。 - C++ Builder / Windows SDK/API
在做报表导出,导出完后要打开文件夹,但不知道如何实现选中文件。
fastreport导入excel 换页的时候有空行 如何去掉,。
[解决办法]
第一个问题:
#include <tchar.h>#include <stdio.h>TCHAR szFile[] = TEXT("C:\\windows\\system32\\calc.exe");TCHAR szParam[256] = { 0 };_stprintf(szParam, TEXT("/n,/select,%s"), szFile);::ShellExecute(0, TEXT("Open"), TEXT("Explorer.exe"), szParam, NULL, SW_SHOW);
[解决办法]
//在资源浏览器中打开并且选中//在include 最开始加入以下define#define NO_WIN32_LEAN_AND_MEAN #include <shlobj.h>BOOL explore(wchar_t *path){ BOOL bResult; LPSHELLFOLDER IpsfDeskTop; LPITEMIDLIST pidl; HRESULT hres; SHGetDesktopFolder(&IpsfDeskTop); hres = IpsfDeskTop->ParseDisplayName(NULL, NULL, path, NULL, &pidl, NULL); hres = IpsfDeskTop->Release(); if (FAILED(hres)) return FALSE; typedef HRESULT (WINAPI *MYFUNC)(LPCITEMIDLIST*, UINT, LPCITEMIDLIST*, DWORD); HINSTANCE ghShell32 = LoadLibrary("Shell32.DLL"); if (ghShell32 != NULL) { MYFUNC SHOpen = (MYFUNC)GetProcAddress(ghShell32, "SHOpenFolderAndSelectItems"); if (SHOpen != NULL) { CoInitialize(NULL); SHOpen((LPCITEMIDLIST*)pidl, 0, NULL, 0); CoUninitialize(); bResult = TRUE; } FreeLibrary(ghShell32); bResult = FALSE; } return bResult;}