簡體   English   中英

Visual Studio-應用程序圖標-PowerPoint加載項

[英]Visual Studio - Application Icon - PowerPoint Addin

我已經使用Visual Studion 2012編寫了PowerPoint插件。

我從來沒有這樣做過,並從文件/新建/ PowerPoint 2010中的插件開始這個項目。

這創造了一個“類庫”項目。

所以我寫了我的插件,它運行完美。 快樂的時光!

但是,當應用程序被安裝在計算機上控制面板中的圖標/安裝的軟件是默認的圖標。

通常,我本來希望能夠進入項目屬性/應用程序並選擇我想要使用的圖標,但我唯一的選擇是選擇資源文件。

我已經加入.ico文件到我的資源,但似乎無法工作,如何讓它項目的圖標。

有人可以幫忙嗎?

對不起,忘了說,這是被安裝使用“的ClickOnce”分配制度。 我已經看過“發布”屬性選項卡並沒有什么在那里要么定義應用程序圖標。

謝謝

特雷弗

好的,現在我知道涉及到ClickOnce了,我認為您可以找到有用的代碼。 它必須在應用程序啟動時運行。 該代碼直接編輯注冊表,因此在某些Windows版本中可能會有所不同。

/// <summary>
/// change the icon in add/remove programs     
/// </summary>
private static void SetProgramInstallIcon()
{
  //run only when deployed 
  if (System.Deployment.Application.ApplicationDeployment.IsNetworkDeployed
     && ApplicationDeployment.CurrentDeployment.IsFirstRun)
  {
    try
    {
      string iconSourcePath = Path.Combine(System.Windows.Forms.Application.StartupPath, "YourFancyIcon.ico");
      if (!File.Exists(iconSourcePath))
        return;

      RegistryKey myUninstallKey = Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Uninstall");
      string[] mySubKeyNames = myUninstallKey.GetSubKeyNames();
      for (int i = 0; i < mySubKeyNames.Length; i++)
      {
        RegistryKey myKey = myUninstallKey.OpenSubKey(mySubKeyNames[i], true);
        object myValue = myKey.GetValue("DisplayName");
        if (myValue != null && myValue.ToString() == "YourApplicationDisplayName")
        {
          myKey.SetValue("DisplayIcon", iconSourcePath);
          break;
        }
      }
    }
    catch (Exception ex) {
      //manage errors as you like (log, UI, ...)
    }
  }
}

從該線程說的內容來看這似乎是不可能的。

由於它是.dll,因此OS決定為其分配什么圖標。

特雷夫

將圖標添加到Visual Studio 2008-內置類庫DLL中?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM