无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 925|回复: 39
打印 上一主题 下一主题

[求助] 300无忧币希望找个人帮忙写个静默安装程序

[复制链接]
跳转到指定楼层
1#
发表于 前天 20:17 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
500无忧币
本帖最后由 2012ccxbox 于 2025-12-20 22:57 编辑

1.zd的搜狗输入法自带静默参数/S,但是静默参数不能选择自己想要的组件
搜狗输入法v12.5.0.6558去广告精简优化版.exe - 蓝奏云
https://423down.lanzouo.com/iWPHX0ckzxqh

2.我希望能可以静默安装上工具箱及扩展管理器组件,最好能支持w7-w11x86 x64全平台

au3应该没问题 我是想系统封装的时候调用的.


2025-12-20_20-16-44.jpg (28.15 KB, 下载次数: 2)

2025-12-20_20-16-44.jpg

点评

搜~狗就像阿三的系统 就是一坨shit! 不值得建议折腾 浪费生命 认真你就输了  发表于 昨天 02:59
2#
发表于 前天 20:26 | 只看该作者
支持折腾,祝福早日解决问题
回复

使用道具 举报

3#
发表于 前天 20:30 | 只看该作者
等大佬...
回复

使用道具 举报

4#
发表于 前天 20:43 | 只看该作者
我用五笔,但支持折腾!
回复

使用道具 举报

5#
发表于 前天 21:24 | 只看该作者
给多少时间?Load.exe 类程序可以吗?

点评

两个星期吧?所有方法都可以。。我只知道AU3可以  详情 回复 发表于 前天 22:55
回复

使用道具 举报

6#
发表于 前天 21:31 | 只看该作者
等高手
回复

使用道具 举报

7#
发表于 前天 21:44 | 只看该作者
换低版本的,比如经典的6.7i不香么,还没那么多流氓...


二○二五年十二月二十日

点评

6.7没手写 没语音。。  详情 回复 发表于 前天 22:56
回复

使用道具 举报

8#
发表于 前天 22:42 | 只看该作者
等高手
回复

使用道具 举报

9#
 楼主| 发表于 前天 22:55 | 只看该作者
本帖最后由 2012ccxbox 于 2025-12-20 23:21 编辑
chishingchan 发表于 2025-12-20 21:24
给多少时间?Load.exe 类程序可以吗?

两个星期吧?所有方法都可以。。
回复

使用道具 举报

10#
 楼主| 发表于 前天 22:56 | 只看该作者
邪恶海盗 发表于 2025-12-20 21:44
换低版本的,比如经典的6.7i不香么,还没那么多流氓...

6.7没手写 没语音。。
回复

使用道具 举报

11#
发表于 前天 23:17 | 只看该作者
坛里找 有的
回复

使用道具 举报

12#
发表于 昨天 00:22 | 只看该作者
等高手
回复

使用道具 举报

13#
发表于 昨天 06:13 | 只看该作者
低版本确实是好选择
回复

使用道具 举报

14#
发表于 昨天 07:11 | 只看该作者
支持折腾
回复

使用道具 举报

15#
发表于 昨天 08:33 | 只看该作者
找人重新封装一下输入法
回复

使用道具 举报

16#
发表于 昨天 08:45 | 只看该作者
等高手出作品!
回复

使用道具 举报

17#
发表于 昨天 09:49 | 只看该作者
一个思路是分析后重新打包,二是AU3隐藏界面再用鼠标键盘操作实现“静默”,不隐藏的话应该会更容易点。

点评

楼上回复是正解  详情 回复 发表于 昨天 10:58
回复

使用道具 举报

18#
发表于 昨天 10:58 | 只看该作者
9zhmke 发表于 2025-12-21 09:49
一个思路是分析后重新打包,二是AU3隐藏界面再用鼠标键盘操作实现“静默”,不隐藏的话应该会更容易点。

楼上回复是正解
回复

使用道具 举报

