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