找回密码
 加入
搜索
查看: 5403|回复: 10

[AU3基础] 调用DLL的图标,XP下一切正常,Win7就不显示图标了

  [复制链接]
发表于 2011-8-27 12:31:52 | 显示全部楼层 |阅读模式
本帖最后由 happytc 于 2011-8-27 12:51 编辑

http://www.autoitx.com/thread-25502-1-1.html

LiveCapture V1.2.x版本中就是这样的
附件的DLL里一共10个图标(也就是LiveCapture‘截图并加标注’里高仿QQ截图里用到的图标)

大家有没有这样经验?

加截图标用GUICtrlCreateIcon()和_GUIImageList_AddIcon()都试过

怎么会有这种区别?DLL文件问题,图标本身问题?

本帖子中包含更多资源

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

×
 楼主| 发表于 2011-8-27 12:44:32 | 显示全部楼层
本帖最后由 happytc 于 2011-8-27 12:45 编辑

Live Capture里关于这块的代码

#include <ListViewConstants.au3>
#include <SliderConstants.au3>
#include <WindowsConstants.au3>
#include <EditConstants.au3>
#Include <Clipboard.au3>
#include <GuiToolbar.au3>
#Include <GuiImageList.au3>

Global Enum Step 1 $tIdText = 1000, $tIdArrow, $tIdRect, $tIdEllipse, $tIdCurve, $tIdUndo, $tIdExit, $tIdCopy, $tIdSave

$hToolbarGui = GUICreate("", 240, 30, -1, -1, $WS_POPUP, BitOR($WS_EX_TOOLWINDOW, $WS_EX_TOPMOST))

$tToolBar = _GUICtrlToolbar_Create($hToolbarGui)
GUICtrlSetBkColor(-1, 0x42423E)
$tToolIcon =  _GUIImageList_Create(20, 20)

For $i = 1 To 9
        _GUIImageList_AddIcon($tToolIcon, @ScriptDir & "\IconA.dll", $i, True)
Next
_GUICtrlToolbar_SetImageList($tToolBar, $tToolIcon)
_GUICtrlToolbar_AddButton($tToolBar, $tIdText, 0, 0, $BTNS_CHECKGROUP)
_GUICtrlToolbar_AddButton($tToolBar, $tIdArrow, 1, 0, $BTNS_CHECKGROUP)
_GUICtrlToolbar_AddButton($tToolBar, $tIdRect, 2, 0, $BTNS_CHECKGROUP)
_GUICtrlToolbar_AddButton($tToolBar, $tIdEllipse, 3, 0, $BTNS_CHECKGROUP)
_GUICtrlToolbar_AddButton($tToolBar, $tIdCurve, 4, 0, $BTNS_CHECKGROUP)
_GUICtrlToolbar_AddButton($tToolBar, $tIdUndo, 5)
_GUICtrlToolbar_AddButton($tToolBar, $tIdExit, 6)
_GUICtrlToolbar_AddButton($tToolBar, $tIdCopy, 7)
_GUICtrlToolbar_AddButton($tToolBar, $tIdSave, 8)

GUISetState()

While True
        If -3 == GUIGetMsg() Then Exit
        Sleep(10)
WEnd



发表于 2011-8-27 15:17:53 | 显示全部楼层
查看_GUIImageList_AddIcon函数返回值可知ICONA.DLL中的图标未被识别.
调用ATOOLS中的资源修改器结果提示非32位程序.

本帖子中包含更多资源

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

×
发表于 2011-8-27 15:31:11 | 显示全部楼层
GUICtrlSetImage 可以不?
发表于 2011-8-27 15:36:45 | 显示全部楼层
这个问题我也试过了.不知什么原因.没有理会
发表于 2011-8-27 18:09:53 | 显示全部楼层
顺便问下iconjack32 有人在win7上用过没?我这貌似打包成功,但是不好使
发表于 2011-8-27 18:54:06 | 显示全部楼层
如果楼主是使用iconjack32 打包的图标的话,问题应该出在:iconjack32 身上。

以前我也使用过它,同样发现在WIN7下调用图标失效
 楼主| 发表于 2011-8-27 20:10:53 | 显示全部楼层
是用iconjack32生成的,但怎么有时用它生成的dll又没有问题,如livecaoture以前版本中的icon.dll,在win7就可以用。不管怎么样,那个软件生成的图标dll在win7也可用?
 楼主| 发表于 2011-8-28 22:30:24 | 显示全部楼层
大家有没有好的工具推荐的?
发表于 2011-8-30 23:33:03 | 显示全部楼层
推荐Restorator  试用过很多类似软件
最好用就是它了 甚至比ResHacker好
 楼主| 发表于 2011-8-30 23:40:33 | 显示全部楼层
回复 11# ashfinal


    谢谢推荐

不过,我已经放弃生成DLL了

改为生成ICL,已经测试,在win7,win2008,xp,win2k等等系统都工作得很好!
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-9-20 23:25 , Processed in 0.096600 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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