happytc 发表于 2011-8-27 12:31:52

调用DLL的图标,XP下一切正常,Win7就不显示图标了

本帖最后由 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文件问题,图标本身问题?

happytc 发表于 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



3mile 发表于 2011-8-27 15:17:53

查看_GUIImageList_AddIcon函数返回值可知ICONA.DLL中的图标未被识别.
调用ATOOLS中的资源修改器结果提示非32位程序.

haijie1223 发表于 2011-8-27 15:31:11

GUICtrlSetImage 可以不?

mo_shaojie 发表于 2011-8-27 15:36:45

这个问题我也试过了.不知什么原因.没有理会

ashfinal 发表于 2011-8-27 18:09:53

顺便问下iconjack32 有人在win7上用过没?我这貌似打包成功,但是不好使

powerofos 发表于 2011-8-27 18:54:06

如果楼主是使用iconjack32 打包的图标的话,问题应该出在:iconjack32 身上。

以前我也使用过它,同样发现在WIN7下调用图标失效

happytc 发表于 2011-8-27 20:10:53

是用iconjack32生成的,但怎么有时用它生成的dll又没有问题,如livecaoture以前版本中的icon.dll,在win7就可以用。不管怎么样,那个软件生成的图标dll在win7也可用?

happytc 发表于 2011-8-28 22:30:24

大家有没有好的工具推荐的?

ashfinal 发表于 2011-8-30 23:33:03

推荐Restorator试用过很多类似软件
最好用就是它了 甚至比ResHacker好

happytc 发表于 2011-8-30 23:40:33

回复 11# ashfinal


    谢谢推荐

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

改为生成ICL,已经测试,在win7,win2008,xp,win2k等等系统都工作得很好!
页: [1]
查看完整版本: 调用DLL的图标,XP下一切正常,Win7就不显示图标了