2008-10-30
続、Windows7
憶測だけで言うのもあれなので少し調べてみました。
タスクバーがアイコンだけでウィンドウテキストがないのが気になってましたが、これはランチャもかねるようです。つまりみら~じゅの現状の実装では対応できない可能性がかなり高いです。しかしクイックランチ廃止とは。
先のエントリでうだうだ言っていたジャンプリストはCOMインタフェースが用意されるようです。ほかのタスクバー周りの機能拡張もCOM。でこのジャンプリスト起動中のアプリはもちろん、スタートメニューからもアクセスできるとあるんですよね。アプリケーションが起動しているならという条件がつくならシェルに情報を送ればいいので分かりますが、起動せずに可能だとCOMオブジェクトの登録とかありそうで非常にめどそうです。
でタスクバーのアイコンが大きくなっている(ランチャも兼ねることからアプリケーションのアイコン?)のですが、合わせて通知領域のアイコンも大きくしないといけないのでしょうか。
Windows7
10月の更新頻度がだめすぎですね。ちょっとリアルでいろいろとありましてやる気がおきなかったわけですが。
発表された(といっても日本語記事を周っただけですが)Windows7の新機能で個人的に気なる機能は特には。見た感じエクスプローラの拡張って感じでAPIレベルで改変が加えられてるのかよくわからないってのもありますが。その辺知りたかったら英語記事読めってことですか。
あえて1点ジャンプリスト、タスクバーの右クリックして表示されるメニューは現状でも普通に独自のメニューを追加することができるわけなのですが。スクリーンショットを見る限り小奇麗になった印象しか受けません。新機能と紹介するくらいですからAPIを用意しているのでしょうけど。記事によってはよく使うメニューを自動でとかありますけど普通に考えて無理です。最近のアプリはメニューバーを持っていない(似たのものを自分で作っている)ものも珍しくありませんから。タスクバーで最大化とかできなくなるのはちょっと微妙な感じです。
でタスクバーが変わった(少なくとも見た目が)ということはみら~じゅのタスクバー同期の機能を変更する必要性がある可能性があるわけで。Windows7が流行ってその手の情報が出てくるといいのですが。Vistaの新機能の情報のなさっぷりはがっかりです。
パブリックベータが12月ということなのであまり弄る時間ありそうにないですが、基本新しい物好きではあるので何とかしたいとは思います。
2008-10-20
散財
久々にVC++触ってlib周りの設定に泣く。そんな一日。
- ひめなカメナ#4
最終巻です。金銭的な事情より来月に回そうかとも思いましたけども割と大きい本屋に後1冊しかなかったので購入。若干展開が急な感もありますが、内容はしっかり結城本でとてもよかったですはい。
2008-10-18
じっみっだっね!
トップ絵更新。かんなぎ第一話より。
いろいろと無理がある気がしますが、心が折れたので更新。初心に戻ってスカートを激しく翻してみたり、オオヌサをがんばってみたり。
2008-10-09
さらさら
2回連続であたるとか…!
.NET 3.5 Service Pack 1のサービスリリース1とかいうのが予定されているそうです。こんなわけのわからない名前のだされても動作環境書くのがめんどくさすぎです。まぁ.NET 3.5使っているアプリは今のところ公開していないわけですが。そもそも12月に出る予定だったのが夏に出た時点で無理が合ったのではないでしょうか。いまだインテリセンスの修正がリリースされていませんし。
みら~じゅ#36
ダウンロードページ
みら~じゅ は仮想デスクトップユーティリティです。デスクトップを仮想的に広げるのではなく仮想的に増やし、ページ単位で管理します。詳しくは同梱のreadmeとNoteを。
近々Windows 7のβが出るとかという段階なってようやくVista対応開始。設定ファイルを加筆しただけですが。適用するにはmirage.pagemana.iniを削除してください。ページマネージャの登録禁止設定が初期化されます。
VistaのUAC保護下のウィンドウが登録されない問題がいまだわかりません。Vistaに開発環境を入れれば即解決な気がしますが、これは作業マシンじゃないのであまりこーいうのは入れたくないんですよねー。それからページ遷移するとIE7のウィンドウにごみが入ることがあります。原因不明強制的に再描画するようにしてみても効果なし。(現在の実装では強制再描画処理は省かれています。)何なんでしょうこれ。
以前のこれですが、ダミーウィンドウを作ってそれをオーナーにして隠すという対策を思いついたものの、正常系はともかく異常系の場合アプリ依存で対応できなさそうなので却下。でもこれは多くの解像度を広げるタイプの仮想デスクトップの実装と同じ気がするのですけどほかの人はどうやってるんでしょう?
2008-10-07
通知領域のツールチップの代わりに独自の動作をする
Vistaの通知領域のアイコンにポインタを置くとツールチップの代わりに独自のウィンドウを出すアプリがあります。ネットワークとかサウンドとか。これはNotifyIconのバージョンをNOTIFYICON_VERSION_4にすることで使用できます。Vistaから追加されたのでXPなどでは使えません。
// 設定
// _WIN32_IE >= 0x0500
// NTDDI_VERSION >= NTDDI_LONGHORN(0x06000000)
NOTIFYICONDATA nid = { 0 };
nid.cbSize = sizeof(NOTIFYICONDATA);
nid.hWnd = hWnd;
nid.uID = ID_NOTIFYICON;
nid.uFlags = NIF_MESSAGE
| NIF_ICON
| NIF_TIP; // NIF_TIPが必要
nid.hIcon = icon;
nid.uCallbackMessage = MYM_NOTIFYICON;
if(Shell_NotifyIcon(NIM_ADD, &nid)) {
NOTIFYICONDATA nid = { 0 };
nid.cbSize = sizeof(NOTIFYICONDATA);
nid.hWnd = hWnd;
nid.uID = 1;
nid.uVersion = NOTIFYICON_VERSION_4;
Shell_NotifyIcon(NIM_SETVERSION, &nid);
}
NOTIFYICON_VERSION_4を指定することでNIN_POPUPOPEN, NIN_POPUPCLOSEが通知されるようになります。そのほかにも変更点はありますが、これはNOTIFYICON_VERSIONを引き継いでいるので割愛。
// 使用
switch(msg) {
case MYM_NOTIFYICON:
switch(LOWORD(lParam)) {
case NIN_POPUPOPEN:
// ポップアップが開くことを要求
break;
case NIN_POPUPCLOSE:
// ポップアップを閉じることを要求
break;
}
break;
}
ここまで調べて時間切れ。この状態で通常のツールチップを出す方法がわかりません。NIF_SHOWTIPを指定すればできる気がするのですが…
でこれをC#から使いたいのですが、既存のNotifyIconクラスは使いまわせなくゼロから作ることになる上、WPFとか考えると非常にめどいので保留中。