V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  geelaw  ›  全部回复第 4 页 / 共 188 页
回复总数  3759
1  2  3  4  5  6  7  8  9  10 ... 188  
110 天前
回复了 dream2716098767 创建的主题 问与答 Win11 下 Telegram Desktop 无法启动
我的建议是检查网络问题,是不是有超长延时所以 Telegram 其实在等超时?如果你把网络禁用,Telegram 是否可以瞬间打开并告诉你没有网络?

更高层的建议是用原版的 Windows 而非“精简版”。

24H2 和 LTSC 的关系是,有很多 LTSC ,每个 LTSC 可以对应不同的常规版本,目前 Windows 11 只有两个 LTSC ( IoT Ent 和 Ent ),都是基于 24H2 的。
110 天前
回复了 cpalead 创建的主题 分享发现 电脑上的微信是不是监控你的操作?
@TimG #9 我的评论单纯是技术可行性,安装虚拟机当然是合适的。除非你用一些技巧,否则百度云管家安装的时候就获得过管理员权限,因此创造透明窗口并记录并接棒所有输入是技术可行的;当然,存在着安装百度云管家但从不授予管理员权限的情况,因此理性作者不会把百度云管家弄成通过透明窗口记录所有事件的样子。

> 没有使用管理员模式,是否可能通过其他手段做到类似的功能,或者直接挑明说,这里认为是使用漏洞的操作都是无法判断的

这种漏洞价值太高,在普通用户的程序中利用是非理性决策。未经管理员权限越过 UIPI 是 Windows bug ,目前不知道这种 bug 的存在,所以答案是“不能”。

另外“以上没有表示百度云网盘是恶意软件”是免责我前面描述的用管理员权限的可能场景(而且我个人认为百度云管家并不会让 Windows 不是 Windows ,即“搞这么复杂的事情”),不是你说的“会出来一个全屏广告”。

另外软件打开一个全屏窗口是再稀松平常不过的一件事了,比如很多游戏都是。如果你想说“用户没有点击任何按钮就打开了全屏窗口”,那么答案是桌面 app 的模型里用户是否触发操作和程序能做的事情无关,系统不会监视或知道这件事。
111 天前
回复了 cpalead 创建的主题 分享发现 电脑上的微信是不是监控你的操作?
Hmmm 首先我自己运行微信,静息状态下并没有疯狂使用网络。所以我觉得大概是楼主的微信在同步数据(包括下载聊天记录、自动下载附件、自动下载表情包、更新朋友圈,等等)。

@TimG #3 如果你安装恶意软件的时候授予了管理员权限,那么之后操作系就就已经不是原来的操作系统了,此时任何安全性都无意义,因为理论上来说恶意软件可以完全劫持操作系统的 API 并返回伪造数据。

以上没有表示百度云网盘是恶意软件。此外,我觉得百度云网盘应该不会搞这么复杂的事情。

如果你安装、使用时没有授予管理员权限,那么在 Windows 上可以确定两件事:

1. 任何提权进程都受到 UIPI 的保护,因此低权限进程的透明窗口无法把输入传递到高权限窗口,而且高权限窗口会具有失焦样式。
2. 按 Ctrl+Alt+Delete 后,可以确保交互的操作由 Windows 直接处理。

我认为百度云网盘应该受到 1 的限制,所以做透明窗口记录所有事情应该不可行。
@chairuosen #2 每个 tab 里都有自己的 isRefreshing 。

@crazzy #3 在 if (!isRefreshing) 和 isRefreshing = true 之间不可能有任何 JavaScript 代码执行。

@IWSR #4 这个好像是楼主代码的意思。

@supuwoerc #9

楼主可以多考虑一下读者,尝试简化代码,使之不需要借助外部语境就很容易理解,比如我们不知道 user.useLoginStore.getState() 的状态是否是 session/local 级别的,还是 tab 级别的。如果 user.useLoginStore.getState() 是 session/local 的状态,那么不同的 tab 有自己的 isRefreshing ,当然两个 tab 可以同时看到过期的 token 并分别决定刷新。

@irisdev #8 放在 local/session 都不好,因为用户可以在 tab 1 刷新的时候关闭之,但 tab 1 通过共享的 isRefreshing 锁定了刷新的权力,这会导致 local/session 清空之前不再有任何 tab 会进入刷新的逻辑。
不存在针对 isRefreshing 的竞态条件,原因很简单:JavaScript 没有多线程,而只有 JavaScript 代码会读写 isRefreshing 。

