Google
      
 66 12345
发新话题
打印

让所有人拥有自己的封装工具(开源)

本主题由 redapple 于 2007-9-30 12:28 加入精华

让所有人拥有自己的封装工具(开源)

现在的封装工具越来越多,但是为了本论坛的发展。设想我们共同创建自己论坛的封装工具。
希望大家共同参与,共同制作。谢谢大家。
将想要加入的功能,想完善的功能,反馈一下,然后将解决的思路/工具或源码贴上,不要一味的顶啊顶的!
思路给出,代码已经写了一半。还有一部就要靠大家了。!
回复代码帖:有奖励。
回复相关软件帖:有奖励。
暂定界面:
附件: 您所在的用户组无法下载或查看附件
好不容易忙完,现在总算有点时间了。不能及时回答大家的问题,还请大家多多包函。
勇于思考,敢于行动,不逃避问题。
业务联系:dvd制作,各种系统、软件光盘定制,平面广告设计、3D设计,电脑专业维修,网络组建,MTV个人像册、视频处理!
电话:15820835149

TOP

强烈支持!顶一个,希望有能力的出力,没能力的支持下!

TOP

界面代码如下:
#Region ;**** 参数创建于 AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_icon=D:\图标\VISTA的DLL图标.DLL_17.ico
#AutoIt3Wrapper_UseAnsi=y
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#include <GUIConstants.au3>
#NoTrayIcon
#Region ### START Koda GUI section ### Form=d:\personal\my documents\form1.kxf\form1.kxf
$Form1_1 = GUICreate("红苹果工作室会员参与封装工具", 425, 559, -1, -1)
$Pic1 = GUICtrlCreatePic("logo.jpg", 0, 0, 423, 100, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
$Tab1 = GUICtrlCreateTab(8, 112, 410, 409)
GUICtrlSetResizing(-1, $GUI_DOCKWIDTH+$GUI_DOCKHEIGHT)
$TabSheet1 = GUICtrlCreateTabItem("主要封装选项")
$Group1 = GUICtrlCreateGroup("主要的封装选项", 16, 136, 385, 377)
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFF0000)
$Group3 = GUICtrlCreateGroup("主封装选项", 24, 160, 369, 145)
$Checkbox1 = GUICtrlCreateCheckbox("显示Sysprep窗口,手动选择封装选项", 56, 192, 313, 17)
$Checkbox2 = GUICtrlCreateCheckbox("更改Hal(电源模式)为Standard PC", 57, 225, 281, 17)
$Checkbox3 = GUICtrlCreateCheckbox("更改IDE控制器为标准IDE控制器", 57, 257, 265, 17)
$Checkbox4 = GUICtrlCreateCheckbox("自动卸载所有设备驱动", 57, 281, 233, 17)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group4 = GUICtrlCreateGroup("附加选项", 24, 325, 369, 177)
$Checkbox5 = GUICtrlCreateCheckbox("去除个人设置对话框", 32, 349, 169, 17)
$Checkbox6 = GUICtrlCreateCheckbox("集成DllcacheManager", 33, 382, 177, 17)
$Checkbox7 = GUICtrlCreateCheckbox("删除Media Player快捷方式", 33, 414, 185, 17)
$Checkbox8 = GUICtrlCreateCheckbox("桌面上显示宽带连接", 33, 438, 177, 17)
$Checkbox9 = GUICtrlCreateCheckbox("集成驱动程序验证", 209, 385, 169, 17)
$Checkbox10 = GUICtrlCreateCheckbox("不提示搜索驱动", 208, 352, 177, 17)
$Checkbox11 = GUICtrlCreateCheckbox("清理系统临时文件", 209, 417, 185, 17)
$Checkbox12 = GUICtrlCreateCheckbox("清理系统垃圾文件", 209, 441, 177, 17)
$Input1 = GUICtrlCreateInput("请选择安装时的分辨率", 40, 472, 137, 24)
$Input2 = GUICtrlCreateInput("请输入注册表优化", 219, 472, 121, 24)
$Button20 = GUICtrlCreateButton("...", 344, 472, 41, 17, 0)
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$TabSheet2 = GUICtrlCreateTabItem("驱动选择配制")
$Group2 = GUICtrlCreateGroup("配制文件的写入", 24, 176, 377, 321)
$Label1 = GUICtrlCreateLabel("驱动解压内部LOGO的路径", 32, 432, 142, 17)
$Input3 = GUICtrlCreateInput("Input3", 192, 428, 137, 21)
$Button6 = GUICtrlCreateButton("...", 336, 432, 49, 17, 0)
$Group5 = GUICtrlCreateGroup("台式电脑驱动", 32, 200, 353, 97)
$Checkbox14 = GUICtrlCreateCheckbox("主板芯片组", 40, 225, 89, 17)
$Checkbox15 = GUICtrlCreateCheckbox("声卡驱动", 41, 261, 81, 17)
$Checkbox16 = GUICtrlCreateCheckbox("显卡驱动", 163, 225, 89, 17)
$Checkbox17 = GUICtrlCreateCheckbox("网卡驱动", 164, 261, 81, 17)
$Checkbox18 = GUICtrlCreateCheckbox("集成显卡驱动", 285, 225, 89, 17)
$Checkbox19 = GUICtrlCreateCheckbox("摄像头驱动", 286, 261, 81, 17)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group6 = GUICtrlCreateGroup("笔记本电脑驱动", 32, 312, 361, 57)
$Checkbox20 = GUICtrlCreateCheckbox("调制解调器", 291, 337, 81, 17)
$Checkbox21 = GUICtrlCreateCheckbox("无线网卡", 169, 337, 81, 17)
$Checkbox22 = GUICtrlCreateCheckbox("设备驱动", 46, 337, 81, 17)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Button7 = GUICtrlCreateButton("...", 336, 401, 49, 17, 0)
$Input4 = GUICtrlCreateInput("Input3", 192, 397, 137, 21)
$Label2 = GUICtrlCreateLabel("驱动解压程序时背景图片", 32, 401, 136, 17)
$Button8 = GUICtrlCreateButton("...", 338, 463, 49, 17, 0)
$Input5 = GUICtrlCreateInput("Input3", 194, 459, 137, 21)
$Label3 = GUICtrlCreateLabel("请输入驱动文件解压的路径", 34, 463, 148, 17)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Checkbox13 = GUICtrlCreateCheckbox("是否启用驱动选择解压扩展接口", 32, 152, 257, 17)
GUICtrlCreateTabItem("")
$Button1 = GUICtrlCreateButton("设备管理器", 8, 524, 73, 25, 0)
$Button2 = GUICtrlCreateButton("区域语言", 94, 524, 73, 25, 0)
$Button3 = GUICtrlCreateButton("系统属性", 180, 524, 73, 25, 0)
$Button4 = GUICtrlCreateButton("检查", 275, 524, 60, 25, 0)
$Button5 = GUICtrlCreateButton("封装", 350, 524, 60, 25, 0)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
附件: 您所在的用户组无法下载或查看附件
好不容易忙完,现在总算有点时间了。不能及时回答大家的问题,还请大家多多包函。
勇于思考,敢于行动,不逃避问题。
业务联系:dvd制作,各种系统、软件光盘定制,平面广告设计、3D设计,电脑专业维修,网络组建,MTV个人像册、视频处理!
电话:15820835149

