Windows® API Code Pack for Microsoft® .NET Framework

3,719 views
3,550 views

Published on

OITEC第6回勉強会-セッション1「Windows® API Code Pack for Microsoft® .NET Framework」
発表者:樋口忠洋

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,719
On SlideShare
0
From Embeds
0
Number of Embeds
488
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • OITEC- 第4回勉強会
  • OITEC- 第4回勉強会
  • OITEC- 第4回勉強会
  • OITEC- 第4回勉強会
  • OITEC- 第4回勉強会
  • Windows® API Code Pack for Microsoft® .NET Framework

    1. 1. Windows® API Code Pack for Microsoft® .NET Framework
    2. 2. Agenda <ul><li>Windows API Code Pack とは? </li></ul><ul><li>インストール </li></ul><ul><li>概要 </li></ul><ul><li>タスクバー開発 </li></ul><ul><li>今後は </li></ul><ul><li>Q & A </li></ul>
    3. 3. Windows API Code Pack とは? <ul><li>マネージドコードから Windows7 ・ Windows Vista の一部の機能 ( features ) にアクセスする為の ソースコードライブラリ </li></ul><ul><li>現時点では、 Version1.0.1 </li></ul><ul><li>.NET Framework 3.5 SP1 以降 ( 必須 ) </li></ul><ul><li>DirectX Software Development Kit </li></ul><ul><li>Windows SDK for Windows 7 </li></ul><ul><li>Microsoft の提供するライブラリ </li></ul><ul><ul><li>サポートは受けられないので注意 </li></ul></ul>Tech ・ Ed Japan 2010 テクニカル セッション Track 7. クライアント プラットフォーム Windows API Code Pack による Windows 7 機能開発
    4. 4. Windows7 の一部の機能 ( features ) <ul><li>Windows 7 タスクバー </li></ul><ul><li>Windows Shell </li></ul><ul><li>DirectX </li></ul><ul><li>タスクダイアログ </li></ul><ul><li>センサー API </li></ul><ul><li>拡張言語サービス API </li></ul><ul><li>電源管理 API </li></ul><ul><li>アプリケーション再起動・リカバリ API </li></ul><ul><li>ネットワークリスト管理 API </li></ul><ul><li>コマンドリンク コントロールとシステム定義シェル アイコン </li></ul>
    5. 5. インストール <ul><li>MSDN Code Gallery </li></ul><ul><li>http://code.msdn.com/windowsAPICodePack </li></ul><ul><li>ソースコードは付属 ( 公開 ) </li></ul><ul><li>オープンライセンスではない (MS 独自 ) </li></ul><ul><li>豊富なサンプルコードが付属 (C# 、 VB) </li></ul><ul><li>ヘルプファイル (chm) も提供 </li></ul>
    6. 6. 概要
    7. 7. Core( 中核 )
    8. 8. Shell( シェル関係 )
    9. 9. サポート OS の確認 コード <ul><li>‘’ タスクバー関連のサポート確認 </li></ul><ul><li>If Not TaskbarManager.IsPlatformSupported Then </li></ul><ul><li>MessageBox.Show( </li></ul><ul><li>&quot; この OS では、機能をサポートしていません。 &quot;) </li></ul><ul><li>Exit Sub </li></ul><ul><li>End If </li></ul><ul><li>CommandLink.IsPlatformSupported </li></ul><ul><li>TaskDialog.IsPlatformSupported </li></ul><ul><li>ShellLibrary.IsPlatformSupported ・・・ </li></ul><ul><li>IsPlatformSupported プロパティを利用して確認 </li></ul>
    10. 10. タスクバー 開発 <ul><li>Microsoft.WindowsAPICodePack.Taskbar 名前空間 </li></ul><ul><li>ジャンプリスト </li></ul><ul><li>タスクバーアイコン </li></ul><ul><li>サムネイルツールバー </li></ul>タスクバーガイドライン http://msdn.microsoft.com/ja-jp/library/aa511446.aspx
    11. 11. ジャンプリスト タスクバー共通 JumpTask JumpPath RecentCategory( 最近使ったもの ) FrequentCategory( よく使うもの ) いつも表示するアイテム
    12. 12. ジャンプリスト  (WPF) コード <ul><li>‘’ App.xaml </li></ul><ul><li><Application x:Class=&quot;Application&quot; </li></ul><ul><li>xmlns=&quot;http://schemas.microsoft.com/winfx/2006/xaml/presentation&quot; </li></ul><ul><li>xmlns:x=&quot;http://schemas.microsoft.com/winfx/2006/xaml&quot; </li></ul><ul><li>StartupUri=&quot;MainWindow.xaml&quot;> </li></ul><ul><li><Application.Resources> </li></ul><ul><li></Application.Resources> </li></ul><ul><li><JumpList.JumpList> </li></ul><ul><li><JumpList ShowFrequentCategory=&quot;True&quot; ShowRecentCategory=&quot;True&quot;> </li></ul><ul><li><JumpTask Title=&quot; メモ帳 &quot; </li></ul><ul><li>Description=&quot; メモ帳を開く &quot; </li></ul><ul><li>ApplicationPath=&quot;notepad.exe&quot; </li></ul><ul><li>IconResourcePath=&quot;notepad.exe&quot;/> </li></ul><ul><li></JumpList> </li></ul><ul><li></JumpList.JumpList> </li></ul><ul><li></Application> </li></ul>
    13. 13. ジャンプリスト コード <ul><li>Imports Microsoft.WindowsAPICodePack.Taskbar </li></ul><ul><li>Dim jumpList As JumpList = </li></ul><ul><li>        jumpList.CreateJumpList </li></ul><ul><li>jumpList.AddUserTasks( </li></ul><ul><li>        New JumpListLink(path, &quot; ラベル &quot;)) </li></ul><ul><li>jumpList.Refresh() </li></ul>
    14. 14. タスクバーアイコン オーバーレイアイコン 進行状況 ( プログレス ) バー
    15. 15. タスクバーアイコン (WPF) コード <ul><li>‘’ MainWindow.xaml </li></ul><ul><li><Window x:Class=&quot;MainWindow&quot; </li></ul><ul><li>xmlns=&quot;http://schemas.microsoft.com/winfx/2006/xaml/presentation&quot; </li></ul><ul><li>xmlns:x=&quot;http://schemas.microsoft.com/winfx/2006/xaml&quot; </li></ul><ul><li>Title=&quot;MainWindow&quot; Height=&quot;350&quot; Width=&quot;525&quot;> </li></ul><ul><li><Grid> </li></ul><ul><li></Grid> </li></ul><ul><li><Window.TaskbarItemInfo> </li></ul><ul><li><TaskbarItemInfo x:Name=&quot;MyTaskbar1&quot; </li></ul><ul><li>ProgressState=&quot;Normal&quot; </li></ul><ul><li>ProgressValue=&quot;0.8&quot; </li></ul><ul><li>Overlay=&quot;Star.ico&quot; </li></ul><ul><li>Description=&quot;WPF のサンプル &quot;> </li></ul><ul><li></TaskbarItemInfo> </li></ul><ul><li></Window.TaskbarItemInfo> </li></ul><ul><li></Window> </li></ul>
    16. 16. タスクバーアイコン コード <ul><li>‘’ オーバーレイアイコン </li></ul><ul><li>TaskbarManager.Instance.SetOverlayIcon( </li></ul><ul><li>Me.Handle, icon, “ ラベル &quot;) </li></ul>‘’ 進行状況 ( プログレス ) バー TaskbarManager.Instance.SetProgressState(state) TaskbarManager.Instance.SetProgressValue Value, Maximum)
    17. 17. サムネイルツールバー サムネイル サムネイル ( ツールバー ) ボタン
    18. 18. サムネイルツールバー (WPF) コード <ul><li>‘’ MainWindow.xaml </li></ul><ul><li><Window.TaskbarItemInfo> </li></ul><ul><li><TaskbarItemInfo x:Name=&quot;MyTaskbar1&quot; </li></ul><ul><li>ThumbnailClipMargin=&quot;70,24,336,198&quot; </li></ul><ul><li>Description=&quot;WPF のサンプル &quot;> </li></ul><ul><li><TaskbarItemInfo.ThumbButtonInfos> </li></ul><ul><li><ThumbButtonInfo x:Name=&quot;tbLeft&quot; </li></ul><ul><li>ImageSource=&quot;arrow-left.ico&quot; </li></ul><ul><li>Click=&quot;tbLeft_Click&quot; </li></ul><ul><li>CommandTarget=&quot;{Binding ElementName=btnL}&quot; /> </li></ul><ul><li><ThumbButtonInfo x:Name=&quot;tbRight&quot; </li></ul><ul><li>ImageSource=&quot;arrow-right.ico&quot; </li></ul><ul><li>Click=&quot;tbRight_Click&quot; </li></ul><ul><li>CommandTarget=&quot;{Binding ElementName=btnR}&quot; /> </li></ul><ul><li></TaskbarItemInfo.ThumbButtonInfos> </li></ul><ul><li></TaskbarItemInfo> </li></ul><ul><li></Window.TaskbarItemInfo> </li></ul>
    19. 19. サムネイルツールバー コード <ul><li>‘’ サムネイルのセット </li></ul><ul><li>TaskbarManager.Instance. </li></ul><ul><li>TabbedThumbnail.SetThumbnailClip( </li></ul><ul><li>Me.Handle, Rectangle) </li></ul><ul><li>‘’ ツール―バーボタンの追加 </li></ul><ul><li>TaskbarManager.Instance. </li></ul><ul><li>ThumbnailToolbars.AddButtons( </li></ul><ul><li>Me.Handle, Button1,Button2,…) </li></ul>
    20. 20. Windows API Code Pack Roadmap
    21. 21. Q&A <ul><li>何か質問はありませんか? </li></ul><ul><li>後日、 PPT 、 Demo ソースは、 OITEC サイトより配布いたします。 </li></ul>
    22. 22. ご清聴ありがとうございました

    ×