如何找出 Windows 操作系统上除了系统/当前用户环境之外哪个程序添加了 LANG 环境变量?

如何找出 Windows 操作系统上除了系统/当前用户环境之外哪个程序添加了 LANG 环境变量?

我发现环境中有一个LANG具有值的环境变量zh_CN(由 报告set),但是这个变量不存在在系统范围/当前用户环境中。

  1. 重启后,LANG环境变量仍然不存在。
  2. 经过一些操作之后,LANG会出现,并且它影响了explorer.exe进程的环境(使用procexp.exe查看explorer.exe的环境),因此,所有新创建的子进程都会继承的环境explorer.exe
  3. 编辑任何环境变量并保存后,LANG将会消失。
  4. 重复步骤2,LANG不再出现。

我不知道步骤 2 中的哪个操作导致了LANG出现此问题,但最有可能的是,右键单击文件然后弹出菜单时出现此问题。

所以我怀疑这是一些 shell 扩展程序添加LANG环境变量的功能explorer.exe。在弹出的菜单中,有以下几个 shell 扩展:

  • 7-Zip 9.22 测试版
  • 压缩包 4.00
  • gVim 7.3.46
  • EditPlus v3.30 (v605)
  • Notepad++ 5.9(UNICODE)
  • Git 1.7.4-preview20110204
  • TortoiseCVS 1.12.2
  • TortoiseSVN 1.16.16
  • XnView Shell 扩展 3.0.0(XnView 1.98)

这些程序大部分都与环境变量(GUI 语言)有关LANG,但是哪一个呢?有没有可以监视环境变量的工具?

答案1

暴力破解方法:

  1. 打开命令提示符,运行set LANG=以删除变量。
  2. 下载韓規劃并禁用除一个扩展之外的所有扩展。
  3. 关闭资源管理器并从之前打开的命令提示符重新启动。
  4. 右键单击一个文件,检查是否出现环境变量。
  5. 如果%LANG%出现,则完成。否则,启用另一个扩展并转到#3。

您可以通过 Process Explorer 终止它来关闭 Explorer,但这是一种“干净退出”的方法:

  • Vista/7:开始,按住Ctrl+ Alt+ Shift,右键单击空白处,选择关闭资源管理器

  • 经验值:开始,按住Ctrl+ Alt+ Shift,点击取消

  • 旧版本:开始关闭,按住Ctrl+ Alt+ Shift,点击取消

相关内容