TOP

我第一个支持,这样的行动!!
琢磨就是专家

TOP

看起来很不错,我也要参加一份,帮忙测试之类的,呵呵

TOP

不错要顶!!!

TOP

我来支持一下..大家辛苦啦..
天天向上

TOP

更改IDE控制器为标准双通道

我先帖一段代码:
Dim $Class,$Dev,$KeyValue,$i,$j,$Line,$LineNum,$LineNum2,$Line2,$Len,$Str1,$Str2,$FileHandle,$FileHandle2
;主键,该主键下有若干子键
$Class="HKLM\SYSTEM\CurrentControlSet\Control\Class\{4D36E96A-E325-11CE-BFC1-08002BE10318}\"
;几个计数用的整数
$i=1
$j=1
;文件行号
$LineNum=1
$LineNum2=1
;Windows文件夹下或者Windows\System32文件夹下是否有devcon.exe,若没有则退出程序
If Not (FileExists(@WindowsDir&"\devcon.exe") Or FileExists(@WindowsDir&"\system32\devcon.exe")) Then Exit
;Windows\Inf文件夹下是否有mshdc.inf,若有则将mshdc.inf备份为mshdc.inf.bak,否则退出程序
If FileExists(@WindowsDir&"\inf\mshdc.inf") Then
  FileMove(@WindowsDir&"\inf\mshdc.inf",@WindowsDir&"\inf\mshdc.inf.bak",1)
