【问题标题】:Exe Shortcut with Visual basic default icon带有 Visual Basic 默认图标的 Exe 快捷方式
【发布时间】:2020-12-05 05:27:32
【问题描述】:

当我打开一个 exe 文件时,任务栏图标显示正确,但当我尝试打开同一个 exe 文件的快捷方式时,任务栏图标不同(显示默认图标)。在任务栏设置中将组合任务栏按钮更改为“从不”时,它可以正常工作,但如果它在“始终,隐藏标签”中,则会出现上述问题。

Exe 图标:

快捷方式图标:

我正在使用 Microsoft Visual Basic 2010 Express。应用程序图标以编程方式设置,并在 Visual Basic 中 Application-> Icons - Default 选项下被选中。

我的部分代码如下:

If fs.FileExists(AppPathStr & "\FAQIcon.txt") Then
  Me.Icon = New Icon(AppPathStr & "\" & "filecontent.ico")
Else
  Me.Icon = New Icon(AppPathStr & "\" & "Project1.ico")
End If

我在Link中发现了一个类似的问题,说exe文件和同一个exe文件的快捷方式不应该指向同一个位置。

相反,我需要将快捷方式 exe 指向一个启动器应用程序,该应用程序向主应用程序发送壳,但我不想拥有一个启动器应用程序。

有人知道这个问题的解决方案吗?

【问题讨论】:

  • 还可以尝试对示例中的所有内容仅使用双引号;不是双双引号。即AppPathStr & "\FAQIcon.txt"AppPathStr & "\Project1.ico"

标签: vb.net icons shortcut


【解决方案1】:

如果您切换到使用图标作为资源而不是从磁盘读取它们会发生什么?

即右键单击您的项目 |属性 |资源,将 2 个图标添加为图像,然后:

If fs.FileExists(AppPathStr & "\FAQIcon.txt") Then
     Me.Icon = My.Resources.filecontent
   Else
     Me.Icon = My.Resources.Project1
End If

旁注:您也可以将 Faqicon.txt 文件添加到您的资源中并根据需要提取它,然后您不必测试它是否存在于磁盘上;您只需根据需要提取它并将图标设置为匹配,即:

' Extract the FAQIcon.txt resource
Dim b() As Byte = My.Resources.FAQIcon

' Write it to the folder
File.WriteAllBytes(AppPathStr & "\FAQIcon.txt", b)

或者,如果您不需要将其提取到文件中,例如,只需将其加载到文本框中:

FAQIcon.Text = My.Resources.FAQIcon

【讨论】:

  • 我已经测试了上面的方法。它没有解决问题。
猜你喜欢
  • 2021-08-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-01
  • 2016-04-23
  • 2016-08-27
  • 1970-01-01
相关资源
最近更新 更多