{"id":2020,"date":"2011-07-17T23:10:06","date_gmt":"2011-07-17T14:10:06","guid":{"rendered":"http:\/\/192.168.0.71:9090\/?p=2020"},"modified":"2011-07-17T23:10:06","modified_gmt":"2011-07-17T14:10:06","slug":"net-wpf-jumplist","status":"publish","type":"post","link":"https:\/\/talsu.net\/?p=2020","title":{"rendered":".NET &#8211; WPF JumpList"},"content":{"rendered":"<p>JumpList \ub780 Windows 7 \ubd80\ud130 \uc9c0\uc6d0 \ub418\ub294 \uae30\ub2a5\uc73c\ub85c \uc791\uc5c5 \ud45c\uc2dc\uc904\uc5d0 \ub4f1\ub85d\ub41c \uc544\uc774\ucf58\uc744 \ub9c8\uc6b0\uc2a4 \uc624\ub978\ucabd \ubc84\ud2bc\uc744 \ub204\ub97c\ub54c \ud45c\uc2dc \ub418\ub294 \uba54\ub274\uc774\ub2e4.<br \/>\n<br \/>\n<img src=\"wp-content\/uploads\/2011\/07\/windowsMediaPlayerJumpList.png\" alt=\"Windows Media Player\uc758 JumpList\" \/><\/p>\n<p>Internet Explorer, \ud0d0\uc0c9\uae30, Windows Media Player \ub4f1\uc5d0\uc11c \uc9c0\uc6d0 \ub418\uace0 \uc788\uace0 \ucd5c\uadfc\uc758 \ub9ce\uc740 \ud504\ub85c\uadf8\ub7a8\ub4e4\ub3c4 \uc9c0\uc6d0 \ud558\uace0 \uc788\ub294 \uae30\ub2a5\uc774\ub2e4.<\/p>\n<p>JumpList \uba54\ub274\ub97c \ubcf4\uba74 \ud56d\ubaa9\ub4e4\uc774 Category\ub85c \ub098\ub258\uc5b4\uc838 \uc788\ub294\ub370, \uc77c\ubc18\uc801\uc73c\ub85c \ub2e4\uc74c\uacfc \uac19\uc774 \ub098\ub25c\ub2e4.<\/p>\n<h3>\n<ol>\uc790\uc8fc \uc0ac\uc6a9\ud558\ub294 \ud56d\ubaa9 Category<\/ol>\n<ol>\ucd5c\uadfc\uc5d0 \uc0ac\uc6a9\ud55c \ud56d\ubaa9 Category<\/ol>\n<ol>\uc0ac\uc6a9\uc790\uac00 \uc9c1\uc811 Pin \ubc84\ud2bc\uc744 \ub20c\ub824 \uace0\uc815\ub41c \ud56d\ubaa9 Category<\/ol>\n<ol>Custom \ud558\uac8c \uad6c\uc131\ub41c \ud56d\ubaa9 Category<\/ol>\n<\/h3>\n<p>WPF \uc5d0\uc11c JumpList \ub97c \uad6c\ud604\ud558\ub294\uac83\uc740 \uac04\ub2e8\ud558\ub2e4. (\uadf8\ub9ac\uace0 \ud55c\uc815\uc801\uc774\ub2e4.)<\/p>\n<p>System.Windows.Shell \ub124\uc784\uc2a4\ud398\uc774\uc2a4 \uc544\ub798\uc5d0 \uc788\ub294 \ub2e4\uc74c \ud074\ub798\uc2a4\ub4e4\uc744 \uc8fc\ub85c \uc0ac\uc6a9\ud55c\ub2e4.<\/p>\n<h3>\n<ol>System.Windows.Shell.JumpList<\/ol>\n<ol>System.Windows.Shell.JumpTask (System.Windows.Shell.JumpItem \ud074\ub798\uc2a4 \uc0c1\uc18d\ubc1b\uc74c)<\/ol>\n<ol>System.Windows.Shell.JumpPath (System.Windows.Shell.JumpItem \ud074\ub798\uc2a4 \uc0c1\uc18d\ubc1b\uc74c)<\/ol>\n<\/h3>\n<p>\ud074\ub798\uc2a4 \uc774\ub984\ub9cc\uc73c\ub85c \uc54c \uc218 \uc788\ub4ef\uc774 JumpList \ud074\ub798\uc2a4\uac00 \uc2e4\uc81c Application \uc5d0 \uc124\uc815\ub418\ub294 JumpList \uc774\uace0 JumpItem \uc774\ub77c\ub294 \ucd94\uc0c1\ud074\ub798\uc2a4\ub97c \ud56d\ubaa9\uc744 \uc0c1\uc18d \ubc1b\uc740 JumpTask, JumpPath \ub97c JumpList\uc5d0 \ucd94\uac00\ud558\ub294 \ud615\uc2dd\uc774\ub2e4.<\/p>\n<h2>\uac04\ub2e8\ud55c JumpList sample<\/h2>\n<p>\uba3c\uc800 JumpList\ub97c \uc5b4\ud50c\ub9ac\ucf00\uc774\uc158\uc5d0 \uc124\uc815\ud558\uace0 Notepad\ub97c \uc2e4\ud589\ud558\ub294 JumpTask\ub97c \ucd94\uac00\ud558\ub294 \ucf54\ub4dc\ub97c \ubcf4\uc790.<br \/>\nWPF \uc5b4\ud50c\ub9ac\ucf00\uc774\uc158\uc744 \ub9cc\ub4e4\uace0 App \ud074\ub798\uc2a4\uc5d0 \uad6c\ud604\ud55c\ub2e4. (App.xaml.cs)<\/p>\n<pre class=\"lang:c# decode:true\">\nusing System.Windows;\nusing System.Windows.Shell;\n\nnamespace WpfApplication1\n{\n    \/\/\/ <summary>\n    \/\/\/ Interaction logic for App.xaml\n    \/\/\/ <\/summary>\n    public partial class App : Application\n    {\n        protected override void OnStartup(StartupEventArgs e)\n        {\n            var runNotepadTask = new JumpTask\n            {\n                Title = \"Notepad\",\n                Description = \"Run Notepad.\",\n                CustomCategory = \"Actions\",\n                Arguments = \" \",\n                IconResourcePath = @\"C:Windowsnotepad.exe\",\n                ApplicationPath = @\"C:Windowsnotepad.exe\",\n            };\n\n            var jumpList = new JumpList();\n            jumpList.JumpItems.Add(runNotepadTask);\n            jumpList.ShowFrequentCategory = true;\n            jumpList.ShowRecentCategory = true;\n\n            JumpList.SetJumpList(Application.Current, jumpList);\n\n            base.OnStartup(e);\n        }\n    }\n}\n<\/pre>\n<p>JumpList\uc758 static \uba54\uc11c\ub4dc\uc778 SetJumpList \ub85c Application\uc5d0 JumpList\ub97c \uc124\uc815\ud558\ub294 \uac83\uc5d0 \uc8fc\ubaa9\ud558\uc790.<br \/>\n<\/p>\n<p>\uc774\uac83\uc740 \uc644\uc804\ud788 \ub3d9\uc77c\ud558\uac8c XAML \ub85c \uc791\uc815\ud560 \uc218 \uc788\ub2e4. (App.xaml)<\/p>\n<pre class=\"lang:xhtml decode:true\">\n<application x:Class=\"WpfApplication1.App\"\n             xmlns=\"http:\/\/schemas.microsoft.com\/winfx\/2006\/xaml\/presentation\"\n             xmlns:x=\"http:\/\/schemas.microsoft.com\/winfx\/2006\/xaml\"\n             StartupUri=\"MainWindow.xaml\">\n    <jumpList.JumpList>\n        <jumpList ShowRecentCategory=\"True\"\n                  ShowFrequentCategory=\"True\">\n            <jumpTask Title=\"Notepad\"\n                      Description=\"Run Notepad.\"\n                      CustomCategory=\"Actions\"\n                      Arguments=\" \"\n                      ApplicationPath=\"C:Windowsnotepad.exe\"\n                      IconResourcePath=\"C:Windowsnotepad.exe\"\/>\n        <\/jumpList>\n    <\/jumpList.JumpList>\n<\/application>\n<\/pre>\n<p>\uc791\uc5c5\ud45c\uc2dc\uc904\uc758 \uc544\uc774\ucf58\uc5d0 \uc624\ub978\ucabd \ubc84\ud2bc\uc744 \ub20c\ub838\uc744\ub54c \ub2e4\uc74c\uacfc \uac19\uc774 \ud655\uc778 \ud560 \uc218 \uc788\ub2e4.<br \/>\n<br \/>\n<img src=\"wp-content\/uploads\/2011\/07\/TestApplicationJumpList1.png\" alt=\"\" \/><br \/>\n<\/p>\n<p>\ucc38\uace0\ub85c JumpList \ud074\ub798\uc2a4\ub294 \uc5ec\ub7ec\uac1c \uc0dd\uc131 \ud560 \uc218 \uc788\uc9c0\ub9cc, Application\uc5d0 \uc5f0\uacb0 \ud560\uc218 \uc788\ub294 \uac83\uc740 \uc624\ub85c\uc9c0 \ud55c\ubc88\uc5d0 \ud558\ub098 \uc774\ub2e4.<\/p>\n<p>\ucf54\ub4dc\ub97c \ubcf4\uba74 \ub9e4\uc6b0 \uac04\ub2e8 \ud568\uc744 \ub290\ub084 \uc218 \uc788\ub2e4. JumpItem\uc744 \uc0c1\uc18d \ubc1b\uc740 JumpTask \ub97c \ud558\ub098 \ub9cc\ub4e4\uace0 JumpList\uc5d0 \ucd94\uac00 \ud558\uae30\ub9cc \ud588\ub2e4.<\/p>\n<p>JumpTask \ud074\ub798\uc2a4\uc758 \uac12\uc5d0 \ub530\ub77c \ud45c\uc2dc\ub418\ub294 \ud615\uc2dd\uc774\ub098 \ub3d9\uc791\uc774 \ub2ec\ub77c \uc9c4\ub2e4.<\/p>\n<p>\ub2e4\uc74c\uc740 JumpItem \ud074\ub798\uc2a4\uc640 JumpTask \ud074\ub798\uc2a4\uc758 \ub0b4\ubd80\uc774\ub2e4.<\/p>\n<h3>JumpItem<\/h3>\n<pre class=\"lang:c# decode:true\">\n\/**************************************************************************\n    Copyright Microsoft Corporation. All Rights Reserved.\n**************************************************************************\/\n\nnamespace System.Windows.Shell\n{\n    public abstract class JumpItem\n    {\n        \/\/ This class is just provided to strongly type the JumpList's contents.\n        \/\/ It's not externally extendable.\n        internal JumpItem()\n        {\n        }\n\n        public string CustomCategory { get; set; }\n    }\n}\n\n\/\/ File provided for Reference Use Only by Microsoft Corporation (c) 2007.\n\/\/ Copyright (c) Microsoft Corporation. All rights reserved.\n<\/pre>\n<p>CustomCategory \ud56d\ubaa9\uc740 \uce74\ud14c\uace0\ub9ac\ub97c \ub098\ud0c0 \ub0b4\ub294\ub370 \uc704 \uc608\uc81c\uc5d0\uc11c\ub294 Actions \ub85c \uc785\ub825\ud558\uc5ec Actions \uce74\ud14c\uace0\ub9ac\uac00 \uc0dd\uc131 \ub418\uc5c8\ub2e4. \ub9cc\uc57d \uc124\uc815\ud558\uc9c0 \uc54a\ub294\ub2e4\uba74 Tasks \ub77c\ub294 \uae30\ubcf8\uac12 Category \uc5d0 \ub4e4\uc5b4 \uac08 \uac83\uc774\ub2e4. (Windows 7 \uc601\ubb38\ud310 \uae30\uc900)<\/p>\n<h3>JumpTask<\/h3>\n<pre class=\"lang:c# decode:true\">\n\/**************************************************************************\n    Copyright Microsoft Corporation. All Rights Reserved.\n**************************************************************************\/\n\nnamespace System.Windows.Shell\n{\n    public class JumpTask : JumpItem\n    {\n        public JumpTask() : base()\n        {}\n\n        public string Title { get; set; }\n\n        public string Description { get; set; }\n\n        public string ApplicationPath { get; set; }\n\n        public string Arguments { get; set; }\n\n        public string WorkingDirectory { get; set; }\n\n        public string IconResourcePath { get; set; }\n\n        public int IconResourceIndex { get; set; }\n    }\n}\n\n\/\/ File provided for Reference Use Only by Microsoft Corporation (c) 2007.\n\/\/ Copyright (c) Microsoft Corporation. All rights reserved.\n<\/pre>\n<p>\uba54\uc11c\ub4dc \ud558\ub098 \uc5c6\uc774 \ub2e8\uc21c\ud55c \uc18d\uc131 \ub4e4\ub9cc \uc874\uc7ac \ud558\uace0 \uc774\ub984\ub9cc\uc73c\ub85c\ub3c4 \uc774\ud574\uac00\ub41c\ub2e4. \uc18d\uc131\ub4e4\uc5d0 \ub300\ud55c \uc790\uc138\ud55c \uc124\uba85\uc740 MSDN\uc744 \ucc38\uace0 \ud558\uc790<\/p>\n<p><a href=\"http:\/\/msdn.microsoft.com\/ko-kr\/library\/system.windows.shell.jumptask.aspx\" title=\"MSDN - JumpTask\" target=\"_blank\">MSDN &#8211; JumpTask<\/a><\/p>\n<p><strong>JumpTask \uc0ac\uc6a9\uc2dc \uc8fc\uc758 \uc0ac\ud56d &#8211; Argument\ub97c \uc124\uc815\ud558\uc9c0 \uc54a\uac70\ub098 String.Empty\ub85c \ud560 \ub54c, Pin to List \ub098 AddToRecentCategory \uac00 \uc81c\ub300\ub85c \ub3d9\uc791\ud558\uc9c0 \uc54a\ub294\ub2e4. \uacf5\ubc31 \ud558\ub098\ub77c\ub3c4 \ub123\ub294\uac83\uc774 \uc88b\ub2e4. \uc774\uac83\uc774 \ubc84\uadf8\uc778\uc9c0\ub294 \uc544\uc9c1 \ud30c\uc545\ud558\uc9c0 \ubabb\ud588\ub2e4.<\/strong><br \/>\n<\/p>\n<p>JumpPath \ud56d\ubaa9\uc740 FilePath\ub97c \uc774\uc6a9\ud558\uc5ec \uc2e4\ud589\ud55c Application \uc774 File\uc744 \ub85c\ub4dc\ud558\uac8c \ud55c\ub2e4. (\ubb3c\ub860 \uc0c8 Task\ub85c.)<\/p>\n<h3>JumpPath<\/h3>\n<pre class=\"lang:c# decode:true\">\n\/**************************************************************************\n    Copyright Microsoft Corporation. All Rights Reserved.\n**************************************************************************\/\n\nnamespace System.Windows.Shell\n{\n    public class JumpPath : JumpItem\n    {\n        public JumpPath() : base()\n        {}\n\n        public string Path { get; set; }\n    }\n}\n\n\/\/ File provided for Reference Use Only by Microsoft Corporation (c) 2007.\n\/\/ Copyright (c) Microsoft Corporation. All rights reserved.\n<\/pre>\n<p>\ud63c\ub3c8 \ud558\uc9c0 \ub9d0\uc544\uc57c \ud560\uac83\uc740 .txt \ud30c\uc77c \uacbd\ub85c\ub97c \uc785\ub825 \ud588\ub2e4 \ud574\uc11c notepad \uac00 \uc5f4\ub9ac\ub294 \uac83\uc774 \uc544\ub2c8\ub77c JumpList\ub97c \uc124\uc815\ud55c Application\uc73c\ub85c .txt \ud30c\uc77c\uacbd\ub85c\uac00 \uc804\ub2ec \ub418\ub294\ub370 Registry \uc5d0 Application \uc774 .txt \ud30c\uc77c\uc5d0 \uc5f0\uacb0\ub418\uc9c0 \uc54a\uc558\ub2e4\uba74 JumpList \uc5d0 \ubcf4\uc774\uc9c0\ub3c4 \uc54a\ub294\ub2e4.<\/p>\n<h2>\uc790\uc8fc \uc0ac\uc6a9\ud558\ub294 \ud56d\ubaa9(Frequent), \ucd5c\uadfc \ud56d\ubaa9(Recent)<\/h2>\n<p>\ub9c8\uc9c0\ub9c9\uc73c\ub85c \uae30\ubcf8 \uce74\ud14c\uace0\ub9ac\uc778 \uc790\uc8fc \uc0ac\uc6a9\ud558\ub294 \ud56d\ubaa9(Frequent), \ucd5c\uadfc \ud56d\ubaa9(Recent) \uc5d0 JumpItem\uc744 \ucd94\uac00 \ud558\uae30 \uc704\ud574\uc11c\ub294 JumpList \ud074\ub798\uc2a4\uc758 static \uba54\uc11c\ub4dc\uc778 AddToRecentCategory() \ub97c \uc0ac\uc6a9\ud558\uba74 \ub41c\ub2e4.<\/p>\n<pre class=\"lang:c# decode:true\">\nprivate void AddTask(object sender, RoutedEventArgs e)\n{\n    var runNotepadTask = new JumpTask\n    {\n        Title = \"Notepad\",\n        Description = \"Run Notepad.\",\n        Arguments = \" \",\n        IconResourcePath = @\"C:Windowsnotepad.exe\",\n        ApplicationPath = @\"C:Windowsnotepad.exe\"\n    };\n\n    JumpList jumpList = JumpList.GetJumpList(App.Current);\n    JumpList.AddToRecentCategory(runNotepadTask);\n    jumpList.Apply();\n}\n<\/pre>\n<p>\ucd94\uac00\ud560 List\uc5d0 .AddToRecentCategory() \ub97c \ud558\uace0 .Apply()\ub97c \uc78a\uc9c0 \ub9d0\uc790.<\/p>\n<p><img src=\"wp-content\/uploads\/2011\/07\/RecentFrequent.png\" alt=\"\" \/><\/p>\n<p>\uc790\uc8fc \uc0ac\uc6a9\ud558\ub294 \ud56d\ubaa9 (Frequent)\ub294 \ub530\ub85c \ucd94\uac00\ud558\ub294 \uba54\uc11c\ub4dc\uac00 \uc5c6\uace0 AddToRecentCategory()\uc758 \ube48\ub3c4\uc5d0\ub530\ub77c \uc790\ub3d9\uc801\uc73c\ub85c \ub098\ud0c0 \ub098\ub294\ub370, MSDN \uc5d0 \ub530\ub974\uba74 \uc77c\ubc18\uc801\uc73c\ub85c Recent \uc640 Frequent\ub97c \ub3d9\uc2dc\uc5d0 \ud45c\uc2dc \ud558\uc9c0 \uc54a\uace0 \ud558\ub098\ub9cc \ud45c\uc2dc \ud55c\ub2e4\uace0 \ud55c\ub2e4. (\ubb3c\ub860 2\uac1c\ub2e4 \ud45c\uc2dc\ud574\ub3c4 \uc544\ubb34 \uc774\uc0c1 \uc5c6\ub2e4.)<br \/>\n<br \/>\nRecent \uc5d0 \ucd94\uac00\ub41c \ud56d\ubaa9\uc740 \uc0ac\uc6a9\uc790\uac00 \uc9c1\uc811 \uc624\ub978\ucabd \ud074\ub9ad\ud6c4 \uc0ad\uc81c\ud560 \uc218 \uc788\ub2e4. \uc5b4\ud50c\ub9ac\ucf00\uc774\uc158\uc5d0\uc11c JumpList \uc790\uccb4\ub97c \ub9ac\uc14b\ud574\ub3c4 Recent\ub294 \ub0a8\uc544 \uc788\uac8c \ub418\ub294\ub370 \uc774\uac83\uc740 Windows \uc5d0\uc11c \ubcc4\ub3c4\ub85c \uc800\uc7a5\ud558\uace0 \uc788\uae30 \ub54c\ubb38\uc774\ub2e4. \ub2e4\uc74c \uacbd\ub85c\uc5d0 \uc800\uc7a5 \ub41c\ub2e4.<br \/>\n<strong>%AppData%MicrosoftWindowsRecentAutomaticDestinations<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>JumpList \ub780 Windows 7 \ubd80\ud130 \uc9c0\uc6d0 \ub418\ub294 \uae30\ub2a5\uc73c\ub85c \uc791\uc5c5 \ud45c\uc2dc\uc904\uc5d0 \ub4f1\ub85d\ub41c \uc544\uc774\ucf58\uc744 \ub9c8\uc6b0\uc2a4 \uc624\ub978\ucabd \ubc84\ud2bc\uc744 \ub204\ub97c\ub54c \ud45c\uc2dc \ub418\ub294 \uba54\ub274\uc774\ub2e4. Internet Explorer, \ud0d0\uc0c9\uae30, Windows Media Player \ub4f1\uc5d0\uc11c \uc9c0\uc6d0 \ub418\uace0 \uc788\uace0 \ucd5c\uadfc\uc758 \ub9ce\uc740 \ud504\ub85c\uadf8\ub7a8\ub4e4\ub3c4 \uc9c0\uc6d0 \ud558\uace0 \uc788\ub294 \uae30\ub2a5\uc774\ub2e4. JumpList \uba54\ub274\ub97c \ubcf4\uba74 \ud56d\ubaa9\ub4e4\uc774 Category\ub85c \ub098\ub258\uc5b4\uc838 \uc788\ub294\ub370, \uc77c\ubc18\uc801\uc73c\ub85c \ub2e4\uc74c\uacfc \uac19\uc774 \ub098\ub25c\ub2e4. \uc790\uc8fc \uc0ac\uc6a9\ud558\ub294 \ud56d\ubaa9 Category \ucd5c\uadfc\uc5d0 \uc0ac\uc6a9\ud55c \ud56d\ubaa9 Category [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"spay_email":""},"categories":[13,6],"tags":[480,67,151,152,153,154,291,292,295],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/pXV5a-wA","_links":{"self":[{"href":"https:\/\/talsu.net\/index.php?rest_route=\/wp\/v2\/posts\/2020"}],"collection":[{"href":"https:\/\/talsu.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/talsu.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/talsu.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/talsu.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2020"}],"version-history":[{"count":0,"href":"https:\/\/talsu.net\/index.php?rest_route=\/wp\/v2\/posts\/2020\/revisions"}],"wp:attachment":[{"href":"https:\/\/talsu.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2020"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/talsu.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2020"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/talsu.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2020"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}