19#
发表于 昨天 11:12 | 只看该作者
18#的思路很好
回复

使用道具 举报

20#
发表于 昨天 12:07 | 只看该作者
本帖最后由 nttwqz 于 2025-12-21 12:32 编辑

懒得弄个完整版了,所以,将此组件独立了出来,需在其安装后安装,仅在沙盘中测试扩展管理器可以打开,其它自行测试,如需要完整版,请等待其他大神。



搜狗拼音工具箱及扩展管理器组件.7z (1001.12 KB, 下载次数: 7)


评分

参与人数 1无忧币 +5 收起 理由
2012ccxbox + 5 也是一种思路,感谢,这个也可以静默安装么.

查看全部评分

回复

使用道具 举报

21#
发表于 昨天 12:12 | 只看该作者
本帖最后由 nttwqz 于 2025-12-21 12:32 编辑

NSIS源码在此,其它文件自行从原安装包中提取。

搜狗拼音工具箱及扩展管理器组件源码.7z (202.24 KB, 下载次数: 20)

点评

Components.rar - 蓝奏云 https://abcx.lanzoul.com/iZLms3e7gksj 能否帮忙讲这个组件替换过去?就是包括了手写组件的、 谢谢 如果您愿意抽空帮忙 最佳答案奉上  详情 回复 发表于 6 小时前
即使不是最佳答案,100论坛也会奉上感谢提供新的思路  详情 回复 发表于 昨天 16:02

评分

参与人数 1无忧币 +5 收起 理由
2012ccxbox + 5

查看全部评分

回复

使用道具 举报

22#
发表于 昨天 12:50 | 只看该作者
来看一下
回复

使用道具 举报

23#
发表于 昨天 13:18 | 只看该作者
全是高手
回复

使用道具 举报

24#
发表于 昨天 13:47 | 只看该作者
论坛里面有,搜索下看看
回复

使用道具 举报

25#
发表于 昨天 13:58 | 只看该作者
等高手出作品!
回复

使用道具 举报

26#
发表于 昨天 14:29 | 只看该作者
学习一下
回复

使用道具 举报

