C#一行代碼實現系列原創分享
覺得對您有幫助,幫忙推薦加關注
Nuget Package下載
https://www.nuget.org/packages/Sayaka.Common/
目錄
- 此頁面會更新鏈接,保存此頁面即可
初步計划完成以下內容
-
窗口程序
-
運行CMD程序
- 無窗口運行CMD程序
- 注冊OCX控件
-
App.Config
配置文件讀寫- 讀
App.Config
參數 - 寫
App.Config
參數 - 綁定控件
Text
到App.Config
參數
- 讀
-
注冊表讀寫
- 讀注冊表
- 寫注冊表
-
文本文件讀寫
- 讀文本文件
- 寫文本文件
-
Win32API封裝
- 通過
ClassName
和WindowText
模糊查找所有頂級窗口 - 通過
ClassName
和WindowText
模糊查找窗口內所有子控件 - 發送消息
- 模擬點擊其他程序窗口按鈕
- 在其他程序窗口上模擬按鍵
- 正常關閉其他窗口
- 強制關閉其他窗口
- 獲取窗口屬性
- 修改窗口屬性
- 獲取窗口位置和大小
- 修改窗口位置和大小
- 其他
- 通過
-
先列到這里,未完待續……
主要功能
- 實現
Winform
程序最小化后,隱藏任務欄顯示,在通知區域顯示。左鍵點擊通知區域圖標,可以彈出菜單,包含開機啟動
和退出程序
,可以根據需求進行定制。
一行代碼
private void Form1_Load(object sender, EventArgs e)
{
this.ExAddNotifyIcon();
}
代碼封裝
/// <summary>
/// 添加通知圖標,左鍵點擊切換窗口顯示,右鍵點擊彈出菜單
/// </summary>
/// <param name="form"></param>
/// <param name="tipText"></param>
/// <param name="timeout"></param>
/// <param name="tipIcon"></param>
/// <returns></returns>
public static NotifyIcon ExAddNotifyIcon(this Form form, string tipText = "程序最小化至后台運行,點擊圖標顯示程序", int timeout = 3000, ToolTipIcon tipIcon = ToolTipIcon.Info)
{
NotifyIcon notifyIcon = new NotifyIcon();
notifyIcon.Icon = form.Icon;
notifyIcon.Visible = true;
notifyIcon.Text = form.Text;
notifyIcon.BalloonTipText = form.Text;
notifyIcon.MouseClick += (sender, args) =>
{
if (args.Button == MouseButtons.Left)
{
if (!form.Visible)
{
form.Show();
form.WindowState = FormWindowState.Normal;
form.TopMost = true;
form.TopMost = false;
}
else
{
form.WindowState = FormWindowState.Minimized;
form.Hide();
}
}
};
notifyIcon.ContextMenu = new ContextMenu(new MenuItem[]
{
new MenuItem("開機啟動", (sender, args) => { ((MenuItem) sender).Checked = form.ExSwitchRunOnSystemStart(); })
{
Checked = form.ExIsRunOnSystemStart()
},
new MenuItem("退出程序", (sender, args) => { form.Close(); }),
});
form.SizeChanged += (sender, args) =>
{
if (form.WindowState == FormWindowState.Minimized)
{
form.Hide();
notifyIcon.ShowBalloonTip(timeout, form.Text, tipText, tipIcon);
}
};
form.FormClosed += (sender, args) => { notifyIcon.Dispose(); };
return notifyIcon;
}
聲明
- 文章作者:易幾施
- 博客地址:https://www.cnblogs.com/easynetwork/
- 版權聲明:文章遵循創作共用版權協議,署名、非商業、保持一致,轉載請注明出處。