调用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: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
查看_GUIImageList_AddIcon函数返回值可知ICONA.DLL中的图标未被识别.
调用ATOOLS中的资源修改器结果提示非32位程序.
GUICtrlSetImage 可以不? 这个问题我也试过了.不知什么原因.没有理会 顺便问下iconjack32 有人在win7上用过没?我这貌似打包成功,但是不好使 如果楼主是使用iconjack32 打包的图标的话,问题应该出在:iconjack32 身上。
以前我也使用过它,同样发现在WIN7下调用图标失效 是用iconjack32生成的,但怎么有时用它生成的dll又没有问题,如livecaoture以前版本中的icon.dll,在win7就可以用。不管怎么样,那个软件生成的图标dll在win7也可用? 大家有没有好的工具推荐的? 推荐Restorator试用过很多类似软件
最好用就是它了 甚至比ResHacker好 回复 11# ashfinal
谢谢推荐
不过,我已经放弃生成DLL了
改为生成ICL,已经测试,在win7,win2008,xp,win2k等等系统都工作得很好!
页:
[1]