Excel でダイナミックマクロを使いたかったので、とりあえず Windows にフックするのを作ろうと。
グローバルフックを利用する必要があるので、
.netでグローバルフックを掛ける方法。 - くらげのChangeLog
http://d.hatena.ne.jp/ku__ra__ge/20070529/p9 →pageinfo
より
覚書/C♯/グローバルフック - PukiWiki
http://azumaya.s101.xrea.com/wiki/index.php?%B3%D0%BD%F1%2FC%A2%F4%2F%A5%B0%A5%ED%A1%BC%A5%D0%A5%EB%A5%D5%A5%C3%A5%AF →pageinfo
ここを見て、C# で書こうと思った。
C# は書いたことが無かったので、とりあえず
Microsoft Visual Studio 2008 Express Edition
http://www.microsoft.com/japan/msdn/vstudio/express/ →pageinfo
から
Visual C# 2008 Express Edition with Service Pack 1
http://go.microsoft.com/?LinkId=9348303 →pageinfo
をインストールした。で、
システムトレイ(タスクトレイ)にアイコンを表示するには? − @IT
http://www.atmarkit.co.jp/fdotnet/dotnettips/392notifyicon/notifyicon.html →pageinfo
を参考に、システムトレイにアイコンを表示させて、設定項目をつけて、
フォームを表示させずにトレイアイコンを表示する: .NET Tips: C#, VB.NET, Visual Studio
http://dobon.net/vb/dotnet/form/hideformwithtrayicon.html →pageinfo
を参考に、トレイ以外にフォームができることを確認した。で、
タスクトレイにアイコンとバルーンを表示する(1/2):CodeZine
http://codezine.jp/article/detail/421 →pageinfo
を見ながら、なんとかアイコンをタスクトレイに入れた。
Keys 列挙体 (System.Windows.Forms)
http://msdn.microsoft.com/ja-jp/library/system.windows.forms.keys.aspx →pageinfo
SendKeys クラス (System.Windows.Forms)
http://msdn.microsoft.com/ja-jp/library/system.windows.forms.sendkeys.aspx →pageinfo
を見ながら Keys と SendKeys の違いにハマったり、
appConfig と applicationConfig の違いにハマったり、
部分繰り返しに対応してなかったり、
そもそもマクロ展開が遅いんだけど、一応動いた。
horaguchi / global-dynamic-macro / wiki / Home ― bitbucket.org
http://bitbucket.org/horaguchi/global-dynamic-macro/wiki/Home →pageinfo
Express 登録まであと 22 日。