C#实现将程序锁定到Win7任务栏的方法

时间:2022-01-11 03:31:29

本文实例讲述了C#实现将程序锁定到Win7任务栏的方法。分享给大家供大家参考。具体实现方法如下:

Win7Taskbar类:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
using System;
using System.Collections.Generic;
using System.Text;
using Shell32;
using System.IO;
namespace TestWin7Taskbar
{
 class Win7Taskbar
 {
 public static bool LockApp(bool isLock, string appPath)
 {
  Shell shell = new Shell();
  Folder folder = shell.NameSpace(Path.GetDirectoryName(appPath));
  FolderItem app = folder.ParseName(Path.GetFileName(appPath));
  string sVerb = isLock ? "锁定到任务栏(&K)" : "从任务栏脱离(&K)";
  foreach (FolderItemVerb Fib in app.Verbs())
  {
  if (Fib.Name == sVerb)
  {
   Fib.DoIt();
   return true;
  }
  }
  return false;
 }
 }
}

调用方法:

?
1
2
3
4
string appPath = @"C:\Windows\notepad.exe";
Console.WriteLine(Win7Taskbar.LockApp(true, appPath) ? "锁定程序成功" : "锁定程序失败");
Console.ReadKey();
Console.WriteLine(Win7Taskbar.LockApp(false, appPath) ? "解锁程序成功" : "解锁程序失败");

PS:

1.这个只适合中文系统,其他语言系统,请自己鼠标右键程序找Verb名换上即可
2.必须要引用 Interop.Shell32.dll

希望本文所述对大家的C#程序设计有所帮助。