【问题标题】:c# autorun program when system starts gets error start manually works [closed]c#系统启动时自动运行程序得到错误启动手动工作[关闭]
【发布时间】:2016-01-19 21:29:56
【问题描述】:

大家好,我创建的程序在启动时启动,但出现错误提示:

找不到文件“C:\Windows\system32\Uribaani-Realm-Computer.ico”。

此文件安装在应用程序文件夹中。 当我手动启动程序时,一切正常。

程序在 Mindump 调试器上显示错误的代码。

NotifyIcon icon = new NotifyIcon();
icon.Icon = new Icon("Uribaani-Realm-Computer.ico");
icon.Visible = true;

我从下面回答的问题中添加了自动启动程序:

How to make an exe start at the Windows Startup

【问题讨论】:

  • 给我一个你投反对票的理由。问题很简单!!!
  • 向应用资源添加图标,而不是从硬编码位置加载。
  • 资源管理器启动文件夹中快捷方式设置的起始位置是什么(假设您使用的是该方法)?除非设置初始当前目录将是c:\Windows\System32。如果不使用快捷方式,则需要计算出相对于可执行文件的正确路径。
  • Ben,根据该代码,您正在从文件加载。请参阅msdn.microsoft.com/en-us/library/5yt46ccy.aspx
  • 问题已回答,无需进一步调查。

标签: c#


【解决方案1】:

当它自动运行时,当前文件夹是“C:\Windows\system32”,所以它正在寻找 ico 文件。您需要在代码中提供 ico 的完整路径。

如果文件与 exe 位于同一文件夹中,则可以使用 AppDomain.CurrentDomain.BaseDirectory。例如:

icon.Icon = new Icon(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Uribaani-Realm-Computer.ico"));

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-25
    • 2013-02-26
    • 2018-03-01
    • 2011-11-05
    • 1970-01-01
    • 2011-04-06
    相关资源
    最近更新 更多