手机图标点不开不开怎样让手机图标点不开显示消息图标

【上一篇】
【下一篇】
看完这篇文章有何感觉?如何实现桌面App图标可以动态显示消息数(类似手机上的QQ图标)? - 推酷
如何实现桌面App图标可以动态显示消息数(类似手机上的QQ图标)?
手机上的APP , 像QQ和微信等都可以在图标上动态显示消息数(最大99) , 那么你有没有想过这些效果是如何实现的?桌面上开发的传统应用程序能否也实现类似的功能?
&桌面快捷方式的图标本质上就是基于一个图片产生的 , 第一种是动态生成图标(不过感觉比较费事且也消耗资源) , 建议方式是预先定义从0到99这100个图标(0就是不显示消息数 , &=99的就用99代替);
&获取用户的未处理消息数(根据业务情况产生 , 这里不是重点 , 直接用一个数值模拟即可);
&先判断该App桌面图标是否存在,存在先删除,然后根据消息数,到程序指定目录下搜寻对应编号的图标文件 , 赋值到创建桌面图标的方法中即可.
2 图片资源制作
可以找一个透明背景的png图(如果有美工可以进行自行设计 , 我这里用的Twitter的图标) , 然后用Snagit Editor软件打开 , 在图的右上角添加一个数值标注 , 然后另存为ICO格式.如下图所示:
3 项目结构
新建一个C#桌面项目 , 然后创建一个icons文件夹来存放不同编码的图标(演示没必要创建所有 , 有2 到3个作为演示即可) , 值得注意的是 , 一定不要忘了在图标上单击 , 然后在其属性面板中设置将赋值到输出目录 , 否则找不到该图标.
另外就是要引入一个COM库Windows Script Host Object Model , 来帮助我们创建快捷方式.
4 核心代码
直接在默认的Form1窗体加载事件中进行动态图标创建处理 , 看代码:
2 using System.Collections.G
4 using System.D
5 using System.D
6 using System.L
7 using System.T
8 using System.Windows.F
9 using IWshRuntimeL
10 using System.IO;
11 namespace AppWithMsgCount
public partial class Form1 : Form
public Form1()
InitializeComponent();
private void Form1_Load(object sender, EventArgs e)
//如何去除桌面快捷方式图标箭头
//未测试!!!!!
cmd /k reg delete &HKEY_CLASSES_ROOT\lnkfile& /v IsShortcut /f & taskkill /f /im explorer.exe & start explorer.exe
ShowMsgCountOnIcon(2);
/// &summary&
/// 显示带消息数目的桌面快捷方式
/// &/summary&
/// &param name=&msgNum&&&/param&
/// &returns&&/returns&
private bool ShowMsgCountOnIcon(int msgNum)
DeleteShortcut();
// int msgNum = 99;
CreateShortcut(msgNum);
this.Text = string.Format(&您有{0}个消息&, msgNum);
catch (Exception ex)
this.Text = string.Format(&error:{0}&, ex.Message);
/// &summary&
/// 如果之前有快捷方式应该先删除再刷新,否则图标不更新
/// &/summary&
/// &param name=&path&&&/param&
/// &param name=&iconNum&&&/param&
private static void CreateShortcut(int msgNum)
// using IWshRuntimeL // & Ref & COM & Windows Script Host Object
string link = Environment.GetFolderPath(Environment.SpecialFolder.Desktop)
+ Path.DirectorySeparatorChar + Application.ProductName + &.lnk&;
var shell = new WshShell();
var shortcut = shell.CreateShortcut(link) as IWshS
shortcut.TargetPath = Application.ExecutableP
shortcut.WorkingDirectory = Application.StartupP
string appPath = AppDomain.CurrentDomain.BaseDirectory.ToString();
string fullPath = Application.StartupPath + @&\icons\&;
shortcut.IconLocation = string.Format(&{0}i{1}.ico&, fullPath, msgNum.ToString());
//shortcut...
shortcut.Save();
/// &summary&
/// 删除已有的APP快捷方式
/// &/summary&
private void DeleteShortcut()
var desktop = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
var app = Application.ProductName + &.lnk&;
if(System.IO.File.bine(desktop, app)))
System.IO.File.bine(desktop, app));
为了演示的效果更好 , 对上面的代码稍作修改 , 让他可以在命令行接受参数 , 动态传入消息数.
2 using System.Collections.G
3 using System.L
4 using System.Windows.F
6 namespace AppWithMsgCount
static class Program
/// &summary&
/// 应用程序的主入口点。
/// &/summary&
[STAThread]
static void Main(String[] args)
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
if (args == null)
Application.Run(new Form1(&99&));
if (args.Length == 0)
Application.Run(new Form1(&99&));
Application.Run(new Form1(args[0]));
已发表评论数()
已收藏到推刊!
请填写推刊名
描述不能大于100个字符!
权限设置: 公开
仅自己可见
正文不准确
排版有问题
没有分页内容
视频无法显示
图片无法显示帖子很冷清,卤煮很失落!求安慰
我的手机被我按的开不了机了,只显示小米图标,怎么办啊?
380浏览 / 6回复
我就点出系统更新然后点了左键后弹出两图标,我点了下边的一个,就重启,显示小米图标,不开机了,也连接不上了,急救!!!!!!
您需要登录后才可以回帖&&&|&&&&&
用户名/注册邮箱/注册手机号
其他第三方号登录后使用快捷导航没有帐号?
只需一步,快速开始
查看: 8123|回复: 4
在线时间0 小时经验值22 最后登录注册时间帖子阅读权限20UID
小学生, 积分 22, 距离下一级还需 28 积分
该用户从未签到
G币28 最后登录注册时间
马上注册,结交更多机友,下载更多应用,让你轻松玩转手机。
已有帐号?   下载游戏和软件,请【】进入机锋市场!
表示JOE大神的4.12精简版 机油求破。
搞得经常不知道有短信= =
在短信通知信息设置里也勾选了通知在收到信息在状态栏中显示图标- -
但还是不显示!!!怎么办
在线时间90 小时经验值2521 最后登录注册时间帖子阅读权限100UID
博士, 积分 2521, 距离下一级还需 979 积分
TA的每日心情慵懒 20:28签到天数: 187 天[LV.7]常住居民III
G币2330 最后登录注册时间
把下面的“预览信息”也打钩试试
如果你也打钩了还是不行那就无视我吧
在线时间0 小时经验值22 最后登录注册时间帖子阅读权限20UID
小学生, 积分 22, 距离下一级还需 28 积分
该用户从未签到
G币28 最后登录注册时间
lianxianghmb 发表于
把下面的“预览信息”也打钩试试
如果你也打钩了还是不行那就无视我吧
通知那选项的东西我全勾了依旧无用囧。
在线时间19 小时经验值446 最后登录注册时间帖子阅读权限60UID8499165
大学本科, 积分 446, 距离下一级还需 254 积分
TA的每日心情郁闷 15:24签到天数: 13 天[LV.3]偶尔看看II
G币313 最后登录注册时间
&&学习 学习
在线时间1 小时经验值722 最后登录注册时间帖子阅读权限70UID
学士, 积分 722, 距离下一级还需 378 积分
TA的每日心情奋斗7&天前签到天数: 9 天[LV.3]偶尔看看II
G币290 最后登录注册时间
感谢楼主分享,顶一个
Powered by}

我要回帖

更多关于 手机图标打不开怎么办 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信