Windows 11 小组件完全魔改指南(insider 版) - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
codehz
V2EX    Windows

Windows 11 小组件完全魔改指南(insider 版)

  •  6
     
  •   codehz 2021-07-15 01:44:06 +08:00 8800 次点击
    这是一个创建于 115 天前的主题,其中的信息可能已经有所发展或是发生改变。

    首先说明,这里介绍的方法不一定能在正式版中使用,微软可能会采取行动封堵这个操作。

    这里先不评价 Win11 的小组件实用性在哪里。。就给那些希望深度定制内容的人一个操作指南吧。

    本文只面向有一定基础知识的玩家,魔改有风险,注意常备份


    我们知道,win10 的新闻和兴趣功能使用的是 windows.msn.com/shell (中国为 windows.msn.cn/shell ),所以以此类推,win11 的小组件用的就是 https://windows.msn.com/newsandinterests 了(

    因此如果想要深度定制内容,就可以从劫持这几个网址入手

    虽然理论上只要第一个就够了 劫持内容可以通过 hosts 来做到(使用代理的朋友请自行解决),直接在 hosts 文件写入

    127.11.45.14 windows.msn.com 127.11.45.14 windows.msn.cn 127.11.45.14 localhost.windows.msn.com 

    (注意 127.0.0.0/8 整个都是本地回环,为了避免与 127.0.0.1 上的其他服务冲突,可以选择一个独特的地址)

    然后考虑到目标页面是 https 页面,我们可以通过自签名证书+安装根证书的方法绕过,这里采用 mkcert 的方案

    mkcert --install mkcert windows.msn.com windows.msn.cn localhost.windows.msn.com 

    得到证书和私钥文件后就可以放到自己喜爱的 http 服务器里部署了

    然后再打开 widgets 就可以拿到自己定制的页面了

    什么,你说还是原来的?那就是因为缓存的关系,不能及时刷新(还有 service worker ),可以通过删除 %LocalAppData%\Packages\MicrosoftWindows.Client.WebExperience_cw5n1h2txyewy\LocalState\EBWebView 目录来强行移除缓存(操作前终止小组件相关进程)


    然后再来说说这玩意有啥实用性:全局呼出( win+w,触屏用户可以侧滑呼出 ),几乎在所有界面可用(除了某些独占显示的游戏),定制后可用作第二个开始菜单 /启动器

    7 条回复    2021-10-05 20:29:46 +08:00
    ysc3839
        1
    ysc3839  
       2021-07-15 02:29:44 +08:00 via Android
    看上去这里用的是 Edge WebView2,可能想办法打开开发者模式的可玩性更高。
    oott123
        2
    oott123  
       2021-07-15 11:17:32 +08:00   1
    @ysc3839 研究了一下,注册表这么设置一下,设置完了之后杀掉 widgets.exe ,再打开小组件界面,按 F12,就有 devtools 了。

    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Dsh]
    "EnableDevTools"=dword:00000001
    Scirocco
        3
    Scirocco  
       2021-07-15 12:10:07 +08:00
    @oott123 #2 感谢,非常有帮助

    然后现在发现这个网址好像改成了 https://windows.msn.com/windowsnewsplus/
    ikas
        4
    ikas  
       2021-07-15 18:04:41 +08:00
    相反的,你也可以把他的 webcontent 拷贝出来,然后随便起个 http server,启动一个禁止跨域检测的 edge,就可以完整跑他的了...看他的项目结构,以后应该是可以添加组件的...
    thetbw
        5
    thetbw  
       2021-07-16 11:50:08 +08:00
    最简单的方法就是直接把微软的小组件干掉,自己整个 webview 开发个出来也用不了多久,或者现成的应该有的吧
    codehz
        6
    codehz  
    OP
       2021-07-16 15:12:21 +08:00
    @thetbw 这样说也没错,但是问题在于这玩意是内置的,而且可能还会随着后期优化而改善体验和修复 bug,而且现在来看至少调试体验还不错。。就解决一个证书和 hosts 的问题就可以和一般的网页 app 一样用了
    (然后这个模糊效果确实不错,electron 用的那个模糊 api 性能就一团浆糊,还不支持圆角)
    huhuime
        7
    huhuime  
       2021-10-05 20:29:46 +08:00
    @codehz electron user32 那个本来就是系统 api 实现,微软的问题一直不修,现在更糟糕了
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     886 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 19:51 PVG 03:51 LAX 11:51 JFK 14:51
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86