近段时间忙于写一个winform小程序,对于擅长写web程序的我谈不上是在分享,这里所写的相当于我的备忘录,呵呵。。
1)开机启动
- stringR_startPath=Application.ExecutablePath;
- if(checkBox1.Checked==true)
- {
- RegistryKeyR_local=Registry.LocalMachine;
- RegistryKeyR_run=R_local.CreateSubKey(@"SOFTWARE/Microsoft/Windows/CurrentVersion/Run");
- R_run.SetValue("MT128Stock",R_startPath);
- R_run.Close();
- R_local.Close();
- }
- else
- {
- try
- {
- RegistryKeyR_local=Registry.LocalMachine;
- RegistryKeyR_run=R_local.CreateSubKey(@"SOFTWARE/Microsoft/Windows/CurrentVersion/Run");
- R_run.DeleteValue("MT128Stock",false);
- R_run.Close();
- R_local.Close();
- }
- catch(Exceptionex)
- {
- MessageBox.Show("您需要管理員權權限修改","提示",MessageBoxButtons.OK,MessageBoxIcon.Error);
- throw;
- }
- }
2)托盘显示
向winfom中插入NotifyIcon控件notifyIcon1
- protectedoverridevoidOnSizeChanged(EventArgse)
- {
- if(this.WindowState==FormWindowState.Normal)
- {
- this.Width=920;
- this.Height=530;
- }
- base.OnSizeChanged(e);
- }
- protectedoverridevoidOnClosing(CancelEventArgse)
- {
- e.Cancel=true;
- HideMainForm();
- }
- privatevoidnotifyIcon1_MouseDoubleClick(objectsender,MouseEventArgse)
- {
- if(this.Visible)
- {
- HideMainForm();
- }
- else
- {
- ShowMainForm();
- }
- }
- privatevoidHideMainForm()
- {
- this.Hide();
- }
- privatevoidShowMainForm()
- {
- this.WindowState=FormWindowState.Normal;
- this.Show();
- this.Activate();
- }
- privatevoidExitMainForm()
- {
- if(MessageBox.Show("您確認要退出股票接收程序嗎?","確認退出",MessageBoxButtons.OKCancel,MessageBoxIcon.Question,MessageBoxDefaultButton.Button2)==DialogResult.OK)
- {
- this.notifyIcon1.Visible=false;
- this.Close();
- this.Dispose();
- Application.Exit();
- }
- }
3)托盘显示的右击菜单
向winfom中插入ContextMenuStrip控件contextMenuStrip1,再将notifyIcon1的ContextMenuStrip属性值设为contextMenuStrip1,并添加多项相关Items
- #region右键菜单处理,显示 隐藏 退出
- privatevoidMinShowItem_Click(objectsender,EventArgse)
- {
- HideMainForm();
- }
- privatevoidShowItem_Click(objectsender,EventArgse)
- {
- ShowMainForm();
- }
- privatevoidExitItem_Click(objectsender,EventArgse)
- {
- ExitMainForm();
- }
- #endregion
通过在Microsft.Win32命名空间的Registry可以在注册表中设置注册表项中的名称/值对的值。
在注册表的"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run"中
存储应用程序名和路径可以实现程序的自启动。代码如下:
usingSystem;
usingSystem.Collections.Generic;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Text;
usingSystem.Windows.Forms;
namespaceAutoRun
{
publicpartialclassForm1:Form
{
publicForm1()
{
InitializeComponent();
}
//设置开机启动
privatevoidbtnSet_Click(objectsender,EventArgse)
{
Microsoft.Win32.Registry.SetValue(@"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run"
,Application.ProductName,Application.StartupPath+Application.ProductName);
}
//C#WinForm打开超链接
privatevoidForm1_Load(objectsender,EventArgse)
{
System.Diagnostics.Process.Start("iexplore.exe","http://revit.5d6d.com");
}
}
}
分享到:
相关推荐
在C# WinForm应用开发中,我们经常需要实现一些特殊的功能,比如程序开机自启动、最小化到系统托盘、双击或右键操作显示窗体以及定时调用服务。以下将详细介绍这些知识点: 1. **开机自启动**:为了使应用程序在...
### C#实现Winform软件开机自动启动并最小化到系统托盘 在Windows平台上开发桌面应用时,我们经常需要让应用程序在系统启动时自动运行,并且可以最小化至任务栏通知区域(通常称为系统托盘),以便用户可以方便地...
### C# WinForm程序开机启动和托盘显示详解 #### 一、概述 在开发桌面应用程序时,有时候我们需要让程序具备开机自启动的功能,并且在系统托盘中显示图标以便用户进行快速操作。本文将详细介绍如何实现C# WinForm...
总结,通过上述步骤,我们可以成功地实现C# WinForm应用程序的开机启动和托盘显示。这不仅增加了用户体验,也让应用程序的管理更加便捷。在实际项目中,还可以进一步扩展这些功能,例如添加右键菜单来控制应用程序的...
在Windows平台上,开发桌面应用程序时,常常需要实现程序在开机时自动启动的功能,这在Winform应用中也不例外。本文将详细讲解如何使一个Winform应用实现开机自启动。 首先,我们要理解“Winform开机自启动”这个...
在本文中,我们将深入探讨如何使用C# Winform技术创建一个程序,使其能够实现开机自启动,并能区分是开机启动还是用户双击运行。Winform是.NET Framework中的一个强大工具,用于构建桌面应用程序,而C#是其常用的...
在C# WinForm应用程序中,实现开机自启动和识别程序启动方式是一项常见的需求。下面将详细解释这个主题,包括如何创建一个WinForm程序,并让它在系统启动时自动运行,以及如何区分程序是通过开机启动还是用户双击...
在创建WinForm应用时,我们有时希望在程序启动时展示一个启动画面,以提高用户体验,使其看起来更加专业。本文将通过一个简单的例子,详细解释如何在C# WinForm程序中添加启动画面。 首先,你需要使用Visual Studio...
在本文中,我们将深入探讨如何使用C# WinForm应用程序来创建和管理Windows系统的开机启动项。C#是一种功能强大的编程语言,尤其适用于构建桌面应用程序,而WinForm是C#中的一个用户界面框架,用于设计直观易用的图形...
在C#编程中,有时我们希望创建一个应用程序,它在启动时不显示主窗口,而是直接最小化到系统任务栏的托盘区域。这样的设计可以使用户界面更加简洁,同时保持程序在后台运行。本文将详细解释如何实现这个功能,主要...
在本文中,我们将深入探讨如何使用C# WinForm开发一个具备开机自启动、最小化到系统托盘、双击恢复窗体以及右键菜单功能的应用程序,并集成FTP文件上传和下载功能,同时处理多网卡环境下的网络选择问题。这个项目...
在Windows Forms(Winform)开发中,托盘应用程序是指那些不在任务栏中显示窗口,而是以系统托盘图标形式存在的程序。这样的设计可以提供简洁的用户界面,同时保持程序后台运行。本文将详细介绍如何在Winform中创建...
自制的使用内存映射方案的Winform的单例启动解决方案,博客主页:http://blog.csdn.net/lightspear
在Windows桌面应用开发中,"Winform最小化到系统托盘"是一个常见的需求,它使得应用程序在被最小化时不会完全消失,而是隐藏到任务栏的系统托盘区域,这样可以方便用户在不关闭程序的情况下进行其他操作。...
在Windows Forms(WinForm)开发中,有时我们需要判断一个特定的窗体实例是否已经存在或者正在运行,以便决定是否需要再次打开它。标题和描述提到的"winform判断窗体是否打开"是一个常见的需求,特别是在多文档界面...
在C# WinForm开发中,Label控件是用于显示静态文本的常见组件,但默认情况下,它不支持复杂的格式化,比如变色字体或超链接功能。然而,开发者经常需要在用户界面中添加这些功能,以提升用户体验和交互性。在标题"...
在VB.NET编程环境中,开发一款Winform应用程序时,有时我们需要实现窗口在后台静默运行、防止多实例同时打开以及能够开机自动启动的功能。这个“BgProcessTemplate.rar”压缩包提供了一个示例,帮助开发者理解并实现...
在Windows操作系统中,让一个程序在开机时自动启动是一个常见的需求。C# WinForm应用程序可以通过操作注册表来实现这一功能。下面将详细讲解如何利用C#编程语言和WinForm界面设计来实现这一功能。 首先,我们需要...
C# winform 启动项设置,如何改变winform窗体的启动项,启动项窗体的刷新