マネージコード

  
を使用した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ベータ版も必要になる場合があります。

開始

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

1HRESULT SetProgressValue(2 [in] HWND hwnd、3 [in] ULONGLONG ,null,null,3],In] ULONGLONG ullTotal);

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

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


tlbファイルの管理dllファイルを生成するには、tlbimpを使用します。


プロジェクトにdllへの参照を追加すると、マネージdllのようにメソッドを呼び出すことができます。

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

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

1private enum TbpFlag 2 {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 SDKです。

Copyright © Windowsの知識 All Rights Reserved