Else
  Exit
EndIf
;初始条件满足,准备开始更改IDE控制器
While(1)
  ;读取主键下的子键,
  $Dev=RegEnumKey($Class,$i)
  ;若所有子键读取完毕,则退出程序
  If @error=-1 Then
    ExitLoop
  EndIf
  ;读取该子键下MatchingDeviceId的键值,该键值对应着当前IDE控制器,并把此IDE控制器的名称存入$KeyValue中
  $KeyValue=RegRead($Class&$Dev,"MatchingDeviceId")
  ;如果该键值为pci\cc_0101,即IDE控制器已为标准双通道PCI IDE控制器,则无需执行修改,反之则准备开始修改
  If $KeyValue<>"pci\cc_0101" Then
    While(1)
        ;以读取模式打开Windows\Inf\mshdc.inf.bak文件
        $FileHandle=FileOpen(@WindowsDir&"\inf\mshdc.inf.bak",0)
        ;读取第$LineNum行,并保存到$Line
        $Line=FileReadLine(@WindowsDir&"\inf\mshdc.inf.bak",$LineNum)
        ;文件若读取完毕则关闭文件并退出循环,文件若未读取完毕则只关闭文件
        If @error=-1 Then
          FileClose($FileHandle)           
          ExitLoop
        Else
          FileClose($FileHandle)
        EndIf
        ;$KeyValue中IDE控制器的名称的长度
        $Len=StringLen($KeyValue)
        ;读取$Line中第2到$Len个字符,并保存在$Str1中
        $Str1=StringMid($Line,2,$Len)   
        ;MsgBox(1,"test",$Str1&"   "&$KeyValue)
        ;$Line这行中包含$KeyValue中IDE控制器的名称,并在正确的位置上,则开始修改$Line这行的内容
        if $Str1=$KeyValue Then
          ;记录$Line这行中=所在的位置
          While(1   )
            If StringMid($Line,$j,1)="=" Then
                ;MsgBox(1,"test",StringMid($Line,$j,1))
                ExitLoop   
            Else
                ;MsgBox(1,"test",StringMid($Line,$j,1))
                $j=$j+1
            EndIf
          WEnd
          ;Msgbox(1,"test","While done !")
          ;修改这行为$KeyValue中IDE控制器的名称 加 = PCI\CC_0101 的组合
          $Str2=StringMid($Line,1,$j)
          $Str2=$Str2&"pciide_Inst,,PCI\CC_0101"
          ;MsgBox(1,"test",$Str2)
          ;以读取模式打开Windows\Inf\mshdc.inf.bak文件
          $FileHandle=FileOpen(@WindowsDir&"\inf\mshdc.inf.bak",0)
          ;以写入模式打开Windows\Inf\mshdc.inf文件
          $FileHandle2=FileOpen(@WindowsDir&"\inf\mshdc.inf",2)
          ;读取Windows\inf\mshdc.inf.bak,创建Windows\inf\mshdc.inf,用刚修改的那一行替换原有的那一行
          While(1)
            $Line2=FileReadLine(@WindowsDir&"\inf\mshdc.inf.bak",$LineNum2)
            ;MsgBox(1,"test",$LineNum&" "&$LineNum2&" "&$Line2)
            If @error=-1 Then ExitLoop
            If $LineNum2=$LineNum Then
                FileWriteLine(@WindowsDir&"\inf\mshdc.inf",$Str2)
            Else
                FileWriteLine(@WindowsDir&"\inf\mshdc.inf",$Line2)
            EndIf
            $LineNum2=$LineNum2+1
          WEnd
          ;关闭文件
          FileClose($FileHandle)
          FileClose($FileHandle2)
          ;MsgBox(1,"test","mshdc.inf is creat successful")
          ;使用devcon来更新当前IDE控制器,由于当前IDE控制器的驱动以被更改了指向,指向标准双通道PCI IDE控制器的驱动,
          ;所以在更新当前IDE控制器驱动时,会寻找标准双通道PCI IDE控制器的驱动来替代当前的IDE控制器驱动
          ;MsgBox(1,"test","cmd /c devcon update "&@WindowsDir&"\inf\mshdc.inf "&""""&$KeyValue&"""")
          Runwait("cmd /c devcon update "&@WindowsDir&"\inf\mshdc.inf "&""""&$KeyValue&"""","",@SW_HIDE)
          ;变更驱动完毕,退出本次本IDE控制器的驱动变更,继续查找并更改剩余的IDE控制器
          $LineNum=1
          ExitLoop
        EndIf
        $LineNum=$LineNum+1
    WEnd
  EndIf
  $i=$i+1
WEnd
;所有IDE控制器修改完毕,替换开始备份的原始的mshdc.inf.bak到当前的mshdc.inf
;Windows\Inf文件夹下是否有mshdc.inf.bak,则替换回去,没有则不替换
If FileExists(@WindowsDir&"\inf\mshdc.inf.bak") Then
  FileMove(@WindowsDir&"\inf\mshdc.inf.bak",@WindowsDir&"\inf\mshdc.inf",1)
Else
  Exit
EndIf
好不容易忙完,现在总算有点时间了。不能及时回答大家的问题,还请大家多多包函。
勇于思考,敢于行动,不逃避问题。
业务联系:dvd制作,各种系统、软件光盘定制,平面广告设计、3D设计,电脑专业维修,网络组建,MTV个人像册、视频处理!
电话:15820835149

TOP

更改电源模式源码及程序

;更改Standard PC需要Windows\Inf\hal.inf文件,若这个文件存在则执行本程序
If FileExists(@WindowsDir&"\inf\hal.inf") Then
        ;提升Standard PC电源管理的搜寻优先级,降低其他的
    Runwait("devcon sethwid @ROOT\ACPI_HAL\0000 := +E_ISA_UP !ACPIPIC_UP !ACPIAPIC_UP !ACPIAPIC_MP !MPS_UP !MPS_MP","",@SW_HIDE)
        ;搜寻电源管理并更新,由于Standard PC的优先级已被提升,所以这个会首先被搜寻到
    Runwait("devcon update "&@windowsdir&"\inf\hal.inf E_ISA_UP","",@SW_HIDE)
EndIf

[ 本帖最后由 tti 于 2007-9-16 11:03 编辑 ]
附件: 您所在的用户组无法下载或查看附件
本帖最近评分记录
  • redapple 金钱 +2 我很赞同 2007-9-16 11:05
  • redapple 贡献 +1 我很赞同 2007-9-16 11:05
琢磨就是专家

TOP

自动卸载设备驱动的源码及程序

Dim $Class,$Cls,$Device,$DeviceID,$DeviceName,$FileHandle,$i,$j,$k,$NoUnloadClass[5],$Flag,$LastDeviceID
$Class="HKLM\SYSTEM\CurrentControlSet\Control\Class\"
$FileHandle=FileOpen("Device.esp",2)
$i=1
$NoUnloadClass[0]="{4D36E966-E325-11CE-BFC1-08002BE10318}"
$NoUnloadClass[1]="{4D36E96A-E325-11CE-BFC1-08002BE10318}"
$NoUnloadClass[2]="{4D36E96B-E325-11CE-BFC1-08002BE10318}"
$NoUnloadClass[3]="{4D36E96F-E325-11CE-BFC1-08002BE10318}"
$NoUnloadClass[4]="{4D36E97D-E325-11CE-BFC1-08002BE10318}"
$LastDeviceID="Skyfree"
While(1)
  $Cls=RegEnumKey($Class,$i)
  If @error=-1 Then ExitLoop
  $k=0
  $Flag=0
  While($k<5)
    If $Cls=$NoUnloadClass[$k] Then
        $Flag=1
        ExitLoop
    EndIf
    $k=$k+1
  WEnd
  If $Flag=0 Then
    $Cls=$Class&$Cls
    $Flag=0
    $j=1
    While(1)
        $Device=RegEnumKey($Cls,$j)
        If @error=-1 Then ExitLoop
        $Device=$Cls&"\"&$Device
        $DeviceID=RegRead($Device,"MatchingDeviceId")
        If $DeviceID<>$LastDeviceID And $DeviceID<>"" Then
          FileWriteLine("Device.esp",$DeviceID)
          $LastDeviceID=$DeviceID
        EndIf
        $j=$j+1
    WEnd
  EndIf
  $i=$i+1  
WEnd
FileClose($FileHandle)
$FileHandle=FileOpen("Device.esp",0)
$i=1
While(1)
  $DeviceID=FileReadLine("Device.esp",$i)
  If @error=-1 Then ExitLoop
  RunWait("cmd /c devcon remove "&$DeviceID,"",@SW_HIDE)
  $i=$i+1
WEnd
FileClose($FileHandle)
FileDelete("Device.esp")

[ 本帖最后由 tti 于 2007-9-16 11:08 编辑 ]
附件: 您所在的用户组无法下载或查看附件
本帖最近评分记录
  • redapple 威望 +2 我很赞同 2007-9-16 11:11
  • redapple 贡献 +1 我很赞同 2007-9-16 11:11
琢磨就是专家

TOP

像系统快速工具一样(http://redapple2008.5d6d.com/thread-207-1-1.html),不过最好加多几个功能,在系统安装好后,第一次进入就弹出这个设置软件出来,意见如下:
1.在共享设置中加入,开通局域网共享要密码,可以自己设置密码.
2.在共享设置中加入打开/关闭磁盘共享
3.加入驱动删除询问,如果您确信已装好了所有的驱动,可以把集成的驱动删除.该目录位于C:\WINDOWS\drivers,您是想保留还是删除?
4.加个优化选项.自己可以点优化就完成了
5.加可以修改OEM信息,什么都可以自己先设置后的,默认修改成自己的.
6.其它设置中,加入可以自己选择清除启动项目.加入光盘自动运行选择.
7.加入XP美化选项.自己可以点美化就完成了
是加入XP主题,可以自由更改,也就是说可以自己指定文件或其它的!
8.加入打开/关闭系统还原功能
9.加入驱动解压缩工具

谢谢你的建议,这只是一个附助工具。到时候考虑加进去。
本帖最近评分记录
  • redapple 金钱 +2 我很赞同 2007-9-16 11:22

TOP

显示Sysprep窗口,手动选择封装选项 源码

;显示Sysprep窗口,手动选择封装选项。       
If FileExists("c:\sysprep\sysprep.exe") Then
                RunWait("c:\sysprep\sysprep.exe","",@SW_MAXIMIZE)
        Else
                MsgBox(0,"Sysprep","请确认sysprep.exe是否存在!!")
        EndIf
本帖最近评分记录
  • redapple 金钱 +2 我很赞同,谢谢你的参与。 2007-9-16 11:49
  • redapple 贡献 +2 我很赞同,谢谢你的参与。 2007-9-16 11:49
琢磨就是专家

TOP

支持开源,精神可嘉!!!

TOP

谢谢

这些都对我有用.

TOP

清除系统临时文件 源码

;清除系统临时文件
$Fi=FileOpen(@ScriptDir&"\cl.bat",2)
FileWriteLine($Fi,'del /s /q "%USERPROFILE%\Local Settings\Temporary Internet Files\*.*"')
FileWriteLine($Fi,'del /s /q "%USERPROFILE%\Local Settings\Temp\*.*"')
FileClose($Fi)
RunWait(@ScriptDir&"\cl.bat","",@SW_HIDE)
FileDelete(@ScriptDir&"\cl.bat")
本帖最近评分记录
  • redapple 贡献 +1 我很赞同,辛苦了。 2007-9-16 13:35
琢磨就是专家

TOP

 66 12345
发新话题