我需要为在 2008 服务器上运行的 c# 应用程序设置跳转列表快捷方式,但安装跳转列表的计算机运行的是 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, @"icoa.ico")
});
jlm.AddUserTask(new ShellLink
{
Title = "Web Client",
Path = Path.Combine(strAppDir, app),
Arguments = "wc",
IconLocation = Path.Combine(strAppDir, @"icob.ico")
});
jlm.AddUserTask(new ShellLink
{
Title = "TSQL Solution",
Path = Path.Combine(strAppDir, app),
Arguments = "ts",
IconLocation = Path.Combine(strAppDir, @"icoc.ico")
});
jlm.AddUserTask(new ShellLink
{
Title = "C# Solution",
Path = Path.Combine(strAppDir, app),
Arguments = "cs",
IconLocation = Path.Combine(strAppDir, @"icod.ico")
});
jlm.AddUserTask(new ShellLink
{
Title = "Report Solution",
Path = Path.Combine(strAppDir, app),
Arguments = "rs",
IconLocation = Path.Combine(strAppDir, @"icoe.ico")
});
jlm.Refresh();
提前感谢您提供的任何指导。
- 山 姆
最终的解决方案是构建一个行为类似于跳转列表的应用程序。据我所知,从网络共享加载时无法实现我的结果。