日期:2014-05-17  浏览次数:20809 次

[分享]把程序锁定到Win7任务栏
本功借鉴妖哥的Blog
http://blog.csdn.net/ccrun/article/details/6906471

DotNetFramework 3.5,如果是2.0的话需要把System.Linq去掉
C#版代码

Win7Taskbar类

using System;
using System.Collections.Generic;
using System.Linq;
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;

        }
    }
}


调用方法

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

Console.ReadKey();

Console.WriteLine(Win7Taskbar.LockApp(false, appPath) ? "解锁程序成功" : "解锁程序失败");

------解决方案--------------------
感谢分享
PS:有实际效果图木有?
------解决方案--------------------
感谢分享
------解决方案--------------------
GOOD!
------解决方案--------------------
不错 顶了
------解决方案--------------------
不错的小例子 ,顶~
------解决方案--------------------
好像WIN7就有这个功能吧
------解决方案--------------------
这个不错,非常值得分享。
------解决方案--------------------
不错,很好,呵呵
------解决方案--------------------
感谢分享……
------解决方案--------------------