マネージコード

  
でWindows 7タスクバーの新機能を呼び出す

準備中

Windows 7 Betaはhttp://www.microsoft.com/windows/windows-7/betaから公開されています。 -download.aspxダウンロード。タスクバーの新機能については、http://blogs.msdn.com/e7/archive/2008/11/20/happy-anniversary-windows-on-theをご覧ください。 taske-of-the-taskbar.aspx。 Windows 7を開発したい場合は、http://code.msdn.microsoft.com/PDC08WhitePapers/Release/ProjectReleases.aspxから入手できるホワイトペーパーを参照するのが最善です。 ReleaseId = 1797ダウンロード。タスクバーの開発には、Windows 7のタスクバーの機能強化を使用します。ここでは、主にタスクバーのアイコンにオーバーレイアイコンとプログレスバーを実装します。実装プロセス中にWindows 7 SDK Betaも必要になる場合があります。

はじめに

最初にWindows SDKでShObjIdl.idlファイルを見つけますSDKがインストールされていない場合は、後でダウンロードできます。これはインターフェイス定義言語ファイルです呼び出しの便宜のために、同じようにすることができます。

1HRESULT SetProgressValue(2 [in] HWND hwnd、3 [in] ULONGLONG ullCompleted、4 [in] ULONGLONG ullTotal);

このようなインターフェイス宣言は、次のように変更されます。1HRESULT SetProgressValue(2 [in] long hwnd、3 [in] ULONGLONG ullCompleted、4 [in] ULONGLONG ullTotal);

それはHWNDです。タイプをlongに変更してください。次に、midlを使用して修正されたidlファイルを変更してバイナリのtlbファイルを生成します。ShObjTlb.tlbが生成されたファイルで、ShObjIdl.idlが元のファイルです。


次に、tlbimpを使用して、tlbファイル用の管理対象dllファイルを生成します。


プロジェクトにdllへの参照を追加してから、マネージdllのようなメソッドを呼び出します。

タスクバーアイコンを進行させるために、SetProgressStateとSetProgressStateの2つの関数が使用されています。

SetProgressStateメソッドの最初のパラメータはハンドル、2番目のパラメータは現在のアイコンの状態を示す列挙型変数です。これらの状態を表す列挙型を定義できます。

1private enum TbpFlag2 {3 TBPF_ERROR = 1,4 TBPF_PAUSED = 2,5 TBPF_NORMAL = 3,6 TBPF_INDETERMINATE = 4,7};

次に、SetProgressState((int)this.Handle、TBPFLAG.TBPF_NORMAL);を使用します。アイコンの状態は通常の状態に設定されています。

SetProgressValue((int)this.Handle、50、100);進行状況を設定することができ、最初のパラメータはハンドル、2番目のパラメータは完了数量、3番目のパラメータは合計金額です。

これらの機能の使用方法の詳細については、Windows 7 SDKまたは英語版のMSDNライブラリをご覧ください。

効果

20%完了したとき:


50%完了したとき:


100%完了したとき時間:


その他

この方法に従って、ホワイトペーパーPDC2008の紹介を参照すると、他の新しいWindows 7機能をマネージ言語で実装できます。

アンマネージドコード

この機能をC ++で実装した方が簡単ですWindows SDKを参照することができますパスはMicrosoft SDKsWindowsv7.0SampleswinuiShellTask​​barIntegrationPeripheralStatusです。

Copyright © Windowsの知識 All Rights Reserved