|
win11 封装之后,进了用户界面之后,会出现一个奇怪的问题,一个输入法清理工具,只保留搜狗输入法,移除微软拼音和微软五笔,但是用脚本运行这个工具,重启之后又恢复成三个输入法(搜狗,微软拼音,微软五笔),如果手动运行这个清理工具,就会正常,只保留搜狗,公司环境内有一个软件只兼容搜狗输入法,一个很老的软件。这个是什么原因呢,请大神指点一下。都测试了两个月了,这个问题都没有搞好,用导入注册表、powersehll 脚本,都试了,都有这个问题。清理工具是用au3编写的,参与IT天空一位大神的贴子编写的,代码如下,在WIN10下封装很好用。
㴀#Region ;**** 由 AccAu3Wrapper_GUI 创建指令 ****
#AccAu3Wrapper_Icon=configBundle.configCom.ico
#AccAu3Wrapper_Outfile=input.exe
#AccAu3Wrapper_UseX64=n
#AccAu3Wrapper_Res_Description=用于设置搜狗输入法为默认值,并删除其他输入法
#AccAu3Wrapper_Res_Fileversion=1.0.0.1
#AccAu3Wrapper_Res_Fileversion_AutoIncrement=y
#AccAu3Wrapper_Res_Language=2052
#AccAu3Wrapper_Res_requestedExecutionLevel=None
#EndRegion ;**** 由 AccAu3Wrapper_GUI 创建指令 ****
#include <File.au3>
Opt("traymenumode", 1) ;任务栏图标无默认菜单
Opt("trayautopause", 0) ;单击任务样图标不暂停执行
;=====检查当前电脑是否安装搜狗输入法
$sogoupy=FileExists("C:\Windows\SysWOW64\SogouPY.ime")
$sogoupy2=FileExists("C:\Windows\System32\SogouPY.ime")
$uninstallstring1=FileExists("C:\Program Files (x86)\SogouInput\Uninstall.exe")
If $sogoupy=0 Or $sogoupy2=0 Or $uninstallstring1=0 Then
;如果判断没有搜狗输入法,就生成Error.txt
_FileCreate(@ScriptDir &"\Error.txt")
Local $fileopen_error=FileOpen(@ScriptDir &"\Error.txt",1)
FileWriteLine($fileopen_error, @MON & "-" & @MDAY & " " & @HOUR & ":" & @MIN & " " & $sogoupy2)
FileWriteLine($fileopen_error, @MON & "-" & @MDAY & " " & @HOUR & ":" & @MIN & " " & $sogoupy)
FileWriteLine($fileopen_error, @MON & "-" & @MDAY & " " & @HOUR & ":" & @MIN & " " & $sogoupy2)
FileWriteLine($fileopen_error, @MON & "-" & @MDAY & " " & @HOUR & ":" & @MIN & " " & "没有发现搜狗输入法")
FileClose($fileopen_error)
ElseIf $sogoupy=1 Or $sogoupy2=1 Or $uninstallstring1=1 Then
;==========
;修改注册表
;===========
;创建日志文件并打开
_FileCreate(@ScriptDir &"\info.txt")
Local $fileopen=FileOpen(@ScriptDir &"\info.txt",1)
;删除zh-Hans-CN 下所有值 并写入日志
$zh_hans_cn=RegDelete("HKEY_CURRENT_USER\Control Panel\International\User Profile\zh-Hans-CN")
FileWriteLine($fileopen, @MON & "-" & @MDAY & " " & @HOUR & ":" & @MIN & " 删除zh-Hans-CN 下所有值 " & $zh_hans_cn )
;删除0x00000804\{34745C63-B2F0-4784-8B67-5E12C8701A31}下所有值,并写入日志
$804=RegDelete("HKEY_CURRENT_USER\SOFTWARE\Microsoft\CTF\SortOrder\AssemblyItem\0x00000804\{34745C63-B2F0-4784-8B67-5E12C8701A31}")
FileWriteLine($fileopen, @MON & "-" & @MDAY & " " & @HOUR & ":" & @MIN & " 删除0x00000804\{34745C63-B2F0-4784-8B67-5E12C8701A31}下所有值 " & $804 )
;创建{34745C63-B2F0-4784-8B67-5E12C8701A31}下的CLSID,第一个输入法相关值并写入日志
$clsid=RegWrite("HKEY_CURRENT_USER\SOFTWARE\Microsoft\CTF\SortOrder\AssemblyItem\0x00000804\{34745C63-B2F0-4784-8B67-5E12C8701A31}\00000000","CLSID","REG_SZ","{E7EA138F-69F8-11D7-A6EA-00065B844310}")
FileWriteLine($fileopen, @MON & "-" & @MDAY & " " & @HOUR & ":" & @MIN & " {34745C63-B2F0-4784-8B67-5E12C8701A31}下的CLSID " & $clsid )
;创建{34745C63-B2F0-4784-8B67-5E12C8701A31}下的KeyboardLayout,第一个输入法相关值并写入日志
$keyboardlayout=RegWrite("HKEY_CURRENT_USER\SOFTWARE\Microsoft\CTF\SortOrder\AssemblyItem\0x00000804\{34745C63-B2F0-4784-8B67-5E12C8701A31}\00000000","KeyboardLayout","REG_DWORD","0")
FileWriteLine($fileopen, @MON & "-" & @MDAY & " " & @HOUR & ":" & @MIN & " 键盘布局 " & $keyboardlayout )
;创建{34745C63-B2F0-4784-8B67-5E12C8701A31}下的Profile,第一个输入法相关值并写入日志
$Profile=RegWrite("HKEY_CURRENT_USER\SOFTWARE\Microsoft\CTF\SortOrder\AssemblyItem\0x00000804\{34745C63-B2F0-4784-8B67-5E12C8701A31}\00000000","Profile","REG_SZ","{E7EA138F-69F8-11D7-A6EA-00065B844311}")
FileWriteLine($fileopen, @MON & "-" & @MDAY & " " & @HOUR & ":" & @MIN & " Profile " & $Profile )
;创建zh-Hans-CN下的,第一个输入法相关值并写入日志
$input=RegWrite("HKEY_CURRENT_USER\Control Panel\International\User Profile\zh-Hans-CN","0804:{E7EA138E-69F8-11D7-A6EA-00065B844310}{E7EA138F-69F8-11D7-A6EA-00065B844311}","REG_DWORD","1")
FileWriteLine($fileopen, @MON & "-" & @MDAY & " " & @HOUR & ":" & @MIN & " 写入zh-Hans-CN 下所有值 " & $input )
;防止重新生成默认输入法
FileWriteLine($fileopen, @MON & "-" & @MDAY & " " & @HOUR & ":" & @MIN & " 防止重新生成默认输入法 " )
For $i = 1 To 5
$sRegEnumVal = RegEnumVal("HKCU64\Control Panel\International\User Profile\zh-Hans-CN", $i)
If $sRegEnumVal="0804:{81D4E9C9-1D3B-41BC-9E6C-4B40BF79E35E}{FA550B04-5AD7-411F-A5AC-CA038EC515D7}" Then
$weiruanpy= RegDelete("HKCU64\Control Panel\International\User Profile\zh-Hans-CN","0804:{81D4E9C9-1D3B-41BC-9E6C-4B40BF79E35E}{FA550B04-5AD7-411F-A5AC-CA038EC515D7}")
FileWriteLine($fileopen, @MON & "-" & @MDAY & " " & @HOUR & ":" & @MIN & " 删除微软拼音输入法 " & $weiruanpy )
EndIf
If $sRegEnumVal="0804:{6A498709-E00B-4C45-A018-8F9E4081AE40}{82590C13-F4DD-44F4-BA1D-8667246FDF8E}" Then
$weiruanwb= RegDelete("HKCU64\Control Panel\International\User Profile\zh-Hans-CN","0804:{6A498709-E00B-4C45-A018-8F9E4081AE40}{82590C13-F4DD-44F4-BA1D-8667246FDF8E}")
FileWriteLine($fileopen, @MON & "-" & @MDAY & " " & @HOUR & ":" & @MIN & " 删除微软五笔输入法 " & $weiruanwb )
EndIf
Next
For $i = 1 To 5
$sRegEnumKey= RegEnumKey("HKCU64\SOFTWARE\Microsoft\CTF\SortOrder\AssemblyItem\0x00000804\{34745C63-B2F0-4784-8B67-5E12C8701A31}", $i)
If $sRegEnumKey="00000001" Then
$weiruan1= RegDelete("HKCU64\SOFTWARE\Microsoft\CTF\SortOrder\AssemblyItem\0x00000804\{34745C63-B2F0-4784-8B67-5E12C8701A31}\00000001")
FileWriteLine($fileopen, @MON & "-" & @MDAY & " " & @HOUR & ":" & @MIN & " 删除CTF下的第二个输入法 " & $weiruan1 )
EndIf
If $sRegEnumKey="00000002" Then
$weiruan2= RegDelete("HKCU64\SOFTWARE\Microsoft\CTF\SortOrder\AssemblyItem\0x00000804\{34745C63-B2F0-4784-8B67-5E12C8701A31}\00000002")
FileWriteLine($fileopen, @MON & "-" & @MDAY & " " & @HOUR & ":" & @MIN & " 删除CTF下的第三个输入法 " & $weiruan2 )
EndIf
Next
;使用第三输入法为空
$tfp=RegDelete("HKEY_CURRENT_USER\SOFTWARE\Microsoft\CTF\TIP\")
FileWriteLine($fileopen, @MON & "-" & @MDAY & " " & @HOUR & ":" & @MIN & " 使用第三输入法TIP为空,执行结果 " & $tfp )
FileClose($fileopen)
EndIf
|
上一篇: ZS母盘V19版发布!这可能是win10 32位的最后一版了
|