找回密码  加入

AUTOIT CN

搜索
查看: 123706|回复: 192

[插件] 用USkin.dll调用皮肤(镶入式)【案例+源码+皮肤+DLL】

[复制链接]
发表于 2009-12-16 13:01:34 | 显示全部楼层 |阅读模式
本帖最后由 guland 于 2012-3-1 12:38 编辑

不说废话,直接来张图


因为论坛设置了下载需要买单,所以我这里就不收费了哈,现在网络上面免费的资源越来越少,看看发布后的效果吧,如果支持的多,我陆续弄多点自己学到的,案例上来。

这里使用的皮肤不是u3的格式的,是直接在网上下载的windows主题msstyles后缀的主题文件。
也就是说不是限制死了只能用我这里这个皮肤文件,只要去下载msstyles后缀的主题文件就可以了,比如Skin.msstyles的文件。


下面是文件的源码,给大家省一个下载的费用了。
  1. #Region ;**** 参数创建于 ACNWrapper_GUI ****
  2. #AutoIt3Wrapper_icon=..\..\..\..\我的文档\AutoIT资料\ico\2636\水晶系统桌面图标下载42.ico
  3. #AutoIt3Wrapper_UseUpx=n
  4. #AutoIt3Wrapper_Res_Comment=夏天设计
  5. #AutoIt3Wrapper_Res_Description=夏天设计
  6. #AutoIt3Wrapper_Res_Fileversion=0.0.0.2
  7. #AutoIt3Wrapper_Res_Fileversion_AutoIncrement=y
  8. #AutoIt3Wrapper_Res_LegalCopyright=夏天设计
  9. #AutoIt3Wrapper_Res_SaveSource=y
  10. #AutoIt3Wrapper_Res_Field=设计|夏天
  11. #AutoIt3Wrapper_Res_Field=QQ|173863882
  12. #EndRegion ;**** 参数创建于 ACNWrapper_GUI ****
  13. #include <ButtonConstants.au3>
  14. #include <ComboConstants.au3>
  15. #include <DateTimeConstants.au3>
  16. #include <EditConstants.au3>
  17. #include <GUIConstantsEx.au3>
  18. #include <GUIListBox.au3>
  19. #include <ListViewConstants.au3>
  20. #include <ProgressConstants.au3>
  21. #include <SliderConstants.au3>
  22. #include <StaticConstants.au3>
  23. #include <TabConstants.au3>
  24. #include <TreeViewConstants.au3>
  25. #include <WindowsConstants.au3>
  26. Opt("TrayMenuMode", 1) ;这里是设置任务栏图标的菜单,AU3默认的是点击后暂停脚本,使用这个后将取消默认值,值保留现在脚本里面的菜单和操作

  27. ;;;皮肤贼如代码-------从这里开始-----------------------------------------------////
  28. FileInstall("USkin.dll", @TempDir & "\USkin.Dll")        ;这里是将脚本目录里面的Uskin.dll镶入到EXE文件里面,当EXE文件运行的时候自动将文件放置临时目录【@TempDir】里面运行。
  29. FileInstall("Skin.msstyles", @TempDir & "\Skin.msstyles")        ;这里是将脚本目录里面的【Skins\Skin.msstyles】文件镶入到EXE文件里面,当EXE文件运行的时候自动将文件放置临时目录【@TempDir】里面运行。
  30. $skins = @TempDir & "\Skin.msstyles"                ;这里设定【$skins】为皮肤路径
  31. $Dll_ = DllOpen(@TempDir & "\USkin.dll")                ;这里设定【$Dll_】为皮肤调用文件【USkin.dll】的路径
  32. DllCall($Dll_, "int", "USkinInit", "str", "Null", "str", "NULL", "str", $skins)        ;载入皮肤到DLL返回值
  33. DllCall($Dll_, "int", "USkinLoadSkin", "str", $skins)        ;启用皮肤
  34. ;;;皮肤贼如代码-------到这里结束-----------------------------------------------////

  35. #Region ### START Koda GUI section ### Form=g:\编程\autoit 案例教程\皮肤相关\镶入式\form_skin_install.kxf
  36. $Form_Skin_Install = GUICreate("界面皮肤(镶入式) - 夏天制作", 801, 601, 192, 124)
  37. $MenuItem1 = GUICtrlCreateMenu(" &MenuItem1 ")
  38. $MenuItem4 = GUICtrlCreateMenuItem("MenuItem4", $MenuItem1)
  39. $MenuItem5 = GUICtrlCreateMenuItem("", $MenuItem1)
  40. $MenuItem6 = GUICtrlCreateMenuItem("退出案例", $MenuItem1)
  41. $MenuItem2 = GUICtrlCreateMenu(" M&enuItem2 ")
  42. $MenuItem7 = GUICtrlCreateMenuItem("MenuItem7", $MenuItem2)
  43. $MenuItem8 = GUICtrlCreateMenuItem("MenuItem8", $MenuItem2)
  44. $MenuItem9 = GUICtrlCreateMenuItem("MenuItem9", $MenuItem2)
  45. $MenuItem3 = GUICtrlCreateMenu(" Me&nuItem3 ")
  46. $MenuItem10 = GUICtrlCreateMenuItem("MenuItem10", $MenuItem3)
  47. GUISetIcon("G:\我的文档\AutoIT资料\ico\2636\水晶系统桌面图标下载42.ico")
  48. $Label1 = GUICtrlCreateLabel("本案例由夏天(awingu)提供。", 8, 8, 786, 17, $SS_CENTER)
  49. $Input1 = GUICtrlCreateInput("Input1", 8, 48, 121, 21)
  50. $Edit1 = GUICtrlCreateEdit("", 8, 88, 313, 97)
  51. GUICtrlSetData(-1, "Edit1")
  52. $Button1 = GUICtrlCreateButton("Button1", 136, 48, 75, 25)
  53. $Checkbox1 = GUICtrlCreateCheckbox("Checkbox1", 232, 48, 81, 17)
  54. $Radio1 = GUICtrlCreateRadio("Radio1", 344, 48, 57, 17)
  55. $List1 = GUICtrlCreateList("", 344, 88, 121, 97)
  56. GUICtrlSetData(-1, "第1行的内容|第2行的内容|第3行的内容|第4行的内容|第5行的内容")
  57. $Combo1 = GUICtrlCreateCombo("Combo1", 416, 48, 105, 25)
  58. GUICtrlSetData(-1, "第1行的内容|第2行的内容|第3行的内容|第4行的内容")
  59. $Combo2 = GUICtrlCreateCombo("", 544, 48, 89, 25, BitOR($CBS_DROPDOWNLIST,$CBS_AUTOHSCROLL))
  60. GUICtrlSetData(-1, "第1行的内容|第2行的内容|第3行的内容|第4行的内容|第5行的内容")
  61. $Group1 = GUICtrlCreateGroup("Group1", 488, 88, 297, 97)
  62. $Combo3 = GUICtrlCreateCombo("Combo3", 560, 128, 145, 25)
  63. GUICtrlCreateGroup("", -99, -99, 1, 1)
  64. $Slider1 = GUICtrlCreateSlider(48, 192, 150, 45)
  65. $Progress1 = GUICtrlCreateProgress(208, 200, 150, 15)
  66. $Date1 = GUICtrlCreateDate("2009/12/16 12:02:9", 384, 200, 186, 21)
  67. $MonthCal1 = GUICtrlCreateMonthCal("2009/12/16", 8, 232, 267, 154)
  68. $TreeView1 = GUICtrlCreateTreeView(304, 232, 129, 153)
  69. $TreeView1_0 = GUICtrlCreateTreeViewItem("第一项", $TreeView1)
  70. $TreeView1_1 = GUICtrlCreateTreeViewItem("1-1项", $TreeView1_0)
  71. $TreeView1_2 = GUICtrlCreateTreeViewItem("1-1-1项", $TreeView1_1)
  72. $TreeView1_3 = GUICtrlCreateTreeViewItem("第二项", $TreeView1)
  73. $TreeView1_4 = GUICtrlCreateTreeViewItem("2-1项", $TreeView1_3)
  74. $TreeView1_5 = GUICtrlCreateTreeViewItem("2-1-1项", $TreeView1_4)
  75. $TreeView1_6 = GUICtrlCreateTreeViewItem("2-1-2项", $TreeView1_4)
  76. $TreeView1_7 = GUICtrlCreateTreeViewItem("2-2项", $TreeView1_3)
  77. $TreeView1_8 = GUICtrlCreateTreeViewItem("2-3项", $TreeView1_3)
  78. $TreeView1_9 = GUICtrlCreateTreeViewItem("2-3-1项", $TreeView1_8)
  79. $ListView1 = GUICtrlCreateListView("ID|名称|其他", 448, 280, 337, 105)
  80. GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 0, 50)
  81. GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 1, 120)
  82. GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 2, 145)
  83. $ListView1_0 = GUICtrlCreateListViewItem("1|夏天|................", $ListView1)
  84. $ListView1_1 = GUICtrlCreateListViewItem("2|冬天|好冷啊!", $ListView1)
  85. $ListView1_2 = GUICtrlCreateListViewItem("3|秋天|没有什么好说的", $ListView1)
  86. $ListView1_3 = GUICtrlCreateListViewItem("4|春天|万物生", $ListView1)
  87. $ListView1_4 = GUICtrlCreateListViewItem("5|每天|也就等于今天啦", $ListView1)
  88. $ListView1_5 = GUICtrlCreateListViewItem("6|明天|永远都不会到的一天", $ListView1)
  89. $ListView1_6 = GUICtrlCreateListViewItem("7|昨天|最新的历史", $ListView1)
  90. $ListView1context = GUICtrlCreateContextMenu($ListView1)
  91. $MenuItem14 = GUICtrlCreateMenuItem("MenuItem14", $ListView1context)
  92. $MenuItem15 = GUICtrlCreateMenuItem("MenuItem15", $ListView1context)
  93. $MenuItem16 = GUICtrlCreateMenuItem("", $ListView1context)
  94. $MenuItem17 = GUICtrlCreateMenuItem("MenuItem17", $ListView1context)
  95. $MenuItem18 = GUICtrlCreateMenuItem("MenuItem18", $ListView1context)
  96. $MenuItem19 = GUICtrlCreateMenuItem("MenuItem19", $ListView1context)
  97. $Tab1 = GUICtrlCreateTab(8, 392, 785, 177)
  98. GUICtrlSetResizing(-1, $GUI_DOCKWIDTH+$GUI_DOCKHEIGHT)
  99. $TabSheet1 = GUICtrlCreateTabItem("TabSheet1")
  100. $Input2 = GUICtrlCreateInput("Input2", 32, 424, 121, 21)
  101. $Button2 = GUICtrlCreateButton("Button2", 64, 480, 75, 25)
  102. $Checkbox2 = GUICtrlCreateCheckbox("Checkbox2", 184, 432, 81, 17)
  103. $Radio2 = GUICtrlCreateRadio("Radio2", 184, 456, 65, 17)
  104. $Combo4 = GUICtrlCreateCombo("Combo4", 296, 432, 145, 25)
  105. $Group2 = GUICtrlCreateGroup("Group2", 472, 432, 185, 105)
  106. GUICtrlCreateGroup("", -99, -99, 1, 1)
  107. $Label3 = GUICtrlCreateLabel("Label3", 248, 504, 36, 17)
  108. $TabSheet2 = GUICtrlCreateTabItem("TabSheet2")
  109. $Input3 = GUICtrlCreateInput("Input3", 88, 480, 121, 21)
  110. $Button3 = GUICtrlCreateButton("Button3", 296, 464, 75, 25)
  111. $TabSheet3 = GUICtrlCreateTabItem("TabSheet3")
  112. GUICtrlCreateTabItem("")
  113. $Label2 = GUICtrlCreateLabel("可以使用鼠标右键点击下面的列表", 472, 248, 184, 17)
  114. TraySetClick("16")
  115. TraySetIcon("G:\我的文档\AutoIT资料\ico\2636\水晶系统桌面图标下载42.ico")
  116. $MenuItem11 = TrayCreateItem("隐藏界面")
  117. $MenuItem12 = TrayCreateItem("")
  118. $MenuItem13 = TrayCreateItem("退出案例")
  119. GUISetState(@SW_SHOW)
  120. #EndRegion ### END Koda GUI section ###
  121. Global $Show
  122. While 1
  123.         $nMsg = GUIGetMsg()
  124.         $msg = TrayGetMsg()
  125.         Switch $nMsg
  126.                 Case $GUI_EVENT_CLOSE
  127.                         Exit (Quit())
  128.                         ;End
  129.                 Case $MenuItem6
  130.                         Exit (Quit())
  131.         EndSwitch
  132.         Select
  133.                 Case $msg = 0
  134.                         ContinueLoop
  135.                 Case $msg = $MenuItem11
  136.                         If $Show = 1 Then
  137.                                 GUISetState(@SW_SHOW)
  138.                                 $Show = 0
  139.                         Else
  140.                                 GUISetState(@SW_HIDE)
  141.                                 $Show = 1
  142.                         EndIf
  143.                 Case $msg = $MenuItem13
  144.                         ExitLoop (Quit())
  145.         EndSelect
  146. WEnd

  147. Func Quit()
  148.         GUISetState(@SW_HIDE)        ;这里先将界面隐藏起来,因为要先关闭皮肤后才关闭软件,所以隐藏界面后关闭皮肤的话就不会看到没有皮肤的界面了。
  149.         DllCall($Dll_, "int", "USkinRemoveSkin")        ;这里是关闭皮肤
  150.         DllCall($Dll_, "int", "USkinExit")                        ;这里是退出皮肤调用的DLL
  151.         DllClose($Dll_)                        ;关闭DLL文件调用
  152.         FileDelete( @TempDir & "\Skins\Skin.msstyles")                ;删除临时目录里面的皮肤文件
  153.         FileDelete(@TempDir & "\Uskin.dll")                ;删除临时目录里面的USkin.dll文件
  154.         Exit                        ;退出脚本(关闭软件)
  155. EndFunc   ;==>Quit
