システムトレイにアイコンを表示する
システムトレイにアイコンを表示するにはどうするか?IronPython-2.6-Samplesの中にあるチュートリアルWinFormsMapPointに方法が示されている。
簡略化したサンプルコードを以下に示す。
import clr clr.AddReference("System.Windows.Forms") clr.AddReference("System.Drawing") from System.Windows.Forms import * from System.Drawing import * import System from System import * class FormV4(Form): def __init__(self): self.Text = 'Test Window' self._components = System.ComponentModel.Container() self._contextMenuStrip1 = ContextMenuStrip(self._components) self._exitToolStripMenuItem = ToolStripMenuItem(Text='Exit') self._contextMenuStrip1.Items.Add(self._exitToolStripMenuItem) self._exitToolStripMenuItem.Click += self.OnExitClick self._notifyIcon1 = NotifyIcon(self._components, Visible=True, Text='Test icon') self._notifyIcon1.Icon = Icon("\WinForms\App.ico") self._notifyIcon1.ContextMenuStrip = self._contextMenuStrip1 self.Closed += self.OnNotifyIconExit def OnExitClick(self, *args): self.Close() def OnNotifyIconExit(self, *args): self._notifyIcon1.Dispose() Application.Run(FormV4())
実行すると何もコントロールを持たないウィンドウが立ち上がる。でも今回はウィンドウが主役ではない。