存档

修改 IE 的 RequestHeader “Accept-Language”

2019/07/17 295

项目中发现使用个别机器的 IE 访问某些个别页面出现 500 错误。分析发现出现错误的机器,其 IE 的 HTTP RequestHeader Accept-Language 是 zh-Hans-CN , 而正常的机器是 zh-CN . 由于某些原因无法修改服务器程序,那只能强制修改 IE 的 header.

方式是修改注册表:
计算机\HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\International ,
添加或修改项 AcceptLanguagezh-CN , 重启 IE 即可。

常见的中文语言标签

  • zh-Hans 简体中文
  • zh-Hans-CN 大陆地区使用的简体中文
  • zh-Hans-HK 香港地区使用的简体中文
  • zh-Hans-MO 澳门使用的简体中文
  • zh-Hans-SG 新加坡使用的简体中文
  • zh-Hans-TW 台湾使用的简体中文
  • zh-Hant 繁体中文
  • zh-Hant-CN 大陆地区使用的繁体中文
  • zh-Hant-HK 香港地区使用的繁体中文
  • zh-Hant-MO 澳门使用的繁体中文
  • zh-Hant-SG 新加坡使用的繁体中文
  • zh-Hant-TW 台湾使用的繁体中文

使用 Windows API 设置 IE 代理

2019/05/06 381

设置 IE 代理有多种方法。常用的是修改注册表和调用 InternetSetOption API 。

1. 注册表

IE 设置在注册表中所在的位置是
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings
其中:

  • ProxyServer
    Value Type: REG_SZ
    Value Data: “ProxyServerName:Port”
  • ProxyEnable
    Value Type: REG_DWORD
    Value Data: 0 = Disable 1 = Enable
  • ProxyOverride 不使用代理的地址的列表
    Value Type: REG_SZ
    Value Data: “list_of_exclusion” 。可以使用通配符 * . 使用分号 ; 分隔, 如 192.168.1.*;*.domain.com;<local>

2. 使用 Windows API

示例代码如下 :

关于更多的信息请 参考这里 docs.microsoft.com

3.Others

a. 注意事项

在 IE9 之前, 以上步骤之后可能需要重启 IE 才能使设置生效。或者在打开 “Internet 属性” 面板时设置不生效。此时需要:

来通知其它应用IE属性被修改。

b. 打开 “Internet 属性” 设置面板

Rundll32.exe shell32.dll,Control_RunDLL inetcpl.cpl,,4
Rundll32 可以做很多事情。具体可以看这里 List of Rundll32 Commands in Windows 10

MacOS mojave 接外设时无法连接 wifi 的问题

2019/01/06 932

昨天为我的rmbp配了一个外接显示器,今天突然发现mac无法连接wifi了,整个下午尝试了包括重启路由器、重置路由器、更换各种wifi参数、重启电脑等等一系列操作,均无法解决。

偶然在网上发现有人说拔掉 U 盘/ type-c 设备 / 移动硬盘等外设可以解决这个问题,我尝试断开外接显示器,果然一下子连上了wifi。如果wifi和显示器只能二选一,那我的显示器岂不是白买了,在 google 上查找度尝试,最终找到几种对我有效的方法:

一 删除设置缓存

1. 关闭wifi

2. 重启电脑  以确保所有用到网络的应用程序都关闭了

3. 删除相关文件  需要先备份  /Library/Preferences/SystemConfiguration 下所有的文件,再将该文件夹删除

4. 重启电脑

5. 打开wifi

这种方法不是对每个人都有效。另外操作前最好先备份一下重要资料。

二、改变外设位置

第一种方法并不是每次都管用。偶尔还得重新弄一回。后来发现:

当外设处于 Mac 的正左侧或正右侧是,断网现在最为明显。当外设位于 Mac 的前侧或后侧时,网速最好。

三、Mac 外壳接地

无意中发现手触到 Mac 某些地方时,连网突然恢复,可能是人体接地使 Mac 天线发生了变化。多次实验当手接触到这两个位置时,信号最好:

想办法让这两个地方接地就可

 

Windows 如何修改系统盘符

2018/11/13 938

在使用 Win10 开发近 5 年的时间里,我填了各种各样的坑。最近终于受不了,将办公室里的开发机器的操作系统换回 Win7 。但是在重装 Win7 系统后,发现了一个问题:Win7 系统盘符并不是 C:/ 而是 F:/ 。这导致有些软件不能使用了。在网上找了一通后,找到如下办法可以将系统盘符换回 C:/ :
修改 HKEY_LOCAL_MACHINE\SYSTEM\MountedDevice\DosDevices\F: 的键名为 \DosDevices\C:
重启以后,发现系统盘符果然改成了 C:/ 。然而,系统无法正常使用:无法加载用户配置文件、无法打开系统应用,甚至连资源管理器都无法打开!
这个时候如果想将注册表改回去,发现
无法打开 C:/windows/regedit.exe, 找不到指定文件
经过一通谷狗之后,有如下解决办法:

1. 恢复到之前的盘符

使用 PE 引导盘,进行系统后打开 regedit.exe ,但是这个时候修改HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices 是无效的,因为此时的注册表是 PE 系统的注册表,而不是 Win7 的注册表。应该想办法加载 Win7 的注册表,方法如下:
将鼠标定位在 HKEY_LOCAL_MACHINE\ 上,选择菜单 文件 -> 加载配置单元 , 在对话框中选择 F:\Windows\System32\config\SYSTEM ,在新加载的注册表项里找到 MountedDevices, 将 \DosDevices\C: 改加 \DosDevices\F: ,并重启。
因为 regedit.exe 只是注册表编辑器,真正的注册表文件存储在 F:\Windows\System32\config\SYSTEM 里。

2. 解决盘符的问题

在注册表里搜一下 F:/ ,发现实在太多了。这决定里通过修改盘符不能解决问题而只会引发更多的问题。冷静下来思考了一下,想到如果使用磁盘映射可能可以解决问题:
首先,查看是否有磁盘占用了 盘符 C,如果有,则改之。
然后,cmd 下使用 subst 命令:

此时发现 “我的电脑” 中果然出现了 C 盘且和 F 盘一毛一样。至此问题得到解决。

3. 改进

这种方法的缺点就是,该命令在重启后会失效。所以需要在启动时自动运行。我选择将其加入到 Windows 计划任务库里

附:subst 命令

  • 命令基本格式 > subst [盘符] [路径]
  • 查看所有映射 > subst
  • 解除某个映射 > subst [盘符] /D

Mathematica 的几个技巧

2018/09/14 1,036

绘图

画曲线的交点

有多种方法。
一是利用 MeshMeshFunction, 二是求出点,并使用 Graphics
eg.1:

eg.2:

文本偏移与旋转

文本绘制使用 Text[expr,coords,offset,dir] ,其中 offset 为偏移量,单位为一个 point(一般是 1/72 inc) 。 dir 为文本的方向

eg.1  偏移

eg.2 旋转


计算

求模等方程

 

 

如何在 Intellij IDEA 中使用 less

2018/06/27 1,383

1. 安装 node.js  参见这里

2. 安装 less for node.js

3. 安装 file watchers 插件:

File->Settings->Plugins->

4. 配置 File Wathcers:

File->Settings->Tools->

插件会自动寻找配置 lessc 。

至此,改动 less 并保存时会自动生成对应的 css文件