我需要为在 2008 服务器上运行的 ac# 应用程序设置跳转列表快捷方式,但安装跳转列表的机器正在运行 Windows 7。
当应用程序在本地运行时设置跳转列表没有问题,所以我知道代码有效。我想知道我是否遗漏了一个步骤或某些(希望)对其他有更多经验的人来说显而易见的东西。
编辑[应用程序不是在从服务器执行它的win7机器上运行吗?难道是我(在不知不觉中)试图将 JumpList 快捷方式添加到 08 服务器开始菜单?我刚刚开始谋生,我什至不知道我缺乏什么,感谢任何帮助!]
添加“我的”代码以防万一:
#region Win7 Specific Code
if (m.Msg == Windows7Taskbar.TaskbarButtonCreatedMessage)
{
try
{
jlm = new JumpListManager(appID);
jlm.UserRemovedItems += delegate { };
string strAppDir = Path.GetDirectoryName(Assembly.GetEntryAssembly().Location);
app = Assembly.GetEntryAssembly().GetName().Name + ".exe";
jlm.AddUserTask(new ShellLink
{
Title = "Smart Client",
Path = Path.Combine(strAppDir, app),
Arguments = "sc",
IconLocation = Path.Combine(strAppDir, @"ico\a.ico")
});
jlm.AddUserTask(new ShellLink
{
Title = "Web Client",
Path = Path.Combine(strAppDir, app),
Arguments = "wc",
IconLocation = Path.Combine(strAppDir, @"ico\b.ico")
});
jlm.AddUserTask(new ShellLink
{
Title = "TSQL Solution",
Path = Path.Combine(strAppDir, app),
Arguments = "ts",
IconLocation = Path.Combine(strAppDir, @"ico\c.ico")
});
jlm.AddUserTask(new ShellLink
{
Title = "C# Solution",
Path = Path.Combine(strAppDir, app),
Arguments = "cs",
IconLocation = Path.Combine(strAppDir, @"ico\d.ico")
});
jlm.AddUserTask(new ShellLink
{
Title = "Report Solution",
Path = Path.Combine(strAppDir, app),
Arguments = "rs",
IconLocation = Path.Combine(strAppDir, @"ico\e.ico")
});
jlm.Refresh();
提前感谢您提供的任何指导。
- 山姆