27#
发表于 昨天 15:21 | 只看该作者
你所说的静默安装是完全看不到安装界面还是仅仅自动化操作?
  1. #Region ;**** 由 AutoIt3Wrapper_GUI 编译参数创建 ****
  2. #AutoIt3Wrapper_Icon=
  3. #AutoIt3Wrapper_Outfile=搜狗输入法自动安装.exe
  4. #AutoIt3Wrapper_Compression=4
  5. #AutoIt3Wrapper_UseUpx=y
  6. #AutoIt3Wrapper_Change2CUI=y
  7. #AutoIt3Wrapper_Run_AU3Check=n
  8. #EndRegion ;**** 由 AutoIt3Wrapper_GUI 编译参数创建 ****

  9. Opt("TrayIconHide", 1) ; 隐藏托盘图标
  10. Opt("WinTitleMatchMode", 2) ; 窗口标题部分匹配
  11. Opt("MouseClickDelay", 5) ; 减少鼠标点击延迟
  12. Opt("SendKeyDelay", 2) ; 减少按键延迟

  13. ; 主安装程序文件名
  14. Global $sSetupExe = "搜狗输入法v12.5.0.6558去广告精简优化版.exe"

  15. ; 气泡提示函数
  16. Func _ShowBubbleTip($sMessage)
  17.     ToolTip($sMessage, @DesktopWidth/2, 10, "搜狗输入法自动安装", 1, 1)
  18. EndFunc

  19. Func _ClearBubbleTip()
  20.     ToolTip("")
  21. EndFunc

  22. ; 等待特定控件出现
  23. Func _WaitForControl($hWnd, $sControlID, $iTimeout = 10)
  24.     Local $iStart = TimerInit()
  25.    
  26.     While TimerDiff($iStart) < $iTimeout * 1000
  27.         Local $hControl = ControlGetHandle($hWnd, "", $sControlID)
  28.         If $hControl Then
  29.             Return True
  30.         EndIf
  31.         Sleep(50)
  32.     WEnd
  33.    
  34.     Return False
  35. EndFunc

  36. ; 等待控件文本出现
  37. Func _WaitForControlText($hWnd, $sControlID, $sText, $iTimeout = 10)
  38.     Local $iStart = TimerInit()
  39.    
  40.     While TimerDiff($iStart) < $iTimeout * 1000
  41.         Local $hControl = ControlGetHandle($hWnd, "", $sControlID)
  42.         If $hControl Then
  43.             Local $sControlText = ControlGetText($hWnd, "", $sControlID)
  44.             If StringInStr($sControlText, $sText) Then
  45.                 Return True
  46.             EndIf
  47.         EndIf
  48.         Sleep(50)
  49.     WEnd
  50.    
  51.     Return False
  52. EndFunc

  53. ; 快速点击函数
  54. Func _QuickClick($hWnd, $sControlID)
  55.     Local $hControl = ControlGetHandle($hWnd, "", $sControlID)
  56.     If $hControl Then
  57.         ControlClick($hWnd, "", $sControlID)
  58.         Return True
  59.     EndIf
  60.     Return False
  61. EndFunc

  62. ; 处理已安装版本提示
  63. Func _HandleAlreadyInstalled()
  64.     Local $hWindow = WinWait("搜狗输入法", "系统里已经安装了相同的版本", 2)
  65.    
  66.     If $hWindow Then
  67.         _ShowBubbleTip("检测到已安装版本,点击是继续...")
  68.         WinActivate($hWindow)
  69.         Sleep(50)
  70.         
  71.         ; 使用多种方式点击"是"按钮
  72.         For $i = 1 To 3
  73.             ControlClick($hWindow, "", "[CLASS:Button; INSTANCE:1]")
  74.             Sleep(20)
  75.             ControlSend($hWindow, "", "", "{ENTER}")
  76.             Sleep(20)
  77.             
  78.             If Not WinExists($hWindow) Then
  79.                 ExitLoop
  80.             EndIf
  81.         Next
  82.         
  83.         ; 等待窗口关闭
  84.         Local $iWait = 0
  85.         While WinExists($hWindow) And $iWait < 5
  86.             Sleep(50)
  87.             $iWait += 1
  88.         WEnd
  89.         
  90.         Return True
  91.     EndIf
  92.    
  93.     Return False
  94. EndFunc

  95. ; 主要安装流程
  96. _ShowBubbleTip("启动安装程序...")

  97. ; 检查安装程序是否存在
  98. If Not FileExists($sSetupExe) Then
  99.     _ShowBubbleTip("错误: 未找到安装程序")
  100.     Sleep(1500)
  101.     _ClearBubbleTip()
  102.     Exit 1
  103. EndIf

  104. ; 运行安装程序
  105. Local $iPID = Run($sSetupExe)
  106. If $iPID = 0 Then
  107.     _ShowBubbleTip("错误: 无法启动安装程序")
  108.     Sleep(1500)
  109.     _ClearBubbleTip()
  110.     Exit 1
  111. EndIf

  112. Sleep(100) ; 短暂等待让安装程序启动

  113. ; 步骤0: 处理已安装版本提示
  114. _HandleAlreadyInstalled()

  115. ; 步骤1: 等待主安装窗口
  116. Local $hMainWindow = WinWait("搜狗输入法 安装", "", 5)
  117. If Not $hMainWindow Then
  118.     _ShowBubbleTip("错误: 未找到安装窗口")
  119.     Sleep(1500)
  120.     _ClearBubbleTip()
  121.     Exit 1
  122. EndIf

  123. _ShowBubbleTip("开始安装流程...")
  124. WinActivate($hMainWindow)
  125. Sleep(50)

  126. ; 步骤2: 点击第一个下一步
  127. _ShowBubbleTip("点击下一步...")
  128. _QuickClick($hMainWindow, "[ID:1]")
  129. Sleep(80)

  130. ; 步骤3: 检查并处理组件选择界面
  131. _ShowBubbleTip("检查组件选项...")
  132. If _WaitForControl($hMainWindow, "SysTreeView321", 2) Then
  133.     ; 组件选择界面存在,勾选第三项
  134.     ControlFocus($hMainWindow, "", "SysTreeView321")
  135.     Sleep(300)
  136.    
  137.     ControlTreeView($hMainWindow, "", "SysTreeView321", "Select", "#2")
  138.     Sleep(300)
  139.    
  140.     ControlSend($hMainWindow, "", "SysTreeView321", "{SPACE}")
  141.     Sleep(500)
  142.    
  143.     _ShowBubbleTip("继续下一步...")
  144.     _QuickClick($hMainWindow, "[ID:1]")
  145.     Sleep(80)
  146. EndIf

  147. ; 步骤4: 点击安装按钮
  148. _ShowBubbleTip("开始安装...")
  149. _QuickClick($hMainWindow, "[ID:1]")
  150. Sleep(80)

  151. ; 步骤5: 等待安装完成
  152. _ShowBubbleTip("正在安装...")

  153. ; 等待完成界面出现 - 等待"完成"按钮出现
  154. Local $bInstallComplete = False
  155. Local $iTimeout = 0

  156. While Not $bInstallComplete And $iTimeout < 60  ; 最多等待60秒
  157.     ; 检查窗口是否仍然存在
  158.     If Not WinExists($hMainWindow) Then
  159.         ; 窗口已关闭,可能安装已完成
  160.         _ShowBubbleTip("安装窗口已关闭,安装可能已完成")
  161.         $bInstallComplete = True
  162.         ExitLoop
  163.     EndIf
  164.    
  165.     ; 检查是否出现"完成"按钮
  166.     If _WaitForControlText($hMainWindow, "[ID:1]", "完成", 1) Then
  167.         _ShowBubbleTip("检测到完成按钮")
  168.         $bInstallComplete = True
  169.         ExitLoop
  170.     EndIf
  171.    
  172.     Sleep(500)
  173.     $iTimeout += 1
  174.    
  175.     ; 每5秒更新一次提示
  176.     If Mod($iTimeout, 10) = 0 Then
  177.         _ShowBubbleTip("正在安装... 已等待 " & $iTimeout/2 & " 秒")
  178.     EndIf
  179. WEnd

  180. _ClearBubbleTip()

  181. ; 步骤6: 处理安装完成界面
  182. If WinExists($hMainWindow) Then
  183.     ; 确保窗口激活
  184.     WinActivate($hMainWindow)
  185.     Sleep(100)
  186.    
  187.     _ShowBubbleTip("正在处理安装完成选项...")
  188.    
  189.     ; 首先等待并选择"不重启"选项
  190.     If _WaitForControl($hMainWindow, "[ID:1204]", 5) Then
  191.         _ShowBubbleTip("选择不重启选项...")
  192.         
  193.         ; 等待更长时间确保控件完全加载
  194.         Sleep(300)
  195.         
  196.         ; 点击不重启选项
  197.         For $i = 1 To 3
  198.             _QuickClick($hMainWindow, "[ID:1204]")
  199.             Sleep(100)
  200.             
  201.             ; 同时尝试文本点击
  202.             ControlClick($hMainWindow, "否,我会在之后重新启动(&N)", "[TEXT:否,我会在之后重新启动(&N)]")
  203.             Sleep(100)
  204.             
  205.             ; 尝试Button5
  206.             ControlClick($hMainWindow, "", "Button5")
  207.             Sleep(100)
  208.             
  209.             ; 等待选项生效
  210.             Sleep(200)
  211.         Next
  212.         
  213.         _ShowBubbleTip("不重启选项已选择")
  214.     EndIf
  215.    
  216.     ; 等待完成按钮完全出现
  217.     If _WaitForControlText($hMainWindow, "[ID:1]", "完成", 5) Then
  218.         _ShowBubbleTip("点击完成按钮...")
  219.         
  220.         ; 等待确保完成按钮可用
  221.         Sleep(300)
  222.         
  223.         ; 点击完成按钮
  224.         For $i = 1 To 3
  225.             _QuickClick($hMainWindow, "[ID:1]")
  226.             Sleep(100)
  227.             
  228.             ; 同时尝试文本点击
  229.             ControlClick($hMainWindow, "完成(&F)", "[TEXT:完成(&F)]")
  230.             Sleep(100)
  231.             
  232.             ; 尝试Button2
  233.             ControlClick($hMainWindow, "", "Button2")
  234.             Sleep(100)
  235.             
  236.             ; 检查窗口是否已关闭
  237.             If Not WinExists($hMainWindow) Then
  238.                 ExitLoop
  239.             EndIf
  240.         Next
  241.         
  242.         ; 如果窗口还在,尝试坐标点击
  243.         If WinExists($hMainWindow) Then
  244.             _ShowBubbleTip("使用坐标点击完成按钮...")
  245.             Local $aPos = WinGetPos($hMainWindow)
  246.             If IsArray($aPos) Then
  247.                 ; 根据您提供的坐标: 位置324,302 和 ControlClick坐标40,12
  248.                 Local $iClickX = $aPos[0] + 324 + 40
  249.                 Local $iClickY = $aPos[1] + 302 + 12
  250.                 MouseClick("left", $iClickX, $iClickY, 1, 0)
  251.                 Sleep(200)
  252.             EndIf
  253.         EndIf
  254.     EndIf
  255.    
  256.     ; 等待窗口关闭
  257.     Local $iCloseTimeout = 0
  258.     While WinExists($hMainWindow) And $iCloseTimeout < 10
  259.         _QuickClick($hMainWindow, "[ID:1]")
  260.         Sleep(200)
  261.         $iCloseTimeout += 1
  262.     WEnd
  263.    
  264.     If WinExists($hMainWindow) Then
  265.         _ShowBubbleTip("警告: 安装窗口仍未关闭")
  266.         Sleep(1000)
  267.     EndIf
  268. EndIf

  269. _ClearBubbleTip()

  270. ; 安装完成提示
  271. _ShowBubbleTip("搜狗输入法安装完成!")
  272. Sleep(800)
  273. _ClearBubbleTip()

  274. Exit 0