和 worker 也没有任何关系,因为 worker thread 之间不共享对象,要共享数据必须 postMessage 。
117 天前
回复了 zficode 创建的主题 Windows 2025 年, Windows 的开发体验已经赶上 Mac 了
@w568w #3

1. Windows 从上古时期就支持 / \ 了,可以两者混用,命令解析方面只要不混淆即可,解析歧义这点和 Unix 差不多(对比:~, -a, * 的含义)。
2. 需要 & 'path to' 的情况是路径里面有空格(不加 ' 会导致和 path 加参数 to.exe 混淆,加 ' 不加 & 导致和表达式语句混淆),和是否是绝对路径没有关系。
https://www.reddit.com/r/MacOSBeta/comments/1lq8cfu/in_menu_bar_allow_on_menu_bar_i_have_lots_of/

传统搜索引擎的答案 ^ 关键字 macos delete app from allow in menu bar
@Sokranotes #28 首先,你可能没有明确表述问题是什么。

原帖的内容可以推断,你用的是安装了各种应用软件的 Windows 11 并且每次重启都会被提示文件关联重置,你的问题大概是“这种情况(安装了一堆解题者不知道的软件)下如何让关联不再被重置”。

这个问题的答案我已经在 #9 说过了,或许不明显,那么我可以说得更明白一些:有一个软件尝试修改你的文件关联,因此 Windows 会重置之,解决方法是删除这个捣乱的软件。

#26 提到的

>我为了这个问题重装了一次系统,把所有软件重新装了一次,实实在在的做了很多尝试,而不是像你一样空谈“正确方法”。

我不确定你的操作方式,但我可以告诉你的是,安装 en-us_windows_11_consumer_editions_version_24h2_updated_aug_2025_x64_dvd_9236d79b.iso (这个文件的 SHA-256 是 12ee1e95dd2173af0fc9b90449e4cc34287289669ed90a1c4c99c015739636ee )里面的 Windows 11 之后安装 google dot com slash chrome 下载的 Chrome (假设这些操作是 2025 年 8 月完成的),那么用自然的方式设置文件关联后不会被重设。(排除电脑被宇宙射线巧妙轰击的情况。)

所以问题根源依然是你(重新)安装的其他软件之一。

没有更多信息之前,我认为问题没有发生变化,即“在安装了一些未知的软件之后反复被重设文件关联,要怎么防止被重设”。而且因为从干净的系统安装 Chrome 并不会导致你说的问题,所以我建议的方法依然是更优的。

————

如果你同意问题如上,而不是“在我不给大家透露更多有效信息以细化问题后,如何解决细化的问题”,那么你发现用 SetUserFTA 后在你的环境下不再产生该问题,并不能推出你的方法“解决了问题”,因为可以构造如下场景,使得你的问题依然存在:

设置一个程序自启动,并且在随机的延时后篡改文件关联。

此时,如果 SetUserFTA 先完成设置,那么你的问题依然会出现,并且问题是否发生是取决于时延的、随机的。如果你使用 SetUserFTA 后一直没有观测到问题,且取消后又能观测到问题,那么比较合理的推断是:你的 SetUserFTA 程序恰好在文件关联被篡改后、Explorer 检查文件关联完整性之前完成,这样文件关联会是你用 SetUserFTA 设置的版本,并且 Explorer 查看的时候不会发现它曾经损坏过,因此不会重设。我觉得“SetUserFTA 能恰好在这两个时间节点之间完成工作”,并不是很好的假设,因为 Windows 自启动程序的速度、顺序(会影响 SetUserFTA 生效的时间)并不是一成不变的。

————

如果你不同意问题如上,而是认为问题就是你特定装机之后如何避免,那么你可以声称你解决了问题,但是其他人无法验证。

此外,知道哪个程序篡改关联很重要,是因为:

1. 文件关联的 hash 校验是 Windows 8 之后才引入的
2. 任何按照 Windows 7 及之前的方式注册、修改文件关联(包括修改默认关联)的程序,都不会导致这一行为

由此推断,任何导致文件关联被篡改从而重设的程序,必然是刻意绕过 Windows 8 之后设计的“只有用户主动修改才算数”的机制,属于恶意修改。

————

>你读博做研究也会这样吗,问题都没有搞清楚的情况下,就发表自己的看法。

