- VS 2017 Express
- Form で作成、.Net Framework 4.6を指定した。
- app.ico が別途必要。https://icon-icons.com/ja/ などからアイコンを準備
Program.cs
using System;
using System.Diagnostics; // ProcessStartInfoで必要
using System.Drawing;
using System.Windows.Forms;
class MainWindow
{
static void Main()
{
Launcher launcher = new Launcher();
Application.Run();
}
}
class Launcher : Form
{
public Launcher()
{
this.ShowInTaskbar = false;
this.setComponents();
}
private void cmdHello()
{
MessageBox.Show("こんにちは。");
}
private void cmdIe()
{
ProcessStartInfo processStartInfo = new ProcessStartInfo("C:\\Program Files (x86)\\Internet Explorer\\iexplore.exe", "http://yahoo.co.jp");
Process process = Process.Start(processStartInfo);
}
private void Close_Click()
{
Application.Exit();
}
private void setComponents()
{
NotifyIcon icon = new NotifyIcon();
icon.Icon = new Icon("app.ico");
icon.Visible = true;
icon.Text = "常駐アプリテスト";
ContextMenuStrip menu = new ContextMenuStrip();
ToolStripMenuItem menuItem = new ToolStripMenuItem();
menu.Items.AddRange(new ToolStripMenuItem[]{
new ToolStripMenuItem("命令cmdHello", null, (s,e)=>{cmdHello();}),
new ToolStripMenuItem("命令cmdIe", null, (s,e)=>{cmdIe();}),
new ToolStripMenuItem("終了", null, (s,e)=>{Close_Click();})
});
icon.ContextMenuStrip = menu;
}
}
いろんなページを参考にしました。