{"id":21070840,"url":"https://github.com/fafalone/explorerbrowsercustomview","last_synced_at":"2025-10-16T09:02:34.855Z","repository":{"id":224258082,"uuid":"762836377","full_name":"fafalone/ExplorerBrowserCustomView","owner":"fafalone","description":"Display search results or other custom file set in IExplorerBrowser ","archived":false,"fork":false,"pushed_at":"2024-03-03T21:46:50.000Z","size":4158,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-20T21:56:50.086Z","etag":null,"topics":["explorer","shell-api","twinbasic","vb6","windows","windows-shell"],"latest_commit_sha":null,"homepage":"","language":"Visual Basic 6.0","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fafalone.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-02-24T20:29:39.000Z","updated_at":"2024-03-23T19:17:52.000Z","dependencies_parsed_at":"2024-11-19T18:49:08.003Z","dependency_job_id":"c8a6b24f-81ce-4db8-9e07-dd287239cc96","html_url":"https://github.com/fafalone/ExplorerBrowserCustomView","commit_stats":null,"previous_names":["fafalone/explorerbrowsercustomview"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fafalone%2FExplorerBrowserCustomView","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fafalone%2FExplorerBrowserCustomView/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fafalone%2FExplorerBrowserCustomView/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fafalone%2FExplorerBrowserCustomView/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fafalone","download_url":"https://codeload.github.com/fafalone/ExplorerBrowserCustomView/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243513879,"owners_count":20303026,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["explorer","shell-api","twinbasic","vb6","windows","windows-shell"],"created_at":"2024-11-19T18:48:34.243Z","updated_at":"2025-10-16T09:02:29.835Z","avatar_url":"https://github.com/fafalone.png","language":"Visual Basic 6.0","readme":"# ExplorerBrowserCustomView\nDisplay search results or other custom file set in IExplorerBrowser \n\nThis is a port of [my VB6 project](https://www.vbforums.com/showthread.php?865485) that uses `IResultsFolder` to display search results in an `IExplorerBrowser` frame on your form:\n\nUpdate (03 Mar 2024): .twinproj has been updated to use a more recent version of WinDevLib (formerly tbShellLib) due to errors in the package tB did not raise at the time this project was released.\n\n![image](https://github.com/fafalone/ExplorerBrowserCustomView/assets/7834493/28aa8be9-948e-4509-9c0d-625b0e1323c3)\n\n### About\nMost of my shell projects thus far have focused on displaying locations in the shell, but what if you wanted to display the results of a search or some other list that involves files from all across the system? Turns out this is fairly straightforward to do in `IExplorerBrowser` using the `IResultsFolder` interface.\n\nThe demo project does this as a search, when the form comes up it first displays an empty ExplorerBrowser until you hit run. The startup routine then queries this blank display for its `IResultsFolder` interface, which represents the items in it-- none now, but the search will fill it.\n\nCode:\n```vba\n'(...)\npEBrowse.Initialize Frame1.hWnd, rcEB, tFS\npEBrowse.SetOptions lFlag\npEBrowse.FillFromObject Nothing, EBF_NODROPTARGET\npEBrowse.GetCurrentView IID_IFolderView2, pfv\nIf (pfv Is Nothing) = False Then\n'    'OPTIONAL\n    'Customize which columns appear: fill uCol with however many columns (PROPERTYKEY's from mPKEY)\n    ' you want, then be sure to change the second argument in SetColumns to the number of keys\n    Dim uCol() As PROPERTYKEY\n    ReDim uCol(2)\n    Set pColMgr = pfv\n    uCol(0) = PKEY_ItemNameDisplay\n    uCol(1) = PKEY_ItemFolderPathDisplay\n    uCol(2) = PKEY_Image_Dimensions\n    pColMgr.SetColumns uCol(0), 3\u0026\n    pfv.GetFolder IID_IResultsFolder, pResFolder\nElse\n    Debug.Print \"Error-\u003eNo folderview\"\nEnd If\n```\n\nWhen you click run, it searches the given folder... you can modify this in any number of ways. The search algorithm here uses shell interfaces to enumerate and PathMatchSpec to compare. You can change search methods, change it to search multiple directories, etc. All that's important is that when you find a match, you add it to the `IResultsFolder`. The demo adds by `IShellItem`, but you can also add by pidl. The view is updated automatically as the search runs. The result is like the main picture up top.\\\nIn the code, once the initialization routine has run, the IResultsFolder object is created, so all you have to do is call `.AddItem` or `.AddIDList`.\n\n### Custom Columns\nIt's also possible to customize which columns you want to show.\n\nIn the demo project, there's optional code (commented out by default) in the initialization routine that shows how to make a list of PROPERTYKEY values to show as the column list.  \n\n\n### Requirements\n-Windows Vista or newer\\\n-Windows Development Library for twinBASIC\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffafalone%2Fexplorerbrowsercustomview","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffafalone%2Fexplorerbrowsercustomview","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffafalone%2Fexplorerbrowsercustomview/lists"}