在我的代码中,我通过函数SHGETImageList获得了一个大小为SHIL_JUMBO的图像列表。IImageListiml;varhres=SHGetImageList(SHIL_JUMBO,refiidImageList,outiml);IntPtrhIcon=IntPtr.Zero;iml.GetIcon(i,ILD_TRANSPARENT|ILD_IMAGE,refhIcon);Iconico=(Icon)System.Drawing.Icon.FromHandle(hIcon).Clone();ShellAPI.DestroyIcon(hIcon);一切正常,但是当它必须得
我正在尝试在Go中调用SHGetImageList以便从.EXE文件中提取图标。问题是我不知道如何在Go中创建/传递“IImageList2接口(interface)”,这是SHGetImageList所需要的。几个小时以来,我尝试了各种各样的事情,但都导致了相同的E_NOINTERFACE错误。基本上它们都是“黑暗中的镜头”([]byte数组以查看我是否可以接收任何“数据”,Go中的实际接口(interface){}包含与MSDN定义的IImagelist2接口(interface)相同的功能等).如果它有任何相关性,我确实有一个在C#中使用类似http://www.pinvoke.
我正在尝试在Go中调用SHGetImageList以便从.EXE文件中提取图标。问题是我不知道如何在Go中创建/传递“IImageList2接口(interface)”,这是SHGetImageList所需要的。几个小时以来,我尝试了各种各样的事情,但都导致了相同的E_NOINTERFACE错误。基本上它们都是“黑暗中的镜头”([]byte数组以查看我是否可以接收任何“数据”,Go中的实际接口(interface){}包含与MSDN定义的IImagelist2接口(interface)相同的功能等).如果它有任何相关性,我确实有一个在C#中使用类似http://www.pinvoke.