你为什么会觉得研究和 Windows 用法是类似的问题?简单的答案是:Windows 文件关联的机制是有官方文档的,因此所有这类问题的答案都是既定的,我的观点是只要问题本身可以在文档的范围内解决,都应该按照文档记载的方式来;我做研究是自己定义问题或者解决已经定义好但是不知道怎么解的问题,不存在你说的“搞不清楚”的情况。

————

当然,没有必要非要用最好的方法,凑合凑合也挺好的。
@Sokranotes #26 Good 和 better 的区别,睡觉喜欢踢被子并不能用强行把腿绑在床上,并且绳子快断的时候重新绑上(每次登录都重设文件关联)解决。

>你觉得一个会尝试注册表修改的人会不知道尝试默认修改吗?

很多人会不知不觉把简单问题复杂化。

>实实在在的做了很多尝试,而不是像你一样空谈“正确方法”。

努力和效果没有必然联系,看起来 #9 的信息比尝试更有效。
@Sokranotes #24, appendix 3

感到十分困惑,为什么不能简单地用 Settings | Apps | Default apps 选择需要的关联,而要每次重启都重设一次?有人修改过你的注册表的权限导致正常方式设置不能正确存储?如果是后一种情况,推荐的做法是删除 HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts 和 HKCU\Software\Microsoft\Windows\CurrentVersion\ApplicationAssociationToasts 里面所有的内容(但这两个键本身不删除),然后登出再登入,这样 Windows 会认为一切文件关联都是新鲜的,且会建立正确的权限(除非 FileExts 和 ApplicationAssociationToasts 两个键本身已经损坏)。

使用 SetUserFTA 本质上是一种 hack ,任何 Windows 的更新都可能导致 SetUserFTA 使用的 hash 函数和 Windows 的不同,于是一大坨文件关联会被重设。即使要用自动化的方式设置,受支持的方法也是使用组策略。

对社区有益的做法是:回到使用 SetUserFTA 之前的状态,根据 https://techcommunity.microsoft.com/blog/askperf/how-to-configure-file-associations-for-it-pros/1313151 的指导,用 Windows 事件查看器里的 Microsoft-Windows-Shell-Core/AppDefaults 查看文件关联重设的原因,并使用 procmon64.exe 查看哪个程序在篡改文件关联,然后在此贴警告大家不要用那个软件。
当且仅当两个显示器单个像素边长之比等于两个显示器的 DPI 缩放之比时,两者的绝对大小才可能一样。

另外,一个窗口只能处于一个 DPI 上,通常来说窗口主要位于哪个显示器,它就会按照哪个显示器缩放,因此跨显示器放置窗口不会有好效果(除非两个显示器 DPI 一样)。当然,如果软件实现错误,那么挪动到不同的显示器上自然也不会有好效果。
127 天前
回复了 faoisdjioga 创建的主题 macOS 苹果系统复制内容会失败嘛?
如果假设程序写得很好,那么最简单的解释是竞态条件。macOS 的 NSPasteboard 系列 API 表示剪贴板所有权改变时设置数据不会成功,说明 macOS 有所有权概念,但是我没找到具体说明所有权如何变更,这点于是可以参考 Windows 的逻辑,猜测清空剪贴板的程序获得所有权(因为 macOS 文档也表明清空剪贴板是设置数据的第一步)。

于是,当你按下 Cmd+C 后,程序 A 清空剪贴板并放置数据,但是 A 清空之后、放置数据成功之前,另一个程序 B 或许尝试清空剪贴板,于是 B 成为了所有者,这导致 A 无法放置数据。

现实世界的程序可能写得不好,但如果假设程序写得不烂,那么可以想象剪切的逻辑是把内容放入剪贴板,并且成功后才删除原来的内容。所以如果担心复制没有成功,可以选择、剪切、原地粘贴,然后再到目标位置粘贴。当然连按很多次 Cmd+C 也是可以的。
我的印象是 Ctrl+N 的时候在哪个邮箱里面,它默认的发件地址就是哪个邮箱。

Outlook 已知和 Gmail 不合,但我认为是 Gmail 的模型和 IMAP 不合的问题:有的时候在 Outlook 里 Shift+Delete 删除 Gmail 邮件,会让 Gmail 认为是删去邮件的所有标签( Gmail 把标签映射为 IMAP 文件夹,除了 Deleted 是特别处理的之外),从而变成存档状态,而非永久删除。
不能,而且 msstyles 存在与否和是否安装桌面体验无关,毕竟 cmd/PowerShell 本身也需要显示在窗口里,和新版里面应该用的是 AeroLite (如果装了桌面体验应该也有 Aero ,大概就是楼主所谓的 Windows 10 UI )。