复制代码
下面这里是所有文件打包,下载后用winrar解压就可以看到所有文件了。也为大家省了点费用了。


我的电脑里面安装的系统不多,只在XP的sp2和sp3系统里面测试过,没有问题。

希望能帮助到有需要的人吧。


声明:下载附件的时候需要30金,不是我发帖的时候设置的,我发帖的时候没有设置需要任何费用。而这里的费用是论坛默认的,所有附件都会需要扣金。所以,大家不要认为是我设置了这个价格。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?加入

x

评分

4

查看全部评分

发表于 2009-12-16 13:13:51 | 显示全部楼层
我坐了沙发,的确不错,精神可嘉!
发表于 2009-12-16 13:14:18 | 显示全部楼层
支持一下,希望能够好用!!
发表于 2009-12-16 16:18:10 | 显示全部楼层
顶一下,虽然有了SkinCrafter,但还是多多益善
发表于 2009-12-16 16:50:39 | 显示全部楼层
顶。。看看是什么东东
发表于 2009-12-16 16:52:14 | 显示全部楼层
支持下~~~~
发表于 2009-12-16 18:49:15 | 显示全部楼层
这个很好啊,我测试正常啊,你们呢
SkinCrafter很多漂亮皮肤,看着不错,但用起来不带劲啊,尤其是按钮什么的,显示不全,变样了。。
发表于 2009-12-16 19:47:45 | 显示全部楼层
嘿嘿 收藏啦
发表于 2009-12-16 20:10:10 | 显示全部楼层
娃哈哈,这个东东需要呢,````不错,要顶上去.```
发表于 2009-12-16 20:11:43 | 显示全部楼层
为了赚钱,不惜再顶.
发表于 2009-12-16 20:25:40 | 显示全部楼层
赚钱好辛苦啊,```
发表于 2009-12-16 20:32:45 | 显示全部楼层
啊,受不了,网速太慢,`,``要顶贴都不行
发表于 2009-12-16 21:37:11 | 显示全部楼层
不错啊~~~~~~~
发表于 2009-12-16 21:58:03 | 显示全部楼层
对初学者来说,是很好的资源,辛苦了.
发表于 2009-12-16 22:12:42 | 显示全部楼层
这东西不错 顶了先 回头研究
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|小黑屋|手机版|AUTOIT CN ( 鲁ICP备15028933号-3 )谷歌 百度

GMT+8, 2018-12-16 12:40 , Processed in 0.102109 second(s), 19 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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