将文件拖动到桌面快捷方式-不在应用程序中打开文件
本文关键字:文件 应用程序 拖动 桌面 快捷方式 | 更新日期: 2023-09-27 17:59:44
我有一个小型日志查看器应用程序来读取一些自定义日志。我可以直接将文件拖动到可执行文件上,通过命令行加载它们也很好。
但是,如果我将文件拖动到桌面快捷方式,Windows将不会使用这些文件作为命令行参数来打开应用程序。它根本无法打开应用程序。
我有什么东西不见了吗?
这是在Windows 7 Enterprise x64上运行的,没有使用任何提升的权限运行。这一切都是用C#编写的。NET 4.0客户端框架等。
您的桌面快捷方式是广告中的快捷方式吗?您不能拖放到已发布的快捷方式上。如果您正在使用WiX或Visual Studio安装程序项目为应用程序创建.msi安装程序,则Windows安装程序为您创建的桌面快捷方式可能是广告快捷方式。此外,您还可以通过右键单击快捷方式、查看属性以及查看"目标"字段是否变灰来判断是否播发快捷方式。如果是,那么它就会被广告宣传。防止这种情况的一种方法是设置DISABLEADVTSHORTCUTS属性,该属性是Windows Installer属性。设置此属性将禁用应用程序的所有播发快捷方式。
设置或测试这一点的最简单方法是用Orca打开.msi文件,并将值为1的名为DISABLEADVTSHORTCUTS的属性添加到属性表中,然后再次尝试安装。
我认为,为了在快捷方式上拖动文件以工作,您需要在注册表中定义应用程序,并为其创建open
命令注册表项。
下面的链接可能是了解如何做到这一点的一个很好的起点。http://msdn.microsoft.com/en-us/library/ee872121%28v=VS.85%29.aspx
或者只需查看机器注册表中的HKEY_CLASSES_ROOT'Application'notepad.exe
,即可快速查看示例。
最简单的方法是使用"DISABLEADVTSHORTCUTS=1"运行安装程序命令行选项,例如setup.msi DISABLEADVTSHORTCUTS=1