我已经很久没用过 Windows Server 了,如果默认主题不是 AeroLite 并且楼主想用这样一款,简单的做法是使用高对比度主题。

Windows 8 开始已经不支持经典( Windows 7 )主题引擎了,所有的 msstyles (Windows XP) 以来都无法跨大版本使用,并且所有的 explorer 也都不能。
根据读心术调试法,最简单的解释是楼主开了 UAC 且 cmd 和 explorer 在同一个用户下,explorer 未提权且 cmd 提权,此时两者有隔离。(当然,也可能是 explorer 是登录用户的,而 cmd 是以另一个管理员用户身份运行的,无论如何都是有隔离的。)

解决方法是在提权的 cmd 里面用 net use 映射,因为映射与 logon session 关联:如果是 UAC 非提权/提权,那么登录用户的时候会自动有两个 logon sessions ,且两者隔离;如果是以其他管理员用户的身份运行,则输入正确的密码等验证成功时会有新的 logon session 。
答案是不要直接修改注册表。如果你只有 Chrome 和 Edge ,那么在 Settings | Apps | Default apps | Set a default for a file type or link type 里面分别输入 http 和 https ,然后点击下面的按钮,选择你想要用的浏览器,点击 Set default 。

Windows 的逻辑是:如果有程序乱改注册表企图夺取文件关联,那谁都别想好过,直接重设为 Windows 自带的版本。
@JYLu #19 用,我还用 Visual Studio ,显然也是安装了 Excel, Word 等等的,那个列表是指读研本身需要的软件,个人爱好是另一回事儿。

另一个拉满的原因是,旧款处理器当然会更早停止生产,因此可维修时间(保外)也是新款处理器更长,适合数年不换电脑的人。
取决于你做的是什么密码,我的个人经验是只用得到 TeX, VSCode (或者任何一款代码编辑器), PowerPoint, OneNote, Outlook, 网络浏览器, Git ,所有新款电脑都是性能过剩的。

既然楼主上一台电脑用了 6 年,我推荐直接拉到顶配就行了,折算到 6 年间是合适的(我自己用了 7 年,也是最近换电脑)。
@Dispatcher #7 第二部分里面显然是看不懂英语(甚至自然语言)的人或者机器讹传的。The Old New Thing 的原文我一直在追更,可以打开网络上的文件和记事本的关系是“记事本是诸多新功能的实验田”而不是“记事本实现了这个功能”。如我所说,打开网络文件的时候自动下载并提供给宿主程序完全是“打开文件”对话框的功能,并且你可以通过记事本打开网络文件观察这个功能是否正常生效。

再比如 Windows Vista 引入的文件预览功能,它可以在任何使用“打开文件”对话框的程序里使用,比如你在记事本里打开文件的时候就可以预览。在 Windows 10 引入的 packaged app 里的“打开文件”对话框无法使用第三方预览程序的事实,也可以在新版记事本里得到验证。
@Dispatcher #3

>因为记事本是重构的(原始代码丢失),为了保持兼容性,做了很多无意义的“工作”,比如打开的时候,可以输入网址,从而查看网页源代码;

请问这是哪里来的说法?我并不知道 Windows 经典版记事本的代码是否丢失,但是我的猜测是保存完好,因为 2017 年开始 Windows 就已知把代码全部用 Git 追踪,此后经典版记事本还在不断更新,不可能是一直用旧版的 exe 。

打开文件对话框可以输入网址并打开对应网址的文件,这件事情和记事本没有任何关系,也不是“兼容性”,而是远古时期的新功能(我忘记什么时候加入的了,但应该是 Windows XP 或更早,且是 Windows 95 或更晚)。

试一试:在 PowerPoint 选择插入本地图片,在打开文件对话框里输入图片的网址并插入,你会看到对话框下载了图片,然后 PowerPoint 插入了图片。试着自己写一个 app ,使用打开文件对话框,输入网址,你会看到你的 app 打开了从网上下载的文件。
1  2  3  4  5  6  7  8  9  10 ... 188  
关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   1122 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 35ms · UTC 17:49 · PVG 01:49 · LAX 09:49 · JFK 12:49
♥ Do have faith in what you're doing.