using IWshRuntimeLibrary;
using Microsoft.Win32;
using System.IO;
namespace Sample
{
public partial class Form1 :
Form
{
RegistryKey reg =
Registry.CurrentUser.OpenSubKey(
"SOFTWARE\\Microsoft\\Windows \\CurrentVersion\\Run",
true)
; // check windows is run
private NotifyIcon tryIcon;
//add icon in 'System Tray'
private ContextMenu trayMenu; // create menu
public Form1()
{
// if windows is run my app (setup1) is run
reg.SetValue(
"MyApp",
Application.ExecutablePath);
MessageBox.Show("Test");
//create Menu Item trayMenu =
new ContextMenu ();
//Menu Item (Show, Hide, Exit) ==> menu Function (OnShow, OnHide, OnExit) in #region System Tray Menu trayMenu.MenuItems.Add(
"Show", OnShow);
trayMenu.MenuItems.Add(
"Hide", OnHide);
trayMenu.MenuItems.Add(
"Exit", OnExit);
// Display icon in "System Tray" (refer image first)
tryIcon = new NotifyIcon();
// set Systen tray icon
tryIcon.Text = "Setup1";
// set system tray text
// how to add resources -> click 'Properties' -> open the 'Resources.resx' -> change to string to icon -> click 'Add Resource' - select 'Add Existing file' and select icon
tryIcon.Icon = Properties.
Resources.ftprush_install;
// add icon in 'System Tray'
tryIcon.ContextMenu = trayMenu; // add menu at "System try"
tryIcon.Visible =
true;
// Icon visible true
InitializeComponent();
}
void CreateStartupShortcut()
// Display "Windows Startup" (refer image 2)
{
string startupFolder =
Environment.GetFolderPath(
Environment.
SpecialFolder.Startup);
WshShell shell = new
WshShell();
string shortcutAddress = startupFolder +
@"\MYApp.lnk";
IWshShortcut shortcut = (
IWshShortcut)shell.CreateShortcut(shortcutAddress);
shortcut.Description =
"A startup shortcut. If you delete this shortcut from your computer, LaunchOnStartup.exe will not launch on Windows Startup";
// set the description of the shortcut
shortcut.WorkingDirectory =
Application.StartupPath;
/* working directory */
shortcut.TargetPath = Application.ExecutablePath;
/* path of the executable */
// optionally, you can set the arguments in shortcut.Arguments
// For example, shortcut.Arguments = "/a 1";
shortcut.Save();
}
private void Form1_Load(object sender,
EventArgs e)
{
this.Opacity = 0;
// form not display (this is hide) this.ShowInTaskbar =
false;
// display hide in Task bar //this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.SizableToolWindow; // in Design mode: }
#region System Tray Menu
private void OnExit(object sender,
EventArgs e)
{
Application.Exit();
}
private void OnShow(object sender,
EventArgs e)
{
this.Opacity =1;
// form display (this is show) this.ShowInTaskbar =
true;
// display in Task bar }
private void OnHide(object sender,
EventArgs e)
{
this.Opacity = 0;
// form not display (this is hide) this.ShowInTaskbar =
false;
// display hide in Task bar }
#endregion System Tray Menu
}
}
Download Sample Coding (LaunchOnStartUp.rar)
Download Interop.IWshRuntimeLibrary.dll