C# CefShap从目录加载扩展名

C# CefShap从目录加载扩展名,c#,winforms,cefsharp,chromium-embedded,C#,Winforms,Cefsharp,Chromium Embedded,我需要一些帮助来加载未打包的(或者打包的,如果你知道我怎么做的话)表单目录。 我搜索了很多,但没有找到任何更新的内容 我正在尝试调用此函数: this.browser.RequestContext.LoadExtensionFromDirectory(Directory.GetCurrentDirectory() + "/vendors/static/fcfhplploccackoneaefokcmbjfbkenj", ???????????? ); 但是我没有找

我需要一些帮助来加载未打包的(或者打包的,如果你知道我怎么做的话)表单目录。
我搜索了很多,但没有找到任何更新的内容

我正在尝试调用此函数:

this.browser.RequestContext.LoadExtensionFromDirectory(Directory.GetCurrentDirectory() + 
    "/vendors/static/fcfhplploccackoneaefokcmbjfbkenj", ???????????? );
但是我没有找到一种方法来获取文档中描述的
IExtensionHandler

我在表单中有一个简单的嵌入式浏览器,我正在尝试加载扩展。
我不知道如何获得这个
IExtensionHandler

这是我的密码:

public partial class MainEmbedBrowser : Form
{
    private string ID;
    private ChromiumWebBrowser browser;

    public MainEmbedBrowser(string url, string combo)
    {
        InitializeComponent();

        this.browser = new ChromiumWebBrowser("localhost", new RequestContext());
        //this.browser.RequestContext.LoadExtensionFromDirectory(Directory.GetCurrentDirectory() + "/vendors/static/fcfhplploccackoneaefokcmbjfbkenj", extensionHandler);
        this.Controls.Add(browser);
        this.browser.Load("https://google.com");

        this.browser.Height = this.Height;
        this.browser.Width = this.Width;
        this.Show();
    }
}

如果有人可以帮助我,请提前感谢

我没有任何使用此功能的经验,但是,从查看文档中,对于您的“问号”,您需要提供一个实现该接口的类。。因此,首先您需要创建如下内容:

public class MyExtHandler : IExtensionHandler
{
    bool CanAccessBrowser(IExtension extension,IBrowser browser,bool includeIncognito,IBrowser targetBrowser)
    {
        return true;
    }

    IBrowser GetActiveBrowser(IExtension extension,IBrowser browser,bool includeIncognito)
    {
        return browser;
    }

    bool GetExtensionResource(IExtension extension,IBrowser browser,string file, IGetExtensionResourceCallback callback)
    {
        return true;
    }

    bool OnBeforeBackgroundBrowser(IExtension extension, string url, IBrowserSettings settings)
    {
        return true;
    }

    bool OnBeforeBrowser(IExtension extension,IBrowser browser,IBrowser activeBrowser,int index,string url,bool active,IWindowInfo windowInfo,IBrowserSettings settings)
    {
        return true;
    }

    void OnExtensionLoaded(IExtension extension)
    {
    }

    void OnExtensionLoadFailed(CefErrorCode errorCode)
    {
    }

    void OnExtensionUnloaded(IExtension extension)
    {
    }
}
然后,当调用该接口中的函数时,您可以决定在具体类中使用它们做什么。目前,我刚刚将它们设置为返回默认值

一旦定义了类,就可以创建一个实例,这样就可以传递到上面的代码行。比如:

var myExtHandler = new MyExtHandler();

this.browser.RequestContext.LoadExtensionFromDirectory(Directory.GetCurrentDirectory() + "/vendors/static/fcfhplploccackoneaefokcmbjfbkenj",myExtHandler  );

我希望这能帮助你开始。除了上述代码之外,我在这里没有其他经验。

到目前为止,您尝试过什么?你能分享你的代码吗?