小编Ame*_*ILI的帖子

将.NET事件暴露给COM?

我一直在尝试向VBA客户端公开和触发事件.到目前为止,在VBA客户端,事件已暴露,我看到方法事件处理方法已添加到我的模块类,但VBA事件处理方法不会触发.出于某种原因,调试事件时为null.同步修改我的代码也没有帮助.

为了记录,我已经检查了其他SO问题,但他们没有帮助.

任何好的答案将不胜感激.

[ComVisible(true)]
[Guid("56C41646-10CB-4188-979D-23F70E0FFDF5")]
[ClassInterface(ClassInterfaceType.None)]
[ComSourceInterfaces(typeof(IWebEvents))]
[ProgId("MyAssembly.MyClass")]
public class MyClass : ServicedComponent, IMyClass
{
    public string _address { get; private set; }
    public string _filename { get; private set; }

    [DispId(4)]
    public void DownloadFileAsync(string address, string filename)
    {
        _address = address;
        _filename = filename;
        System.Net.WebClient wc = new System.Net.WebClient();
        Task.Factory.StartNew(() => wc.DownloadFile(_address, _filename))
            .ContinueWith((t) =>
        {
            if (null != this.OnDownloadCompleted)
                OnDownloadCompleted();
        });
    }
    public event OnDownloadCompletedEventHandler OnDownloadCompleted;
}

[ComVisible(false)]
public delegate void OnDownloadCompletedEventHandler();

[ComVisible(true)]
[InterfaceType(ComInterfaceType.InterfaceIsIDispatch)]
public interface IWebEvents
{ …
Run Code Online (Sandbox Code Playgroud)

c# com events vba

25
推荐指数
1
解决办法
3821
查看次数

使用TopMost = true打开一个WinForms表单,但没有窃取焦点?

我有一个弹出用户屏幕的表单TopMost=true,但是它会窃取焦点.如何才能让它在第一次出现时没有窃取焦点?

c# topmost winforms

18
推荐指数
2
解决办法
1万
查看次数

由于cookie被阻止,无法使用selenium包装器登录wordpress?

我正在使用selenium包装器(通过VBA)在我的wordpress网站上运行自动化测试.

单击登录按钮时,出现此错误:

ERROR: Cookies are blocked or not supported by your browser
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

我已经在IE中更改了设置以接受所有cookie.Chrome默认接受Cookie但由于某种原因,这似乎不起作用.它可能是用户代理吗?

我的wordpress版本是4.5

'Login code 
Sub InitiateLogin()

    web_driver.get "wp-login", -1, False
    web_driver.findElementById(Base64DecodeString("STUFFHERE")).SendKeys Base64DecodeString("STUFFHERE")
    web_driver.findElementById(Base64DecodeString("STUFFHERE")).SendKeys Base64DecodeString("STUFFHERE")
    web_driver.findElementById("wp-submit").Click
    web_driver.setTimeout ("120000")
    web_driver.setImplicitWait (5000)
   End Sub
Run Code Online (Sandbox Code Playgroud)

cookies excel vba selenium-webdriver

5
推荐指数
1
解决办法
591
查看次数

将新的扩展属性添加/编辑到现有文件的详细信息选项卡中

我尝试在SO上查看,但所有试图回答的问题都没有提供完整的答案.

我实际上想要在现有文件的详细信息选项卡中添加属性.文件是sldprt扩展名.必须在Windows资源管理器中显示属性/值.

不确定如何使用Windows API Code Pack Shell或DSOFile完成此操作?任何其他解决方案也很好.

我在Windows 10上使用VS,C#.

如果有人能提供详细的解决方案,我会非常感激.

完美的解决方案是:

  • 通过dsofile,ADS或任何可能的方法将属性添加到文件中.
  • 编辑到Windows Registery或负责在文件属性的详细信息选项卡和Windows资源管理器中显示新属性的Windows的任何部分
  • 显示如何编辑属性的值.

如此这样的回答问题不属性的细节选项卡,也没有Windows资源管理器的详细视图中添加.

我认为这是可能的,因为SOLIDWORKS(3d包)将所有名为sw的属性添加到所有SOLIDWORKS文件中.详细信息窗口中有很多其他属性.

如果您没有正确的解决方案,请不要回答.非常感谢你.

我不确定这个问题与向文件添加新元数据属性有关.

预览:

在此输入图像描述 在此输入图像描述

编辑:

关于sldprt扩展的注册(供参考):

在此输入图像描述

c# attributes windows-api-code-pack dsofile

4
推荐指数
1
解决办法
1150
查看次数

可以安全地假设,在VB.net中,方法意味着一个子或函数?

初学者问题:在VB.net开发环境中,假设"方法"这个词最终将我们引用到函数或子例程的概念是否安全?

最终,函数是一个指令块,为模块化编程目的而创建.它可能有参数传递给它,它肯定必须返回一些东西.子也同样没有回报.

请原谅我的无知,但我刚刚开始学习VB.net.

vb.net

2
推荐指数
1
解决办法
156
查看次数

为什么lambda和匿名方法不允许在左侧或作为运算符?

Lamb的左侧或作为运算符不允许使用Lambda.MSDN

一个真实的例子清楚的解释将不胜感激?

c# linq lambda anonymous-methods

1
推荐指数
1
解决办法
363
查看次数