CHG If setting the taskbar doesn't work, the control just retries again (and again) rather than throwing an exception.

git-svn-id: https://svn.evolvesoftware.ch/repos/evolve.net/WPF/NotifyIcon@172 9f600761-6f11-4665-b6dc-0185e9171623
This commit is contained in:
Philipp Sumi
2013-11-16 19:42:54 +00:00
parent cad08add0c
commit b4ae746d1c

View File

@@ -26,7 +26,9 @@ using System;
using System.ComponentModel;
using System.Diagnostics;
using System.Drawing;
using System.Runtime.Remoting.Channels;
using System.Threading;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Controls.Primitives;
@@ -878,7 +880,15 @@ namespace Hardcodet.Wpf.TaskbarNotification
var status = Util.WriteIconData(ref iconData, NotifyCommand.Add, members);
if (!status)
{
throw new Win32Exception("Could not create icon data");
//couldn't create the icon - we can assume this is because explorer is not running (yet!)
//-> try a bit later again rather than throwing an exception. Typically, if the windows
// shell is being loaded later, this method is being reinvoked from OnTaskbarCreated
Task.Factory.StartNew(() =>
{
Thread.Sleep(1000);
CreateTaskbarIcon();
});
return;
}
//set to most recent version