相关疑难解决方法(0)

如何解决c#中的.lnk

我需要找出.lnk使用c#指向的文件/目录名.

最简单的方法是什么?

谢谢.

.net c#

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

创建文件快捷方式(.lnk)

我一直在寻找一种在C#中创建文件快捷方式的简单方法,但我只找到了那样做的外部dll.这实际上是相当令人惊讶的,没有内置的方法来做到这一点..

无论如何,我知道lnk文件只是具有特定命令和给定路径的文本文件.我想也许我可以创建一个文本文件(在代码中)将它的文本设置为正确的命令并将其扩展名更改为.lnk我尝试先手动执行此操作,但未能这样做.

有没有办法做这样的事情(或者可能是另一种简单的方法)来创建c#中某个路径的快捷方式?

为了清楚起见,通过快捷方式我的意思是一个.lnk文件,它导致文件 编辑:而文件我指的是我想要的任何文件,而不仅仅是我自己的应用程序的快捷方式


如果它不适合每个场景,我会编辑.

添加以下参考:

  1. Microsoft Shell控件和自动化
  2. Windows脚本宿主对象模型

添加此命名空间:

using Shell32;
using IWshRuntimeLibrary;
Run Code Online (Sandbox Code Playgroud)

接下来似乎工作:

var wsh = new IWshShell_Class();
IWshRuntimeLibrary.IWshShortcut shortcut = wsh.CreateShortcut(
    Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "\\shorcut2.lnk") as IWshRuntimeLibrary.IWshShortcut;
shortcut.TargetPath = @"C:\Users\Zimin\Desktop\test folder";            
shortcut.Save();
Run Code Online (Sandbox Code Playgroud)

希望它能帮助其他人,感谢您的关注.

另外,如果有一种创建文件的方法,请编写正确的命令,然后将其更改为lnk文件,请告诉我.

c# automation shortcut lnk

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

从Windows .lnk(快捷方式)文件中提取图标

我需要从Windows快捷方式(.lnk)文件中提取图标(或找到图标文件,如果它只是由快捷方式指向).

我不是要求从exe,dll等中提取图标.当我运行安装程序时,会创建有问题的快捷方式.并且快捷方式显示的图标不包含在快捷方式指向的.exe中.据推测,该图标嵌入在.lnk文件中,或者.lnk文件包含指向此图标所在位置的指针.但是我找到的所有工具都没有解决这个问题 - 他们都只是去了.exe.

非常感谢!

windows icons shortcut

7
推荐指数
2
解决办法
3万
查看次数

为什么我在通过 Shell32 读取公共快捷方式时会得到 E_ACCESSDENIED?

我正在尝试读取 C# 4 应用程序中所有桌面快捷方式的目标。Windows 桌面上的快捷方式可以来自多个位置,具体取决于快捷方式是为所有用户创建还是仅为当前用户创建。在这种特定情况下,我试图从公共桌面读取快捷方式,例如从 C:\Users\Public\Desktop\shortcut.lnk。

代码是这样的(路径是一个包含 lnk 文件路径的字符串):

