每天上班第一件事就是开电脑,然后开一堆软件...

QQ..Opear..VS..虚拟机..RTX..等等。。很费时间.有了这个软件就可以在开始的时候点击一键启动,之后你可以去泡杯茶了。

最近也正在回顾WPF一些知识,就用 WPF做了一款开机一键启动程序的软件。

高手莫笑。

软件截图:

功能说明:

1,支持鼠标拖动图标到界面,并保存程序图标。

2,支持保存配置.

3,支持开机自动运行.

4,支持系统托盘右键菜单。

纯绿色,无污染。。哈哈。

目前还存在一些不满意的地方就是 图标获取的样式不对,很郁闷.

下面贴出一些关键代码。供大家学习

开机启动设置代码

public class Automatic { //判断是否已经存在此键值,此处可以在Form_Load中来使用。 //如果存在,菜单[开机自动运行]前面可以打上对钩 //如果不存在,则不操作 public bool IsExistKey(string keyName) { bool _exist = false; RegistryKey hklm = Registry.LocalMachine; RegistryKey runs = hklm.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Run", true); if (runs == null) { RegistryKey key2 = hklm.CreateSubKey("SOFTWARE"); RegistryKey key3 = key2.CreateSubKey("Microsoft"); RegistryKey key4 = key3.CreateSubKey("Windows"); RegistryKey key5 = key4.CreateSubKey("CurrentVersion"); RegistryKey key6 = key5.CreateSubKey("Run"); runs = key6; } //注意此处用的是GetValueNames() string[] runsName = runs.GetValueNames(); foreach (string strName in runsName) { if (strName.ToUpper() == keyName.ToUpper()) { _exist = true; return _exist; } } return _exist; } public bool WriteKey(string keyName, string keyValue) { RegistryKey hklm = Registry.LocalMachine; //定义hklm指向注册表的LocalMachine,其中Software/Microsoft/Windows/CurrentVersion/Run就是关系到系统中随系统启动而启动的程序,通称启动项 RegistryKey run = hklm.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Run",true); try { //将我们的程序加进去 run.SetValue(keyName, keyValue); //注意,一定要关闭,注册表应用。 hklm.Close(); return true; } catch //这是捕获异常的 { return false; } } //删除键值 public void DeleteKey(string keyName) { RegistryKey hklm = Registry.LocalMachine; RegistryKey runs = hklm.OpenSubKey(@"Software/Microsoft/Windows/CurrentVersion/Run", true); try { //注意此处用的是GetValueNames() string[] runsName = runs.GetValueNames(); foreach (string strName in runsName) { if (strName.ToUpper() == keyName.ToUpper()) runs.DeleteValue(strName, false); } } catch { } } }

拖动程序,保存图标方法

private void textBox1_Drop(object sender, DragEventArgs e) { if (e.Data.GetDataPresent(DataFormats.FileDrop, false)) { Icon[] myicon = new Icon[1000]; int currentIndex = 0; String[] files = (String[])e.Data.GetData(DataFormats.FileDrop); foreach (string s in files) { if (System.IO.File.Exists(s)) { string filename = ""; Statis statis = null; if (s.EndsWith(".lnk")) { WshShell shell = new WshShell(); IWshShortcut link = shell.CreateShortcut(s) as IWshShortcut; filename = link.TargetPath; statis = new Statis(); statis.ApplicationPath = filename; } else { statis = new Statis(); statis.ApplicationPath = s; } IntPtr Large, Small; int i, nIcons; Large = (IntPtr)0; Small = (IntPtr)0; nIcons = ExtractIconEx(filename, -1, ref Large, ref Small, 1); Graphics g = Graphics.FromHwnd(new System.Windows.Interop.WindowInteropHelper(new Window1() as Window).Handle);//this.CreateGraphics(); for (i = 0; i < nIcons; i++) { ExtractIconEx(filename, i, ref Large, ref Small, 1); myicon[currentIndex] = System.Drawing.Icon.FromHandle(Large); // g.DrawIcon(myicon[currentIndex], (i / 3) * 40, (i % 3) * 40); g.DrawIcon(myicon[currentIndex], -40, -40); currentIndex++; break; } string name = filename.Substring(filename.LastIndexOf("\\") + 1); string path = ""; FileStream fs; String appStartupPath = System.IO.Path.GetDirectoryName(Process.GetCurrentProcess().MainModule.FileName); for (int j = 0; j < currentIndex; j++) { path = appStartupPath + "/Images/" + name.Remove(name.LastIndexOf(".")) + ".ico"; if (!System.IO.File.Exists(path)) { fs = new FileStream(path, FileMode.Create, FileAccess.ReadWrite); myicon[j].Save(fs); fs.Close(); fs.Dispose(); } } statis.ImagePath = path; this.listBox1.Items.Add(statis); this.listBox1.Items.Refresh(); } } } }

软件截图:

右键菜单

免安装 下载地址:http://files.cnblogs.com/xiaogangqq123/一键启动程序.rar

运行环境:.netFramWork4.0

想看源码的,做程序的人你懂得.表跟我要..

本篇文章同步发表在我的独立博客http://xiaogangblog.com/archives/311

欢迎访问.

转载于:https://www.cnblogs.com/xiaogangqq123/archive/2011/08/29/2158318.html

WPF 开机一键启动程序V1.0【原创】相关推荐

  1. PHP同义词伪原创程序V1.0 修复增强版 自带4万+词库

    介绍 PHP同义词伪原创程序V1.0 修复增强版 自带4万+词库是专门生成原创及伪原创文章的在线工具,可以把在互联网上复制的文章瞬间变成原创文章.本工具是一款免费的专业伪原创工具,专门针对谷歌.百度. ...

  2. SQL防注入程序 v1.0

    /// ***************C#版SQL防注入程序 v1.0************ /// *使用方法: /// 一.整站防注入(推荐) /// 在Global.asax.cs中查找App ...

  3. 计算机服务管理器延迟启动项,开机延时启动程序

    此软件在网吧应该中属于实用工具!此外服务器上也有少数人需要,将这个开机延时启动程序发出来给大家用吧!延时启动无非是设置启动时间,让某几个程序在某个时间1个1个的启动!根据顺序! 例如设置进入系统桌面后 ...

  4. 用云开发搭建的微信答题小程序v1.0

    近来百无聊赖,遂抽空做了一个答题小程序的系列教程,以及分享源码,是用云开发搭建的微信答题小程序v1.0. 界面截图 该答题小程序大致如下图: 结构层级 主要程序由3个界面组成,分别是index,tes ...

  5. 抖音壁纸小程序v1.0.2版本功能,新增达人入住功能

    抖音壁纸小程序v1.0.2版本功能 抖音壁纸小程序源代码 此次新增和优化功能如下: 达人入住 达人审核 收益管理 下载壁纸页面UI优化 素材管理 素材上传 新增抖音图片检测接口 消息通知 达人搜索 收 ...

  6. 个人版的一键GHOST工具V1.0 BY何定坤

    这是一个来自个人版的一键ghost系统备份还原工具V1.0,他的名字叫何定坤,量产网觉得还行就分享出来了,有兴趣的可以试试. 个人版的一键GHOST工具V1.0 BY何定坤下载地址:http://ww ...

  7. 基于云开发的微信答题活动小程序v1.0搭建部署帮助文档

    11月是全国"119"消防宣传月,不少企事业单位都会举办消防安全知识竞答活动,因此我基于云开发搭建了消防安全知识答题活动小程序. 接着,还写完了初阶的手把手教你搭建答题活动小程序系 ...

  8. 360一键wifi共享 v1.0 绿色免费版

    360一键wifi共享 v1.0 绿色免费版 软件大小:924KB 软件语言:简体中文 软件性质:常用软件 软件授权:免费版 更新时间:2014-03-03 应用平台:/Win8/Win7/WinXP ...

  9. 魔兽世界多账号管理批处理程序V1.0

    很多人有多个通行证多个账号  每次登陆都需要输入很长的邮箱名,很是麻烦,前两天看有人发了个保存账号的方法,但是只能保存一个账号,每次上别的账号很是麻烦,于是我做了两个批处理可以打开游戏之前选择游戏账号 ...

最新文章

  1. TensorFlow文本情感分析实现
  2. QCustomPlot使用手册(二)
  3. 正弦波 程序 角度传感器_激光位移传感器的原理及应用领域
  4. jQuery中的视图样式和动画效果
  5. 云原生架构及设计原则
  6. table中td的内容换行。
  7. Lodop打印控件介绍
  8. 城市矢量边界数据下载
  9. 我的关于 **Mermaid** 语法
  10. python导入excel加入折线图_python(win32com)在excel中插入折线图
  11. C/C++实现的游戏角色名称名字随机生成代码
  12. 【经验总结】Maple看电子书
  13. php存在文件夹_PHP创建文件夹 PHP判断文件夹文件是否存在
  14. python运行时关闭硬件信息-Python实现的读取电脑硬件信息功能示例
  15. 如何为戴尔灵越15 5559加装内存条和固态硬盘
  16. 【2】非线性方程求解函数vpasolve
  17. c语言 整数四则运算
  18. VMware的配置及ubuntu10.04 tftp 与嵌入式开发板的连接设置
  19. maven远程仓库和镜像
  20. isset php 二维数组_php 一维数组按条件转换成二维数组

热门文章

  1. linux安装mysql5.7(修改密码策略)
  2. python爬携程景区评论_python爬取携程景点评论信息
  3. 阿里云日志服务grafana可视化探索
  4. ps多行文字如何左右对齐
  5. Spring包含JAR的详解
  6. 谱聚类(Spectral Clustering)算法介绍
  7. 马斯克等超1200人联名公开信呼吁:停止训练更强大的AI,这背后原因发人深省,该给ChatGPT泼冷水了
  8. 计算机网络技术艺术设计方面,【艺术设计论文】数字技术下的新媒体艺术设计(共3150字)...
  9. 转:深网 | 中国手机往事:因为雷军、罗永浩们,中国才告别山寨机
  10. TencentOS-Tiny之GCC