1,486
社区成员
发帖
与我相关
我的任务
分享
HINSTANCE hInstance=LoadLibrary("D:\\dd.exe");//载入图标源文件
HRSRC hRsrc = FindResource(hInstance,(LPCSTR)1,(LPCSTR)RT_ICON); //查找源文件中的图标文件
LPVOID lpRes = LockResource(LoadResource(hInstance,hRsrc)); //锁定资源
HANDLE hUpdateRes = BeginUpdateResource("D:\\dd2.exe", FALSE); //更新dd2文件图标为dd的
UpdateResource(hUpdateRes,(LPCSTR)RT_ICON, (LPCSTR)1,0,lpRes,SizeofResource(hInstance,hRsrc)); //更新图标资源
EndUpdateResource(hUpdateRes,FALSE); //结束更新资源
CloseHandle(hRsrc); //关闭句柄
CloseHandle(hUpdateRes);//关闭句柄
FreeLibrary(hInstance); //释放载入的源文件
Private Declare Function FindResource Lib "kernel32" Alias "FindResourceA" (ByVal hInstance As Long, ByVal lpName As String, ByVal lpType As String) As Long
Private Declare Function LockResource Lib "kernel32" (ByVal hResData As Long) As Long
Private Declare Function LoadLibrary Lib "kernel32" Alias "LoadLibraryA" (ByVal lpLibFileName As String) As Long
Private Declare Function BeginUpdateResource Lib "kernel32" Alias "BeginUpdateResourceA" (ByVal pFileName As String, ByVal bDeleteExistingResources As Long) As Long
Private Declare Function UpdateResource Lib "kernel32" Alias "UpdateResourceA" (ByVal hUpdate As Long, ByVal lpType As String, ByVal lpName As String, ByVal wLanguage As Long, lpData As Any, ByVal cbData As Long) As Long
Private Declare Function EndUpdateResource Lib "kernel32" Alias "EndUpdateResourceA" (ByVal hUpdate As Long, ByVal fDiscard As Long) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
Private Declare Function FreeLibrary Lib "kernel32" (ByVal hLibModule As Long) As Long
Private Declare Function LoadResource Lib "kernel32" (ByVal hInstance As Long, ByVal hResInfo As Long) As Long
Private Declare Function SizeofResource Lib "kernel32" (ByVal hInstance As Long, ByVal hResInfo As Long) As Long
Dim chan As Boolean
Dim chan2 As Boolean
Private Sub Command1_Click()
lpLibFileName = "d:\\dd.exe"
hInstance = LoadLibrary(lpLibFileName)
hResInfo = FindResource(hInstance, 1, RT_ICON)
lpData = LockResource(LoadResource(hInstance, hResInfo))
hUpdate = BeginUpdateResource("d:\\dd2.exe", False)
chan = UpdateResource(hUpdate, Icon, RT_ICON, 0, lpData, SizeofResource(hInstance, hResInfo))
chan2 = EndUpdateResource(hUpdate, False)
CloseHandle (hResInfo)
CloseHandle (hUpdate)
FreeLibrary (hInstance)
End Sub