“跳转列表”中“已固定”微信菜单链接跳转到小程序其他页面下的网站icon图标丢失

404 Not Found
404 Not Found& 相关文章 &
Winforms: Windows 7中Taskbar的新效果(2)——Overlay Icon
在Win7中运行MSN,我们发现MSN在Taskbar的按钮上,有一个小图片来显示MSN的状态:绿色表示有空,红色表示忙碌,黄色表示不在,而灰色表示脱机。
为了实现这个效果,Windows提供了一个API SetOverlayIcon。下面将详细介绍使用这个API的步骤。 1.
准备三张16×16的icon,颜色分别为红、黄、蓝。把这三张Icon添加到Winforms工程里去。 2.
在一个form上添加一个Label,把它的Text属性
功能 详解Visual Studio 2010中WF 4.0的应用 Visual Studio 2010确定将于4月12日正式..
使用WPF 4,你几乎可以获得Windows 7 UI最大特色的所有功能,WPF 4内置支持Windows 7任务栏,包括自定义缩略图预览,从任务栏的进度条、图标和Jump List就可以看见反馈信息,这些功能最终由Windows 7本地API提供,但WPF使用托管代码打包了这些API,并以WPF类的形式暴露出来,这意味着你可以在XAML中创建Jump List
Delphi之Windows Taskbar API 编程,包括任务栏进度条,图标覆盖,任务栏缩略图,跳转列表
Taskbar API 参考MSDN: 链接地址 又一介绍Taskbar的文章: 链接地址 跳转列表参见: 链接地址 http://www.aiuxian.com/article/p-808835.html 如何阻止程序锁定到任务栏的C#代码: 链接地址 要看到跳转列表的效果,请保证任务栏属性中的隐私两个选择框被选中,自定义的Catalog在Win 8中测试添加会报错,只对Win 7有效: 程序运行如下图,Delphi XE 3 + Win 7 调试通过: 源代码下载:链接地址 主要代码如下
如何获取任务栏句柄~~
本文将介绍一个未公开的Win32 API函数:GetTaskmanWindow,利用它对Windows的任务栏进行操作。这个函数返回拥有任务栏按钮的窗口句柄。在微软的MSDN文档中,对任务栏是这样描述的:"……Windows界面包含一个特殊的应用程序桌面工具栏,叫做任务栏。任务栏可以用于在打开的不同窗口之间进行切换,以及启动新的应用程序……。任务栏包含有开始菜单、任务栏按钮、快捷菜单和状态显示区……"。可惜在Win32 API的正式问当中没有能存取任务栏的函数。因此我们必须使用未公开
Delphi中任务栏状态区的编程
在Windows桌面的任务栏上有一个凹陷的区域,其中显示着系统时钟以及一些图标,这个长方形的区域便是Windows的任务栏状态区(taskbar status area)。本文将介绍使用Borland Delphi进行任务栏状态区的编程,即怎样将应用程序的图标显示在任务栏状态区中。 ---- 实现原理 ---- 任务栏状态区的图标添加、删除、以及修改是通过Windows API函数Shell_NotifyIcon来实现的,该函数是由Windows的SHELL32.DLL动态联接库提供
具有自动恢复功能的通知栏图标控件
任务栏(Taskbar)是微软公司在Windows 95中引入的一种特殊的桌面工具条,它为用户快速访问计算机资源提供了极大的方便,而状态栏(以下称通知栏)无疑是任务栏上较为特殊的一个窗口。编程人员可以调用API函数Shell_NotifyIcon向通知栏发送消息来添加、删除或修改图标,当在图标上发生鼠标或键盘事件时,系统会向应用程序发送编程时预先定义的消息,通知栏处理回调函数就会被自动调用以做出相应的处理。实现上述功能的相关文章俯仰即拾,此处不再赘述。本文将讨论两个较为深入的问题及其
Winforms: Windows 7中Taskbar的新效果(3)——进度条
在Win7中,当我们从网上下载一个比较大的文件的时候,我们发现下载对应的窗口在Taskbar上对应的按钮有进度条来显示下载的进展情况。Win7为了方便开发这种新的UI效果,Windows提供了两个API: ·
void SetProgressValue(IntPtr hwnd, UInt64 ullCompleted, UInt64 ullTotal); ·
void SetProgressState(IntPtr hwnd, TBPFLAG tbpFlags
1. 依次进入控制面板(Control Panel)--&用户帐号(User Accounts)--&更改用户帐户控制设置(Change User Account Control settings),将控制级别降制最低(Alwasy Notify--&Never Notify)即可。 2. Quick Launch设置 Add the Quick Launch Bar to the Taskbar in Windows 7 In yesterday’s article we showed
WINDOWS编程技巧之DELPHI篇
WINDOWS编程技巧之DELPHI篇
Delphi下让窗口不显示在任务栏的另类方法
刚才看到了这篇东西《使窗口不在任务栏上显示(利用ITaskbarList接口)》,作者用ITaskList接口实现了隐藏窗口在任务栏按钮的功能,想起我好多年以前做的程序也有这样的功能,但是绝不是用这些接口之类的做的,只是一个API函数就搞定了(好像是SetWindowLong()中传个什么参数吧,真的想不起来了),可惜程序实在是找不到了,当然ITaskbarList的功能要稍许比以前的那个API强一些。觉得挺好玩,就用Delphi重新实现了一遍,把代码贴出来,以便今后做什么程序的时候还可以用
QT 无边框窗体最大化 遮挡windows任务栏的问题
最近写的一个基于QT的程序的UI,要求整个窗体的风格浑然一体。包括窗体的边框什么的。这个其实定义了QSS啥的就没什么复杂的了,纯粹体力活了。但是如果想整体制定一个窗体的话就需要让窗体的属性是无边框(frameless)的。只有这样才能彻底的脱离windows的窗体管理器。才能使用自己的标题栏(好像大家现在都流行自定义标题栏哈)。
但是问题来了。frameless的窗体在最大化后会将windows的任务栏给遮挡住,这个是我们不想要的。毕竟咱这个不是游戏,还是得留着任务栏的。后来琢磨了半天
Winforms: Windows 7中Taskbar的新效果(1)——概述
Win7推出之后,很多用户发现Windows的界面漂亮了很多。在这些界面中,Taskbar是最引人注目的一个更新。在最新的Taskbar中,缩略图能显示更加丰富的信息。右键点击Taskbar上的按钮,弹出的菜单提供了很多选项以方便用户的操作。比如右键单击文件管理器Explorer的按钮,就会在弹出的菜单中列出用户最经常浏览的文件夹。 微软在推出新的Taskbar效果的同时,也推出了一系列对应的API。调用这些API,程序员可以开发出具有很酷效果的应用程序。在MSDN中,链接地址有这些API
Winforms:Windows 7中Taskbar的新效果(4)——缩略图工具栏
在Win7中,运行Windows Media Player,然后把鼠标移到任务栏(Taskbar)上播放器的按钮上,我们注意到在播放器的缩略图的底部,有一个小的工具栏(Toolbox),上面有三个按钮。如下图所示: 点击中间的按钮可以开始播放或者暂停播放,点击最左边的按钮播放上一个音频或者视频,而点击最右边的按钮下一个音频或者视频。
Win7提供了三个API ThumbBarSetImageList
C# Windows 7任务栏开发之进度条(Progress Bar)
Windows 7 任务栏为我们增添了许多其他功能:Jump Lists,Window Preview,Progress Bar,Overlay Icon 等等。
新任务栏的功能使我们的操作更加方便快捷,微软提供了方便的工具Windows API Code Pack for .NET Framework 来帮助我们完成这些开发,程序中增加Microsoft.WindowsAPICodePack.dll
如何获取系统任务栏位置
下面的代码用来判断任务栏位于屏幕的下方、下方、左侧还是右侧。 APPBARDATA taskbar = {0};
taskbar.cbSize = sizeof(APPBARDATA);
SHAppBarMessage(ABM_GETTASKBARPOS, &taskbar);
switch(taskbar.uEdge)
case ABE_BOTTOM:
case ABE_TOP:
case ABE_LEFT:
case ABE_RIGHT:
Windows 7:定制所有登陆用户的Taskbar固定图标
微软要求的过程一样),而且为管理员提供了管理灵活性。 一般来说,对默认用户模板的定制主要是对默认用户中的用户Registry和目录文件的定制过程。而定制Taskbar固定图标就是一个涉及这两个方面的例子。 首先,Taskbar图表被保存在两个地方: Taskbar目录:%APPDATA%\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar目录中 Taskband键:Registry中的[HKEY_CURRENT_USER
Windows平台上额外的扩展功能,例如DWM(Desktop Window Manager) 特效,Aero Peek,Taskbar,Jump Lists,Thumbnail Toolbar等等,Qt为我们封装了相关 API 使得它们变得更加简单易用。如果大家对这些名词感到陌生,可以前往Qt 官网查看更详细的介绍:http://doc.qt.io/qt-5/qtwinextras-overview.html 。或者,我给大家举几个身边的栗子: 不知道大家有没有留意过,当我们在使用 Qt Creator
Windows中的一些小操作
1& 重建"显示桌面"的快捷方式 新建一个文本文件,在里面写上下面几句: [Shell] Command=2 IconFile=explorer.exe,3 [Taskbar] Command=ToggleDesktop 然后保存为ShowDesk.scf(只要求扩展名是scf就可以了)。 SCF文件是“WINDOWS资源管理器命令”文件,它也是一种可执行文件. 该类型文件由Windows Explorer Command解释,标准安装,包括下面3个该类型的文件
[Windows 编程] Windows 7 开发教程,Windows 7 SDK 下载
Windows 7 SDK 下载: 链接地址
开发教程(Training Kit for Developers)下载: 链接地址
开发教程里面有很多Windows 7新API 的讲义、视频、示例代码,非常推荐! 主要涉及以下几个功能的API:
Taskbar Libraries Multi Touch Sensors and Location Ribbon Trigger Start Services Instrumentation and ETW Application Compatability
Windows Shell --01
查看这些窗口。桌面的类名为:#32769,桌面是一个ListView。工具条从左到右包含开始菜单,快速启动栏,任务栏和托盘栏等等,它是由Explore.exe拥有的组件,本质上说,它只不过是一个窗口而已。
编程结构 Windows Shell编程两种方式:API函数和COM接口。这两种方法事实不是等效的,只它们是从不现的逻辑层次上实现不同的功能的。API函数提供了基本的操作(也就是说专门对应某种操作的),而COM接口提供了你扩展,提高或者甚至改变Windows Shell的机会
& 2012 - 2016 & aiuxian.com &All Rights Reserved. &
/*爱悠闲图+*/
var cpro_id = "u1888441";桌面(计算机用语)_百度百科
清除历史记录关闭
声明:百科词条人人可编辑,词条创建和修改均免费,绝不存在官方及代理商付费代编,请勿上当受骗。
?计算机用语
(计算机用语)
桌面(英文:Desktop),即打开计算机并登录到系统之后看到的显示器区域,是用语。
桌面Windows桌面
有时桌面定义更为广泛,包括任务栏和。其中Windows边栏只在Windows Viata系统中才有。任务栏位于屏幕的底部,显示程序,并可以在它们之间进行切换。它还包含“开始”按钮 ,使用该按钮可以访问程序、文件夹和计算机设置。边栏位于屏幕的一侧,包含称为小的小程序。
桌面桌面位置
桌面文件夹一般位于相应的用户文件夹中,假设为XP系统,并且安装在C盘,当前用户为,则USER的桌面文件夹位置为“C:\Documents and Settings\USER\桌面”。另外,在默认状态下,用户名为USER的桌面还会继承“ALL USERS”和&DEFAULT USERS&两个文件夹中内容。假设为Windows 7系统,并且安装在D盘,当前用户为USER2,则USER2的桌面文件夹位置为“D:\Users\USER2\Desktop”。
桌面移动桌面
习惯上用户都会把比较常用的重要的文档放在桌面便于操作,但这样也造成了不便,在不清楚状况的时候被重装了系统,特别是用()就极可能造成数据丢失了,在这种情况下,用户就有必要对桌面文件夹的位置进行一下移动了。
如果只是剪切桌面的目录,直接粘贴到其他的,并不能真正移动桌面文件夹所在位置。因为桌面所在文件夹还受到中多个注册表项影响。强制移动桌面所在文件夹位置可能会造成无法登录Windows、不能创建等错误。
桌面桌面内容
这些图标各自都代表着一个程序,用鼠标双击图标就可以运行相应的程序。下面列出几个常见的。
Windows XP SP2及以前名称Windows XP SP3内名称
Windows Vista/7/8内名称
Windows 8.1内的名称Windows 10内的名称功能
我的电脑我的电脑
这台电脑可以浏览计算机磁盘的内容、进行文件的管理工作、更改计算机软硬件设置和管理等。
网络网络如果计算机连接到网络上,桌面上就会有一个“网上邻居”或“网络”的图标,通过它可以访问网络上其它计算机,共享其它计算机的资源。
要删除文件或其它对象时,可以用鼠标把它们拖到这个“”。被删除的文件或其它的对象会暂时存放在这里,可以恢复它们或“清空回收站”把它们彻底删除。
(电脑用户名)
(电脑用户名)(电脑用户名)显示个人文件夹。
  控制面板控制面板控制面板控制面板系统的设置和控制Internet ExplorerInternet ExplorerInternet ExplorerInternet ExplorerMicrosoft Edge快捷方式
用户也可以为自己常用的程序在桌面上建立一个图标。通过双击这个图标来运行程序,这种运行程序的方式叫做快捷方式。
1、在屏幕空白处单击鼠标右键,在中选取“新建”、再单击“快捷方式”。
2、在对话框中输入快捷方式对应的程序名或单击“浏览”按钮选取一个程序,单击“下一步”和“完成”按钮,就在桌面上创建了一个快捷方式。
3、可以用鼠标左键按住这个图标,用拖拽的方法把它放置到屏幕的任意地方。
桌面最下方的长条是,任务栏中显示你正在运行的程序(Windows 7/8系统还可以显示固定的程序)。在任务栏解锁的情况下,用鼠标左键按住任务栏,可以把它拖到屏幕的四边;任务栏的大小也可以改变,把鼠标移到任务栏的边界,会看到光标变成了一个上下箭头,这时按下鼠标左键拖动,就可以改变任务栏的大小了。任务栏的最右边是一个数字时钟,显示当前时间。左边是后台程序的图标,单击图标可以激活后台程序。如果电脑装有声卡,这里还会有一个,它是音量控制图标,用鼠标单击它可以调节播放声音的音量。在其左边会有一个语言指示器,通过它可以选择和。任务栏的最左边是,用户每次使用电脑,都可以从这里开始自己的工作。
单击,就弹出了(Windows 8及Windows8.1则弹出开始屏幕),这个菜单包含有几个选项,都是比较重要和常用的。
Windows XP的开始菜单
程序:包含有绝大部分的应用程序,包括Windows、附件程序组和用户自行安装的大部分程序。
文档:包含15个最近打开过的文档名称,如果要使用某个最近打开过的文档,可以在这里直接用鼠标单击该文档的名称。
设置:这里可以进行系统的各项设置。
查找:可以用来查找计算机中的文件或文件夹。
帮助:打开系统的帮助文件,查阅帮助信息。
运行:在栏中输入要运行的程序路径和程序名,系统会运行该程序。
关机/注销:可以选择是要关闭计算机还是要重新启动计算机,也可以用户。
Windows 7的开始菜单
文档/图片/音乐/游戏:显示各自的项目,也就是打开个人文件夹。
控制面板:打开控制面板,里面包含了对电脑的设置。
设备和打印机:管理硬件设备。如果电脑装有打印机,还可以管理打印机。
默认程序:设置默认程序。
帮助和支持:显示关于Windows 7的帮助信息。
关机:同Windows XP的“关机/注销”。
所有程序:同的“程序”。
此外,还可以把部分程序固定到当中,部分程序还可以有。
Windows 8系统没有开始菜单,只有。Windows Vista的开始菜单与Windows 7接近。
的开始菜单
左侧:同的“所有程序”
右侧:同的“开始屏幕”中的磁贴
可自由调节Windows 10开始菜单的大小。
桌面图标格式
一个实际上是多张不同格式的图片的集合体,并且还包含了一定的透明区域。因为计算机操作系统和显示设备的多样性,导致了图标的大小需要有多种格式。操作系统在显示一个图标时,会按照一定的标准选择图标中最适合当前显示环境和状态的图像。widows系统桌面图标常用格式有四种,分别是 ico、、icl、ip。
PNG 是&可移植的网络图象文件格式&,是Macromedia公司出品的的专业格式,这个格式使用于网络图形,支持背景透明,缺点是不支持动画效果.它使用的允许用户对其进行解压,优点在于不会使图像失真。同样一张图像的文件尺寸,BMP格式最大,其次,最小。根据png文件格式不失真的优点,我们一般将其使用在DOCK中作为可缩放的图标。
ICO是Icon file的缩写,是Windows的格式的一种,可以存储单个图案、多尺寸、多色板的图标文件。这种文件格式广泛存在于windows系 统中的dll 、exe文件中。对于ico文件,既然他是windows图标的专门格式,那么,我们在替换时就一定会使用到它了。一个简单的应用是给应 用程序的快捷方式换图标,这时候就必须使用ico格式的图标了。另外只有以上的系统才支持带Alpha的图标,这些图标用在以下的系统上会很难看。
icl文件只不过就是一个改了名字的16位Windows DLL(NE模式)。里面除了图标什么都没有,我们可以将其理解为按一定顺序存储的图标库文件。icl文件在日常应用中并不多见,一般是在程序开发中使用。icl文件可用等软件打开查看。
ip是我们常用的软件的专用文件格式。它实质上是一 个改了扩展名的rar文件,用可以打开查看(一般会看到里面包含一个.iptheme文件和一个.icl文件)。使用方法很简单,可直接双击应用,或在中点“安装新包裹”载入。
桌面相关设置
去除图标阴影
Windows XP的方法:
右击“我的电脑”,依次单击“属性/高级/性能设置”在“视觉效果”页中将“在桌面上为图标使用阴影”的勾去掉,单击确定即可。
Windows 7及以上的方法:
右击“计算机”,依次单击“高级系统设置”“性能设置”,在“视觉效果”页中将“在桌面上为图标标签使用阴影”的勾去掉,单击确定即可。
消除快捷方式小箭头
用优化大师实现,具体步骤如下:
1、下载安装,打开软件
2、---系统个性设置---桌面设置---选中“消除快捷方式图标上的小箭头”---点右下角设置---关闭软件即可
基于Windows Vista及以下系统版本的壁纸设置方法:
1. 先将图片下载保存至电脑;
2. 鼠标右键点击电脑桌面空白处,选择属性;
3. 在弹出的“显示属性”设置界面中选择“桌面”选项;
4. 在“桌面”选项中点击“浏览”;
5. 在“浏览”窗口查找并选择已经下载到电脑里的桌面背景图片,选中图片后,点击“打开”;
6. 最后点击“确定”即可。
基于Windows 7及以上系统版本的壁纸设置方法:
1.先将图片下载保存至电脑;
2.鼠标右键点击电脑桌面空白处,选择个性化;
3.选择下方的&桌面背景&字样;
4.点击浏览,选择下载好的图片的文件夹;
5.选择图片后点击&保存更改&。
在开始制作动态之前需要做一些准备工作。首先,准备一些需要更换的动态,推荐使用文件也可使用其他动态图片格式。动态图标可以去网上下载也可以自己动手制作。如果自己制作的话可以在图标的下面加上相应的文字,也更接近系统默认的桌面图标显示方式,然后寻找一款使用熟练的编辑工具。
第一步:在网页编辑工具中,建立一个空白,设置网页背景为你喜爱的桌面图片。可以参照桌面原有图标布局在相应的位置插入制作好的图标文件,当然也可以按照个人喜好将图标放置在喜欢的位置。熟悉网页制作的朋友可以用表格之类的来定位,不会也不要紧,用空格来调整位置也是可行的。
第二步:为这些图标添加。
对于系统默认的图标(例如:我的电脑/)在建立超级链接时,需要在地址栏里输入的。
第三步:将所有的图标都链接完毕后,把文件保存为网页文件,将所使用的图片放置在同一文件夹中。
第四步:在桌面上,鼠标右键点击桌面选择“属性”。在桌面选项卡中选择“浏览”,选择刚才制作好的HTML网页文件。
第五步:再在桌面选项卡中选择“自定义桌面”。在桌面项目的WEB选项卡中,钩选“锁定桌面项目”并确定。这样,制作好的HTML文件就变成了电脑的桌面,但是制作的图标和桌面原有的图标重叠在一起看起来一团糟。所以我们需要把原来的图标屏蔽掉。
第六步:在桌面上,鼠标右键点击桌面选择“排列图标”,取消掉“显示。
桌面Linux桌面
Linux桌面主要有、、、等。
打开手机、、iPad等其它电子产品时登录之后看到的主屏幕区域也叫桌面,即和计算机Windows操作平台类似的其它系统操作平台同样叫桌面。
清除历史记录关闭我不入地狱,谁入地狱?
Delphi之Windows Taskbar API 编程,包括任务栏进度条,图标覆盖,任务栏缩略图,跳转列表
Taskbar API 参考MSDN:
又一介绍Taskbar的文章:
跳转列表参见:
如何阻止程序锁定到任务栏的C#代码:
要看到跳转列表的效果,请保证任务栏属性中的隐私两个选择框被选中,自定义的Catalog在Win 8中测试添加会报错,只对Win 7有效:
程序运行如下图,Delphi XE 3 + Win 7 调试通过:
源代码下载:
主要代码如下:
unit Form_M
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ShellAPI, ShlObj, ObjectArray, PropSys, ExtCtrls, StdCtrls, ImgList,
TFormMain = class(TForm)
Timer1: TT
btnProgressbar: TB
btnIconOverlay: TB
ImageList1: TImageL
btnThumbnail: TB
btnJumpList: TB
btnThumbnailClip: TB
btnThumbnailCus: TB
procedure FormCreate(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure btnProgressbarClick(Sender: TObject);
procedure btnIconOverlayClick(Sender: TObject);
procedure btnThumbnailClick(Sender: TObject);
procedure btnJumpListClick(Sender: TObject);
procedure btnThumbnailClipClick(Sender: TObject);
procedure btnThumbnailCusClick(Sender: TObject);
TBL: ITaskbarList4;
fForceIconic: BOOL;
fHasIconicBitmap: BOOL;
function CreateDIB(nWidth, nHeight: Integer): HBITMAP;
procedure WndProc(var Message: TMessage);
procedure AddCataToList(CDL: ICustomDestinationList);
function CreateShellLink(Arg, Title: string): IShellL
FormMain: TFormM
implementation
{$R *.dfm}
uses ActiveX, ComObj, M
function IsWindows7: B
osver: OSVERSIONINFO;
osver.dwOSVersionInfoSize := sizeof(osver);
if GetVersionEx(osver) then
Result := (osver.dwMajorVersion = 6) and (osver.dwMinorVersion = 1);
Result := F
procedure TFormMain.AddCataToList(CDL: ICustomDestinationList);
OC: IObjectC
SL: IShellL
OA: IObjectA
hr: HRESULT;
OC := CreateComObject(CLSID_EnumerableObjectCollection) as IObjectC
SL := CreateShellLink('在线', '在线');
hr := OC.AddObject(SL);
if Succeeded(hr) then
SL := CreateShellLink('忙', '忙');
hr := OC.AddObject(SL);
if Succeeded(hr) then
SL := CreateShellLink('离开', '离开');
hr := OC.AddObject(SL);
if Succeeded(hr) then
OA := OC as IObjectA
if IsWindows7 then
hr := CDL.AppendCategory('自定义', OA)
hr := CDL.AddUserTasks(OA);
if Succeeded(hr) then
procedure TFormMain.btnProgressbarClick(Sender: TObject);
Timer1.Enabled := not Timer1.E
procedure TFormMain.btnIconOverlayClick(Sender: TObject);
Icon := TIcon.C
ImageList1.GetIcon(0, Icon);
TBL.SetOverlayIcon(Handle, Icon.Handle, '覆盖图标');
procedure TFormMain.btnThumbnailClick(Sender: TObject);
TB: array [0 .. 1] of THUMBBUTTON;
Icon := TIcon.C
ImageList1.GetIcon(0, Icon);
TB[0].iId := 1;
StrCopy(TB[0].szTip, '按钮提示');
TB[0].hIcon := Icon.H
TB[0].dwFlags := THBF_ENABLED;
TB[0].dwMask := THB_ICON or THB_TOOLTIP or THB_FLAGS;
TB[1].iId := 2;
StrCopy(TB[1].szTip, '禁用按钮');
TB[1].hIcon := Icon.H
TB[1].dwFlags := THBF_DISABLED;
TB[1].dwMask := THB_ICON or THB_TOOLTIP or THB_FLAGS;
TBL.ThumbBarAddButtons(Handle, 2, @TB);
procedure TFormMain.btnJumpListClick(Sender: TObject);
CDL: ICustomDestinationL
uMaxSlots: UINT;
poaRemoved: IObjectA
hr: HRESULT;
CDL := CreateComObject(CLSID_DestinationList) as ICustomDestinationL
hr := CDL.BeginList(uMaxSlots, IID_IObjectArray, poaRemoved);
if Succeeded(hr) then
AddCataToList(CDL);
hr := CDL.CommitL
procedure TFormMain.btnThumbnailClipClick(Sender: TObject);
Rect := GetClientR
Rect.Right := Rect.Right div 2;
Rect.Bottom := Rect.Bottom div 2;
TBL.SetThumbnailClip(Handle, Rect);
TBL.SetThumbnailTooltip(Handle, pchar('缩略图剪切示例'));
procedure TFormMain.btnThumbnailCusClick(Sender: TObject);
fForceIconic := T
fHasIconicBitmap := T
DwmSetWindowAttribute(Handle, DWMWA_FORCE_ICONIC_REPRESENTATION,
@fForceIconic, sizeof(fForceIconic));
DwmSetWindowAttribute(Handle, DWMWA_HAS_ICONIC_BITMAP, @fHasIconicBitmap,
sizeof(fHasIconicBitmap));
function TFormMain.CreateDIB(nWidth, nHeight: Integer): HBITMAP;
RINGWIDTH: Integer = 20;
MAXRING: Integer = 3;
MAXTABS: Integer = 20;
hbm: HBITMAP;
hdcMem: HDC;
pbDS: LPBYTE;
bmi: BITMAPINFO;
nGreen, nRed, nBlue, x, y: I
edgeDistance, ring, nAlpha: I
hdcMem := CreateCompatibleDC(0);
if hdcMem & 0 then
ZeroMemory(@(bmi.bmiHeader), sizeof(BITMAPINFOHEADER));
bmi.bmiHeader.biSize := sizeof(BITMAPINFOHEADER);
bmi.bmiHeader.biWidth := nW
bmi.bmiHeader.biHeight := -nH // Use a top-down DIB
bmi.bmiHeader.biPlanes := 1;
bmi.bmiHeader.biBitCount := 32;
pbDS := 0;
hbm := CreateDIBSection(hdcMem, bmi, DIB_RGB_COLORS, Pointer(pbDS), 0, 0);
if (hbm & 0) then
nRed := 0;
nGreen := 185;
nBlue := 242;
// Fill in the pixels of the bitmap
for y := 0 to nHeight - 1 do
for x := 0 to nWidth - 1 do
edgeDistance := min(min(y, nHeight - y), min(x, nWidth - x));
ring := min(Round(edgeDistance / RINGWIDTH) + 1, MAXRING);
nAlpha := Round(ring * (255 / MAXRING));
pbDS[0] := Round((nBlue * nAlpha / 255));
pbDS[1] := Round((nGreen * nAlpha / 255));
pbDS[2] := Round((nRed * nAlpha / 255));
pbDS[3] := nA
pbDS := pbDS + 4;
DeleteDC(hdcMem);
function TFormMain.CreateShellLink(Arg, Title: string): IShellL
SL: IShellL
PS: IPropertyS
propvar: PROPVARIANT;
PKEY: PROPERTYKEY;
hr: HRESULT;
SL := CreateComObject(CLSID_ShellLink) as IShellL
FilePath := pchar(Application.ExeName);
hr := SL.SetPath(FilePath);
if Succeeded(hr) then
hr := SL.SetArguments(pchar(Arg));
hr := SL.SetIconLocation(FilePath, 0);
hr := SL.SetDescription(pchar(Title));
if Succeeded(hr) then
PS := SL as IPropertyS
propvar.vt := VT_LPWSTR;
propvar.pwszVal := pchar(Title);
PKEY.fmtid := StringToGUID('{F29F85E0-4FF9-1068-AB91-D9}');
PKEY.pid := 2;
hr := PS.SetValue(PKEY, propvar);
PS.GetValue(PKEY, propvar);
if Succeeded(hr) then
Result := SL;
procedure TFormMain.FormCreate(Sender: TObject);
PS: IPropertyS
hr: HRESULT;
propvar: PROPVARIANT;
PKEY: PROPERTYKEY;
hr := SHGetPropertyStoreForWindow(Handle, IID_IPropertyStore, Pointer(PS));
if Succeeded(hr) then
// AppUserModel_ID
// PKEY.fmtid := StringToGUID('{9F4C-4B39-A8D0-E1D42DE1D5F3}');
// PKEY.pid := 5;
// propvar.vt := VT_LPWSTR;
// propvar.pwszVal := pchar('MyApp');
// hr := PS.SetValue(PKEY, propvar);
// if Succeeded(hr) then
// PKEY_AppUserModel_PreventPinning , 不允许锁定到任务栏
// propvar.vt := VT_BOOL;
// propvar.boolVal := T
// PKEY.fmtid := StringToGUID('{9F4C-4B39-A8D0-E1D42DE1D5F3}');
// PKEY.pid := 9;
// hr := PS.SetValue(PKEY, propvar);
// if Succeeded(hr) then
wmTBC := RegisterWindowMessage('TaskbarButtonCreated');
TBL := CreateComObject(CLSID_TaskbarList) as ITaskbarList4;
TBL.SetProgressState(Handle, TBPF_NOPROGRESS or TBPF_INDETERMINATE);
procedure TFormMain.Timer1Timer(Sender: TObject);
if I & 100 then
TBL.SetProgressValue(Handle, I, 100);
if I &= 100 then
TBL.SetProgressState(Handle, TBPF_NOPROGRESS);
Timer1.Enabled := F
procedure TFormMain.WndProc(var Message: TMessage);
hbm: HBITMAP;
nWidth, nHeight: I
case Message.Msg of
WM_DWMSENDICONICTHUMBNAIL:
hbm := CreateDIB(HIWORD(Message.lParam), LOWORD(Message.lParam));
DwmSetIconicThumbnail(Handle, hbm, 0);
DeleteObject(hbm);
WM_DWMSENDICONICLIVEPREVIEWBITMAP:
RC := ClientR
nWidth := RC.Right - RC.
nHeight := RC.Bottom - RC.
hbm := CreateDIB(nWidth, nHeight);
if (hbm & 0) then
DwmSetIconicLivePreviewBitmap(Handle, hbm, P, DWM_SIT_DISPLAYFRAME);
DeleteObject(hbm);
Create中注释的代码可以控制多实例是否在任务栏合并及是否可锁定到任务栏。
Win7 关闭任务栏缩略图预览(Taskbar Thumbnails Preview)
win10任务栏图标两个以上不显示缩略图的解决办法
MFC MDI 工程禁用win7任务栏(taskbar)多视图缩略图(preview)功能
C#Windows7任务栏开发Thumbnail Toolbars(缩略图、工具栏按钮)
windows 7任务栏实时预览缩略图调整工具
【转载】Win7任务栏缩略图不见了?!
C# Windows 7任务栏开发之进度条(Progress Bar)
如何获取任务栏(taskbar)相关信息
Winforms:Windows 7中Taskbar的新效果(4)——缩略图工具栏
SDK编程:任务栏TaskBar与对话框Dialog实现一个简单功能
没有更多推荐了,

我要回帖

更多关于 微信自定义菜单后跳转到页面模板 的文章

 

随机推荐