Results 1 to 13 of 13

Thread: CLSID_ExplorerBrowser?

  1. #1

    Thread Starter
    Fanatic Member
    Join Date
    Mar 2023
    Posts
    832

    CLSID_ExplorerBrowser?

    A fast question.
    "{95E15D0A-66E6-93D9-C53C-76E6219D3341}"
    Is this the correct CLSID string for CLSID_ExplorerBrowser?
    I did find it in the ProxyStubClsid32 regkey

  2. #2
    Addicted Member -Franky-'s Avatar
    Join Date
    Dec 2022
    Location
    Bremen Germany
    Posts
    234

  3. #3
    PowerPoster
    Join Date
    Jul 2010
    Location
    NYC
    Posts
    5,737

    Re: CLSID_ExplorerBrowser?

    You could have looked in oleexp's source, or better, you should install the SDK and get used to looking things up in it, as it's the authoritative source:

    Code:
    EXTERN_C const CLSID CLSID_ExplorerBrowser;
    
    #ifdef __cplusplus
    
    class DECLSPEC_UUID("71f96385-ddd6-48d3-a0c1-ae06e8b055fb")
    ExplorerBrowser;
    #endif

  4. #4

    Thread Starter
    Fanatic Member
    Join Date
    Mar 2023
    Posts
    832

    Re: CLSID_ExplorerBrowser?

    Aha thanks. Now I know

  5. #5

    Thread Starter
    Fanatic Member
    Join Date
    Mar 2023
    Posts
    832

    Re: CLSID_ExplorerBrowser?

    This database is not recoqnizable by google or bing. But thanks.

  6. #6
    Addicted Member -Franky-'s Avatar
    Join Date
    Dec 2022
    Location
    Bremen Germany
    Posts
    234

    Re: CLSID_ExplorerBrowser?

    Quote Originally Posted by nebeln View Post
    This database is not recoqnizable by google or bing. But thanks.
    I've been using magnumdb.com for years to quickly find IIDs, CLSIDs, Enums, Const, error codes, etc. I also recommend that you install the Windows SDK.

  7. #7

    Thread Starter
    Fanatic Member
    Join Date
    Mar 2023
    Posts
    832

    Re: CLSID_ExplorerBrowser?

    I have just recently in writing moment installed the Win SDK.

  8. #8
    PowerPoster
    Join Date
    Jul 2010
    Location
    NYC
    Posts
    5,737

    Re: CLSID_ExplorerBrowser?

    Quote Originally Posted by nebeln View Post
    Aha thanks. Now I know
    You know this, but installing VS and the SDK would quickly answer countless other questions you can't find answers to on google and without waiting for one of us to go look in the code for you. Both VS Community and the Windows SDK are free.

    I found the snippet I posted by type CLSID ccexp = CLSID_ExplorerBrowser; in a c++ scratch project with #include windows.h, and right clicked and selected 'go to definition'... it's very easy.
    Last edited by fafalone; Feb 21st, 2024 at 03:34 PM.

  9. #9

    Thread Starter
    Fanatic Member
    Join Date
    Mar 2023
    Posts
    832

    Re: CLSID_ExplorerBrowser?

    But isn't Win10 compatible with IExploreBrowser?
    ShCreateIExplorerBrowser: returns COM Error 80040154
    Seems to a 64bit Error.

  10. #10
    PowerPoster
    Join Date
    Jul 2010
    Location
    NYC
    Posts
    5,737

    Re: CLSID_ExplorerBrowser?

    How could we possibly know why your code is failing if you don't post it?

    That error is just REGDB_E_CLASSNOTREG. not related to bitness; ExplorerBrowser works fine in either 32 or 64, I've got a couple samples in both VB6 and tB with x64 compat.

  11. #11

    Thread Starter
    Fanatic Member
    Join Date
    Mar 2023
    Posts
    832

    Re: CLSID_ExplorerBrowser?

    Sorry..here it comes...
    Code:
    Public Declare Function CoCreateInstance Lib "ole32.dll" (ByVal rclsid As Any, ByVal pUnkOuter As Long, ByVal dwClsContext As Long, riid As Any, ByRef ppv As Any) As Long
    
    Public Function ShCreateIExplorerBrowser(pIEB As IExplorerBrowser) As Long
      Dim hr As Long
      Static CLSID_ExplorerBrowser As GUID
      
      IIDFromString StrPtr(sCLSID_ExplorerBrowser), CLSID_ExplorerBrowser
      hr = CoCreateInstance(VarPtr(CLSID_ExplorerBrowser), 0, CLSCTX_INPROC_SERVER, VarPtr(IID_IExplorerBrowser), pIEB)
      ShCreateIExplorerBrowser = hr
    End Function
    First time ever encountered this error REGDB_E_CLASSNOTREG.
    Last edited by nebeln; Feb 21st, 2024 at 06:17 PM.

  12. #12
    PowerPoster
    Join Date
    Jul 2010
    Location
    NYC
    Posts
    5,737

    Re: CLSID_ExplorerBrowser?

    Something is wrong with your IID declarations and/or how they're being passed. It works fine with the way I declare IIDs with functions and ByRef UUID. I'm not going to play guessing games with how all the code you still didn't include is going wrong somewhere.

    Code:
    Public Function CLSID_ExplorerBrowser() As UUID
    '{71f96385-ddd6-48d3-a0c1-ae06e8b055fb}
    Static iid As UUID
     If (iid.Data1 = 0) Then Call DEFINE_UUID(iid, &H71F96385, CInt(&HDDD6), CInt(&H48D3), &HA0, &HC1, &HAE, &H6, &HE8, &HB0, &H55, &HFB)
     CLSID_ExplorerBrowser = iid
    End Function
    Then with oleexp/mIID,

    CoCreateInstance CLSID_ExplorerBrowser, Nothing, CLSCTX_INPROC_SERVER, IID_IExplorerBrowser, pIEB

    That's now two different working ways I've provided (the coclass is the other), I leave it as an exercise for you to find which difference is the issue.

  13. #13

    Thread Starter
    Fanatic Member
    Join Date
    Mar 2023
    Posts
    832

    Re: CLSID_ExplorerBrowser?

    I tweaked a little in CoCreateInstance parameters and it does work now (returns S_OK)
    I changed the 2nd param from Long to Object so Nothing istead of 0 could be used.
    And in
    Code:
    Public Declare Function CLSIDFromString2 Lib "ole32.dll" Alias "CLSIDFromString" (ByVal pszCLSID As Long, ByRef pguid As GUID) As Long
    I changed to GUID instead of Any
    And changed to Dim istead if Static in the starting declaration.
    Dim CLSID_ExplorerBrowser As GUID

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width