DSAPI 生成桌面图标(带数字)
功能:在桌面上创建一个带有指定数字的图标。
效果图:
生成的ICO图标

代码
Private Sub 生成桌面图标(消息数量 As Integer)
Try
Dim B As New Bitmap(My.Resources.ICO)
Using G As Graphics = Graphics.FromImage(B)
G.Clip = New Region(New RectangleF(0, 0, B.Width, B.Height))
Dim Cnt As String = If(消息数量 > 999, "999+", 消息数量)
Dim Ft As Font = New Font("黑体", 24, FontStyle.Bold)
Dim Sz As Size = DSAPI.图形图像.获取绘制文字所需大小(Cnt, Ft)
Using Tb As Bitmap = DSAPI.图形图像.绘制圆角矩形(Sz + New Drawing.Size(6, 4), 8, Color.Red, Color.DarkRed, Color.Transparent)
G.DrawImage(Tb, New Rectangle(B.Width - Tb.Width, 0, Tb.Width, Tb.Height), New Rectangle(0, 0, Tb.Width, Tb.Height), GraphicsUnit.Pixel)
G.TextRenderingHint = Drawing.Text.TextRenderingHint.AntiAlias
G.DrawString(Cnt, Ft, Brushes.White, New Point(B.Width - Tb.Width + 6, 0))
End Using
End Using
Dim Pth As String = System.Environment.GetFolderPath(Environment.SpecialFolder.Desktop)
Dim Stm As New IO.MemoryStream
DSAPI.图形图像.图像生成ICO图标(B, 128).Save(Stm)
IO.File.WriteAllBytes("c:\tmp.ico", Stm.ToArray)
Stm.Close()
Dim Lnk As New DSAPI.文件.快捷方式 With
{
.图标路径 = "c:\tmp.ico",
.文件路径或URL = "https://www.cnblogs.com/dylike/",
.提示说明 = "有新的消息"
}
Lnk.保存快捷方式到(String.Concat(System.Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "\程序.lnk"))
Catch
End Try
End Sub
DSAPI 生成桌面图标(带数字)的更多相关文章
- android 桌面图标添加数字角标
是否支持角标并不与手机厂商有关,而是你当前使用的launcher开发厂商有关. 方法实现: import android.app.Application; import android.app.Not ...
- linux 下如何将网页版应用生成桌面图标
使用linux mint已经两年了,很多国民应用,都没有Linux版,但是这些应用都有网页版,今天就说下最简单的将网页应用变成桌面应用,无需配置,安装任何插件.以微信为例; 首先,在谷歌浏览器打开网页 ...
- Servlet仿CSDN动态验证码的生成-带数字和字母
林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 一.实现的思路: (1)首先,须要创建一个Servlet.该Servlet通过字节型响应给cl ...
- C# 生成一个带数字的饼图
using System; using System.Collections.Generic; using System.Drawing; using System.Drawing.Drawing2D ...
- Extjs2.0 desktop 动态创建桌面图标和开始菜单
这几天一直纠结Extjs desktop怎么动态读取数据,用Ext.net已经实现但是不灵活.Ext.net做出来的桌面在窗口关闭后只是隐藏该窗口,并没有释放,对于我这种js菜鸟来说,改那一坨代码要人 ...
- Ubuntu 14 如何创建软件的 启动器/桌面图标?
如题所示:Ubuntu 14 如何创建软件的 启动器/桌面图标? 解决方案: 将 /usr/share/applications/ 里面的相应图标复制到桌面即可. 同理,也可“拖动”到左边的“启动器栏 ...
- 桌面图标未读消息(小米,sony,三星手机)
新消息来了,在桌面的Laucher图标上显示新消息数 /** * 应用桌面图标未读消息显示工具类 * 只支持 小米,三星和索尼 */ public class BadgeUtil { final st ...
- Linux设置桌面图标 (双击运行jar包)
Ubuntu平台 预备条件: 1)平台是Gridion上的Ubuntu 2)安装了JRE (版本如下) 3)在IDE(我用的是IDEA)打包成可运行的jar文件 设置步骤: 1)新建.desktop文 ...
- 空闲时间研究一个小功能:winform桌面程序如何实现动态更换桌面图标
今天休息在家,由于天气热再加上疫情原因,就在家里呆着,空闲时想着,在很早以前(约3年前),产品人员跟我提了一个需求,那就是winform桌面程序的图标能否根据节日动态更换,这种需求在移动APP上还是比 ...
随机推荐
- JAVA小记 (1)
JVM: Java虚拟机 JVM个数取决于同时执行的程序个数 JDK:JAVA 开发工具包 Java利用JVM实行跨平台 JRE:Java运行环境 JavaSE:企业版 GC:垃圾回收机制 命名规范 ...
- Robot framework(RF) 用户关键字
3.6 用户关键字 在Robot Framework 中关键字的创建分两种:系统关键字和用户关键字. 系统关键字是需要通过脚本开发相应的类和方法,从而实现某一逻辑功能. 用户关键字是根据业务的需求利 ...
- 修改ZendStudio新建php文件时的模板
zendstudio默认的模板不适用,可以自己到Window -- preferences -- php -- code style -- code templates -- code -- samp ...
- Python《学习手册:第一章-习题》
人们选择Python的六大主要原因是什么? 软件质量:Python注重可读性.一致性和软件质量. Python代码的设计致力于可读性,因此具备了比传统脚本语言更优秀的可重用性和可维护性. Python ...
- linux dialog详解(图形化shell)
liunx 下的dialog 工具是一个可以和shell脚本配合使用的文本界面下的创建对话框的工具.每个对话框提供的输出有两种形式: 1. 将所有输出到stderr 输出,不显示到屏幕. 2 ...
- PAT1121:Damn Single
1121. Damn Single (25) 时间限制 300 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue "Dam ...
- 破解跳过QQ群验证--真实有效哦。
说明:此教程可以实现强行加入别人的群,无需群主或管理员同意.来自于吾爱破解.跟着做了下,应该不用什么技术含量,因为啥也不懂的我也做到了最后.哈哈! 附上软件:https://pan.baidu.com ...
- 基于 WebRTC 创建一款多人联机游戏
本项目的目标旨在尽可能少用服务器资源的前提下研发一款在线多人游戏,同时期望在一个用户的浏览器上运行游戏,同时让另一个玩家来连接.此外还希望程序尽可能简单以便于在博客中分析. 运用的技术 在我刚接触 P ...
- Python /usr/bin/python
#!/usr/bin/python是告诉操作系统执行这个脚本的时候,调用/usr/bin下的python解释器: #!/usr/bin/env python这种用法是为了防止操作系统用户没有将pyth ...
- 今天读一读七天学会NodeJS
七天学会NODEJS NodeJS基础 小结 本章介绍了有关NodeJS的基本概念和使用方法,总结起来有以下知识点: NodeJS是一个JS脚本解析器,任何操作系统下安装NodeJS本质上做的事情都是 ...