Mac アドレスをコピーしたらベンダー名を表示する

以前にクリップボードの内容が変更されたら通知するツールを作りました。

しかし、.NET Framework には Clipboard を表現するクラス はあるものの、クリップボードの変更を通知するイベントが無い為、上述のツールでは「一定間隔でクリップボードの内容を取得し、前回の取得時と差分が無いか確認することで変更を検知する」という些かイケていない方法で実装していました。しかし、@IT で Win32 API の SetClipboardViewer を使ったサンプル記事「.NET TIPS - クリップボードの内容をリアルタイムに取得するには?」が公開されていたので、Win32 API を使ってツールをつくり直してみました。ただ、これだけではアレなので、クリップボードにコピーされたテキストが Mac アドレスだった場合はベンダー名を表示するように実装してみました。動作には .NET Framework 4.0 が必要です。

「xx.xx.xx.xx.xx.xx」(ピリオド区切り)や「yy:yy:yy:yy:yy:yy」(コロン区切り)、「zz-zz-zz-zz-zz-zz」(ハイフン区切り)といった形式の Mac アドレスをクリップボードにコピーすると、以下のようにベンダー名を表示します。

file