复制代码

点评

其实也还好,控件点击比坐标点击靠谱的多,窗口非激活状态应该也是能点到的。当然如果有大神直接给出静默包是最好了,期待。  详情 回复 发表于 昨天 16:05

评分

参与人数 1无忧币 +5 收起 理由
2012ccxbox + 5 有界面的话安装的时候如果鼠标键盘动了 会.

查看全部评分

回复

使用道具 举报

28#
 楼主| 发表于 昨天 16:02 | 只看该作者
nttwqz 发表于 2025-12-21 12:12
NSIS源码在此,其它文件自行从原安装包中提取。


即使不是最佳答案,100论坛也会奉上感谢提供新的思路
回复

使用道具 举报

29#
发表于 昨天 16:05 | 只看该作者
qq362817567 发表于 2025-12-21 15:21
你所说的静默安装是完全看不到安装界面还是仅仅自动化操作?

其实也还好,控件点击比坐标点击靠谱的多,窗口非激活状态应该也是能点到的。当然如果有大神直接给出静默包是最好了,期待。
回复

使用道具 举报

30#
发表于 昨天 16:15 | 只看该作者
qq362817567 发表于 2025-12-21 15:21
你所说的静默安装是完全看不到安装界面还是仅仅自动化操作?

这是个大神~
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2025-12-22 16:56

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表