var shell = new Shell32.ShellClass();
var folder = shell.NameSpace(Path.GetDirectoryName(path));
var folderItem = folder.ParseName(Path.GetFileName(path));
if (folderItem != null)
{
    var link = (Shell32.ShellLinkObject)folderItem.GetLink;
Run Code Online (Sandbox Code Playgroud)

最后一行抛出 System.UnauthorizedAccessException,表示不允许读取快捷方式文件的内容。我已尝试在用户的私人桌面 (c:\Users\username\Desktop) 上使用快捷方式文件,效果很好。

所以,我的问题是:

(1) 为什么我的应用程序不允许 /read/ 代码中的快捷方式,当我作为用户可以清楚地阅读内容时?

(2) 有没有办法解决这个问题?也许为应用程序使用特殊的清单文件?

而且,顺便说一下,我的操作系统是 Windows 7,64 位。

好好的

-H-

.net c# windows shell32

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

在用户的Startup文件夹中放置一个快捷方式以启动Windows

我想给我的用户一个"从Windows开始"的选项.当用户选中此选项时,它会将快捷方式图标放入"启动"文件夹(不在注册表中).

在Windows重新启动时,它将自动加载我的应用程序.

如何才能做到这一点?

.net c# vb.net windows

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

如何在Java中创建(和读取)Windows快捷方式(.lnk文件)?

同样的问题,不同的语言.

你是如何用Java做的?你用JNI吗?运行exe?或者是否有任何库读/写*.lnk像POI读/写*.xls?

我曾经解决过创建".url"这是纯文本INI文件.但我正在寻找其他有趣的方法来做到这一点.

java windows shortcuts

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

如何从c#代码更改可执行文件图标?(不是我的应用图标)

如何从c#代码更改*.EXEs图标(不是我的主应用程序图标,而是从该应用程序我想要更改另一个exe的图标).

我最终将不得不更改大量文件的图标,所以我正在寻找一种快速和良好的性能方式来做到这一点.

我一直在谷歌搜索30分钟,但我发现的是如何在VS中设置应用程序的图标.

c# resources icons

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

以编程方式在用户桌面上创建Web快捷方式

有很多资源可以以编程.lnk方式在桌面上创建文件和程序的类型快捷方式,但我想知道如何创建Web URL的快捷方式.

从我可以收集的内容来看,Web URL快捷方式是一个文本文件,以文本结尾.URL并包含类似ini的定义,例如:

[InternetShortcut]
URL=http://www.google.com/
Run Code Online (Sandbox Code Playgroud)

但是,仅仅创建文件是不够的,似乎您还需要更改其元URL属性以包含相同的链接.

知道如何创建这些?

欢迎来自.Net/Perl/batch的任何示例代码.

windows shortcuts

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

如何在没有安装程序的情况下在vb.net中创建桌面快捷方式

我想通过程序为exe文件创建桌面快捷方式.我不想使用安装程序来执行此操作.程序中的一段代码可以这样做吗?怎么样?

vb.net windows-installer winforms desktop-shortcut

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

如何使用命令行参数在C#中创建应用程序快捷方式(.lnk文件)

我写了一个简单的基于FTP的文件同步程序.其设置可以存储在XML文件中.我希望用户能够使用各种配置快速打开程序.所以我设置程序,以便能够通过命令行参数读取配置文件的路径.这样,可以基于不同的配置文件在桌面上创建快捷方式.现在,我正在尝试添加一项功能,该功能将自动为特定配置文件创建快捷方式.

我尝试过使用ShellLink.cs 这篇文章中的例子.我已经使用IWshRuntimeLibrary描述也试图在这里.我可以创建快捷方式,但属性窗口中快捷方式的"目标类型"在新快捷方式中最终为空白.如果我双击快捷方式,我会从Windows获取一个错误窗口,关于它在提供的路径中找到FooBar.xml时遇到问题.所以它似乎没有意识到应该启动一个不打开文件的应用程序.

现在,如果我打开新快捷方式的属性并在目标字段中更改某些内容,然后将其更改回来.例如,从xml中删除x,然后将其添加回来.单击确定后,快捷方式的图标会立即切换到我的应用程序的图标,并在双击时正常工作.

因此,当我手动编辑快捷方式时,它会强制窗口检查快捷方式目标类型是否应该是应用程序并切换它.

那么当目标路径不以.exe结尾时,我怎样才能通过C#创建一个目标类型为Application的新快捷方式?

c# shortcuts winforms

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

创建应用程序快捷方式

可能重复:
如何在C#或.Net中创建应用程序快捷方式(.lnk文件)

我们需要有关如何在c#中创建应用程序快捷方式的帮助#

c#

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

使用C#自动运行应用程序

我想创建一个在启动机器后自动运行的应用程序.

任何人都可以帮助我如何在C#上做到这一点.

c# autorun

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