精华内容
下载资源
问答
  • Implement jumplist

    2021-01-07 16:59:20
    <div><p>This implements a jumplist similar to the one that can be found in vimperator/pentadactyl (bound to <code><C-i></code>/<code><C-o>). The main difference is that reaching the end or...
  • chromium之jumplist

    2019-09-17 14:39:16
    chrome在win7及之后系统添加jumplist功能。jumplist即系统任务栏相关的功能,包括任务栏图标、鼠标放置后视图、进度条、右键菜单等等。 路径:..\chromium\src\chrome\browser\win\jumplist.h ..\chromium\src\...

    chrome在win7及之后系统添加jumplist功能。jumplist即系统任务栏相关的功能,包括任务栏图标、鼠标放置后视图、进度条、右键菜单等等。

    路径:..\chromium\src\chrome\browser\win\jumplist.h
         ..\chromium\src\chrome\browser\win\jumplist.cpp
         
    主要函数:
    explicit JumpList(Profile* profile);    // 显示构造函数
    ~JumpList() override;                   // 重写(父类的)析构函数

    // TopSites 常去网站???
    void TopSitesLoaded(history::TopSites* top_sites) override;                               // 重写topsites ???
    void TopSitesChanged(history::TopSites* top_sites, ChangeReason change_reason) override;  // 修改topsites

    // tabrestore 用于最近常去网站的恢复???
    void TabRestoreServiceChanged(sessions::TabRestoreService* service) override;        // ???
    void TabRestoreServiceDestoryed(session::TabRestoreService* service) override;

    void InitializeTimerForUpdate();    // 一个一次性的初始化jumplist的函数。如果队列已有则清除后发送一个新的请求。

    void ProcessNotifications();       // 进程更新通知。

    void ProcessTopSitesNotification();     // topsites服务通知

    void ProcessTabRestoreServiceNotification();      // tabrestore服务通知

    void OnMostVisitedURLsAvailable(const history::MostVisitedURLList& data);       // 回调,最常去网站的URL

    // ShellLinkItem ???
    bool AddTab(const sessions::TabRestoreService::Tab& tab, size_t max_items); 
                                                                          // 添加一个新的ShellLinkItem,用于标签的跳转列表数据
                                                                          // 所以不会超过maxitems。

    void AddWindow(const sessions::TabRestoreService::Window& window, size_t max_items); 
                                                                          // 在窗口的每个选项卡中添加一个新的ShellLinkItem到JumpList数据
                                                                          // 如果这样做不会超过maxitems。

    void StartLoadingFavicon();       // 加载网站图标

    void OnFaviconDataAvailable(const favicon_base::FaviconImageResult& image_result);   // 回调,当加载一个网站图标时用于历史服务

    void PostRunUpdate();   // 发送更新和删除jumplist的相关文件夹的命令

    void OnRunUpdateCompletion(std::unique_ptr<UpdateTransaction> update_transaction);   // 回调,合并更新操作结果,并返回实例

    void CancelPendingUpdate();    // 结束一个未执行的更新

    void Terminate();   // 终止函数

    static void RunUpdateJumpList(...);     // 更新jumplist 1.创建新的jumplist没有图标,2.通知操作系统,3.删除过时图标
     
    static void CreateNewJumpListAndNotifyOS(...);    // 创建jumplist

    static int CreateIconFiles(...);   // 创建图标文件

    static void DeleteIconFiles(...);       // 删除图标文件

     

    jumplist开发的主要cc文件集中在 jumplist.cc及jumplist_updater.cc文件。涉及jumplist类,JumpListUpdater类,及IShellList类。

    大概逻辑及用到的主要函数:
    1. 执行jumplist.cc中 jumplist()构造。构造中包括注册jumplist等等系列操作
    2. 执行jumplist.cc中 create...()函数。用于create icon,url,command等等。
    3. 执行jumplist.cc中,UpdateTaskCategory()函数。该函数用于更新tasks栏的相关数据(tasks开发时主要修改该函数)。
    4. 执行jumplist_updater.cc中,AddShellLink()函数。该函数主要调用COM IShellList接口,实现jumplist,核心。
    5. 执行jumplist.cc中,ShutDown()函数。该函数调用Terminate()执行退出操作。

    其中,tasks列的缓存可能由系统保存
    通过代码刷新缓存的方式:
       屏蔽 jumplist.cc文件中删除判断:
       1. begin_update_timer.Elapsed() >= kTimeOutForBeginUpdate
       2. add_custom_category_timer.Elapsed() >= kTimeOutForAddCustomCategory  
       3. !jumplist_updater.AddCustomCategory(
              l10n_util::GetStringUTF16(IDS_RECENTLY_CLOSED), recently_closed_pages, kRecentlyClosedItems))
       防止该三处直接return,导致jumplist更新tasks栏不生效
       
       之后,反复对jumplist右键点击 新建窗口、浏览器等按钮,然后关闭重复按钮,可以激活对jumplist的刷新。

    展开全文
  • s jumplist woks nicely for some things, but not for GoToDefinition. This means I have to remember to use <code><c-o></code> to return after searching, but <code><c--> (the builtin VS ...
  • <h1>Proposal: Item removed event for UWP JumpList API <p>Currently UWP JumpList API doesn't offer a removed event so the application can't track when user removes a jumplist item while the app...
  • - If you remove a jumplist item while the app is running, the folder will be no longer added until you restart the app. - Drives aren't being added to the jumplist.</p><p>该提问来源于开源项目ÿ...
  • <p>Currently, MSIX packaged desktop apps cannot effectively use the <a href="https://docs.microsoft.com/en-us/uwp/api/windows.ui.startscreen.jumplist">UWP Jumplist</a> API because the app cannot be ...
  • <div><p>In the jumplist commands, -reuse is used causing multiple tabs to open in same window. It would be nice to allow launching separate window instead of creating tabs (based upon user preference)...
  • <div><p>Right clicking on kitty on the task bar should bring up recent sessions ...Jumplist/RecentSessions file is created but seems to be ignored.</p><p>该提问来源于开源项目:cyd01/KiTTY</p></div>
  • 简单说一下UWP中的JumpList 原文:简单说一下UWP中的JumpList 在Windows10的10856这个版本中,微软为桌面版提供了一组新的应用交互方式,磁贴和Toast通知的个性化都有了一定的改善。针对磁贴方面,...
    原文:简单说一下UWP中的JumpList

      在Windows10的10856这个版本中,微软为桌面版提供了一组新的应用交互方式,磁贴和Toast通知的个性化都有了一定的改善。针对磁贴方面,微软为我们提供了一组新的API来扩充我们对应用的交互方式——JumpList。但是却很少看见商店的UWP的应用使用到这个特性,暂时只发现了清新范的的礼物说和微软自家的视频(本人基本不用)应用使用了这个新的交互方式,真应该给开发者一个大大的赞!

      这种新的应用交互方式通过代码实现起来并不是很难,完全按照微软的MSDN上提供的相关文档就可以很快完成。但是现有的UWP应用中却很鲜见,不知道为什么?先看一下礼物说的是如何设计的吧!

    个人感觉还是很漂亮的,由于不是很难,就简单说一下如何使用这个东西吧。

     

    首先是判断当前的系统是否支持改特性,通过使用JumpList.IsSupported() 返回一个bool值来判断,如果支持的话会返回True;

    其次就是通过JumpList.LoadCurrentAsync()来获取应用的JumpList对象;

    然后通过对应的Add方法来向JumpList添加Item;

    最后,如果用户点击了哪个Item,会触发App类中的OnLaunched(LaunchActivatedEventArgs e)方法,通过该参数e.Arguments来获取传递来的参数从而执行相应的逻辑操作。

     

    前三步的示例代码如下所示:

     1 private async void MainPage_Loaded(object sender, RoutedEventArgs e)
     2 {
     3     if (JumpList.IsSupported())
     4     {
     5         var list = await JumpList.LoadCurrentAsync();
     6         list.Items.Clear();//建议每次在添加之前清除掉原先已经存在的数据
     7         list.Items.Add(JumpListItem.CreateSeparator());
     8 
     9         new List<JumpListItem>()
    10                  {
    11                      CreateJumpListItem("facebook","Facebook","Share",new Uri("ms-appx:///Assets/facebook.png")),
    12                      CreateJumpListItem("github","Github","Share",new Uri("ms-appx:///Assets/github.png")),
    13                      CreateJumpListItem("google","Google","Share",new Uri("ms-appx:///Assets/google.png")),
    14                      CreateJumpListItem("linked-in","Linked-in","Share",new Uri("ms-appx:///Assets/linked-in.png"))
    15                  }.ForEach((item) =>
    16                  {
    17                      list.Items.Add(item);
    18                  });
    19         await list.SaveAsync();
    20     }
    21 }
    22 private JumpListItem CreateJumpListItem(string arguments, string displayName, string groupName, Uri uri)
    23 {
    24     JumpListItem item = JumpListItem.CreateWithArguments(arguments, displayName);
    25     item.GroupName = groupName;
    26     item.Logo = uri;
    27     return item;
    28 }
    View Code

    下面是对应的效果图:

      就这么几句代码很快就可以实现这种新的应用交互方式,是不是很简单呀!!!!下面贴一张图告诉你当用户点击了对应的Item时数据传递到哪里了!

    红线框出的部分就是传递来的参数,是不是秒懂了!!!我并没有详细介绍相关API的参数是干什么的,MSDN文档的描述要比我描述的清晰多了。感兴趣的可以自己去看看。

     注意:该特性目前只能在10586及其以上版本的PC上使用!

    posted on 2018-08-03 00:06 NET未来之路 阅读(...) 评论(...) 编辑 收藏

    转载于:https://www.cnblogs.com/lonelyxmas/p/9410973.html

    展开全文
  • <div><p>See :help jumplist <p>Here's one simple use case: I'll often be working on a section of code and use * or some other command which jumps to a different position. After I'm done ...
  • 方便的创建jumplist的组件。 注:从2010之后才支持win7特性。
  • QML类型说明-JumpList

    2014-09-16 16:26:01
    JumpList ImportStatement: import QtWinExtras 1.0 Since: QtWinExtras 1.0   Properties categories :list frequent :JumpListCategory recent :JumpListCategory tasks :JumpListCategory   ...

    JumpList

    ImportStatement:   import QtWinExtras 1.0

    Since:  QtWinExtras 1.0

     

    Properties

    categories :list<JumpListCategory>

    frequent :JumpListCategory

    recent :JumpListCategory

    tasks :JumpListCategory

     

    DetailedDescription

    JumpList允许我们修改窗口跳转列表。

    应用能用跳转列表提供给用户快速访问文件或为任务或命令显示快捷键

     

    PropertyDocumentation

    categories :list<JumpListCategory>

    定制的类别的列表

     

    frequent :JumpListCategory

    频繁使用的列表。

     

    recent :JumpListCategory

    最近使用的列表

     

    tasks :JumpListCategory

    任务列表
    展开全文
  • <div><p>We are currently using the...<p>But they are now considered as obsolete or old tech and UWP apps are already using different APIs to compete with the tray icon (such as <a href="https://docs.microsoft.com/en-us/uwp/api/Windows.UI.StartScreen.JumpList">JumpList...
  • Win 7 JumpList 学习

    2012-06-27 11:28:00
    MSDN : http://msdn.microsoft.com/zh-cn/library/system.windows.shell.jumplist 注意:JumpPath 定义的文件路径,必须关联该应用程序,才能出现。 这里面讲的已经很详细了,不再罗嗦了。 我把MSDN的这...

    就是这个东东,任务栏上右击图标,出现一个类似开始菜单的东东,用.net4.0 也可以搞了。

     

    MSDN : http://msdn.microsoft.com/zh-cn/library/system.windows.shell.jumplist

    注意:JumpPath 定义的文件路径,必须关联该应用程序,才能出现。

    这里面讲的已经很详细了,不再罗嗦了。

    我把MSDN的这个代码做成了Demo

    转载于:https://www.cnblogs.com/xiaokang088/archive/2012/06/27/2565516.html

    展开全文
  • 在我们使用windows系统时,我们常看到系统有很多类型,比如word的文档类型,它...今天,我们也创建自己的一个类型,并结合JumpList的Recent来开发我们的应用。 如何让windows系统认识自己的类型,其实就是把我们的...
  • WPF 4 开发Windows 7 跳转列表(JumpList) 原文:WPF 4 开发Windows 7 跳转列表(JumpList) 在之前写过的《Windows 7 任务栏开发系列》中我们通过Visual Studio 2008 借助微软提供的Windows API Code...
  • Jumplist_Launcher

    2013-08-21 11:27:13
    win7 任务栏快捷菜单,简单好用!
  • 【Win10】探索 Windows 10 10586 之 JumpList(跳转列表) 原文:【Win10】探索 Windows 10 10586 之 JumpList(跳转列表)Windows 10 10586 出来了也挺久的了,应该大部分都从 10240 升级到这个版本了...
  • 相对于上一篇中任务栏特性的开发,JumpList的开发显得稍微麻烦一些。JumpList将分为两次讲解,这次先讲解如何添加用户任务(User Task)。同样以foobar2000为例,当右键点击任务栏按钮时,显示程序的JumpList。 ...
  • Windows7中的Jumplist给我们带来了许多方便,但也留下了用户很多的重要信息,特别当你使用的电脑是公用的,这样更很容易泄露自己的隐私了,其他用户可以很容易知道你在电脑上都打开过哪些文件或文档等。但是Windows7...
  •  JumpList中除了有User Task外,还有Destination。与User Task不同,Destination中是与该程序相关联的文件的链接。Destination还可以分类,Windows已经自动为我们管理了“最近“和“常用“两个类别。比如记事本程序...

空空如也

空空如也

1 2 3 4 5 ... 18
收藏数 351
精华内容 140
关键字:

jumplist