将文本拖动到C#应用程序图标上以启动应用程序



我有一个C#、Windows 7、表单应用程序,它可以与剪贴板一起检索文本,然后进行相应的处理。我想修改应用程序,允许用户突出显示任何来源的文本(单词、电子邮件等),并将该文本拖到我的应用程序图标上以启动程序。

我可以让命令行参数像这样工作:

static void Main(string[] args)
  {
    if (args != null)
    {
      for (int i = 0; i < args.Length; i++){
         varItemNumber = args[i];
      }
    }//...

但是当文本被放在桌面上时,该应用程序不会在桌面上启动

发现了与控制台应用程序有关的类似问题。

有没有一种方法可以将对象放到应用程序图标上?

根据这个问题,你所做的应该有效。很多人推荐这个属性而不是Main函数:

 [STAThread]

但也有人抱怨UAC的问题阻碍了他们这样做。因此(UAC)可能是问题的一部分。

另一个想法是:与实际将应用程序安装到桌面相比,快捷方式可能会得到不同的结果吗?

最后:根据这个,您需要的是一个Shell Drop Handler。

最新更新