当前位置: 首页 > 编程笔记 >

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

贺雪松
2023-03-14
本文向大家介绍C#实现将程序锁定到Win7任务栏的方法,包括了C#实现将程序锁定到Win7任务栏的方法的使用技巧和注意事项,需要的朋友参考一下

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

Win7Taskbar类:

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;
 }
 }
}

调用方法:

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#程序设计有所帮助。

 类似资料:
  • 问题内容: 我目前正在尝试将Java应用程序固定到Windows 7任务栏。该应用程序通过Launch4j启动。程序图标正确显示,但是右键单击任务栏上的图标仅显示带有条目“关闭窗口”的上下文菜单。没有用于将应用程序固定到任务栏的菜单条目。将EXE文件拖到任务栏中也无法正常工作。当在任务栏中单击此新启动器时,任务栏中会出现另一个图标。 第二个问题/解决方案中的JNA内容将进行编译,并且不会引发任何异

  • 本文向大家介绍C++实现闹钟程序的方法,包括了C++实现闹钟程序的方法的使用技巧和注意事项,需要的朋友参考一下 本文所述为C++实现闹钟程序的方法,代码结构相对简单,注释也较为完善。现分享给大家供大家参考。 具体功能代码如下: 感兴趣的读者可以测试运行一下该实例代码,功能不足之处可以根据情况加以改进和完善。希望该实例能够对大家学习C++起到一定的帮助作用。

  • 本文向大家介绍PHP实现定时执行任务的方法,包括了PHP实现定时执行任务的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP实现定时执行任务的方法,代码简单实用。分享给大家供大家参考。 具体实现方法如下: 希望本文所述对大家的PHP程序设计有所帮助。

  • 本文向大家介绍SpringBoot 实现定时任务的方法详解,包括了SpringBoot 实现定时任务的方法详解的使用技巧和注意事项,需要的朋友参考一下 一、定时任务实现的几种方式: Timer 这是java自带的java.util.Timer类,这个类允许你调度一个java.util.TimerTask任务。使用这种方式可以让你的程序按照某一个频度执行,但不能在指定时间运行。一般用的较少。 Sch

  • 问题内容: 我有为任意键实现“锁定处理程序”的代码。给定一个,它确保一次只能有一个线程可以(或等于)该键(这意味着调用该调用)。 到目前为止,我有这样的代码: 我知道这段代码可能导致,因为没有清晰的地图。 我考虑如何制作地图,该地图将累积有限数量的元素。当超过限制时,我们应该用new替换最旧的访问元素(此代码应与最旧的元素作为监视器同步)。但是我不知道如何进行回调,这将告诉我超出限制。 请分享您的

  • 我的代码实现了一个任意键的“锁处理程序”。给定,它确保每次只有一个线程可以该(或等于)key(这里表示调用调用)。 到目前为止,我有这样的代码: 我理解这段代码可能导致,因为没有一个清晰的映射。 我重新阅读了该任务,现在我发现我的限制是方法不能被调用超过8个线程。我不知道它对我有什么帮助,但我刚刚提到了。 P.S.2 @蜘蛛鲍里斯建议了一个很好又简单的解决方案: 但在Boris注意到我们的代码不是