Hallo allerseits,
ich möchte mit einem VB-Programm ein Icon in einem anderen VB-Programm austauschen, krieg´s aber irgendwie nicht hin. Poste einfach mal den Code, vielleicht ist jemand von Euch schlauer als ich.
Irgendwie macht er das, was ich ihm sage (soll heissen, er findet das alte ICO in der EXE und brät das neue rein), aber leider sehe ich hinterher im Explorer immer noch das alte Icon, wenn ich mir die EXE anschaue.
Danke
Uni
Public Function File_ReplaceIcon(sFile$, sOrgIconFile$, sNewIconFile$) As Boolean
On Error GoTo File_ReplaceIcon_Err
Dim iFile%
Dim lPos&
Dim sIcoOrg$, sIcoNew$, sFileData$
'altes Icon lesen
iFile = FreeFile
sIcoOrg = Space(FileLen(sOrgIconFile))
Open sOrgIconFile For Binary As #iFile
Get #iFile, 1, sIcoOrg
Close iFile
'Byte-Position suchen
iFile = FreeFile
sFileData = Space(FileLen(sFile))
Open sFile For Binary As #iFile
Get #iFile, 1, sFileData
Close iFile
lPos = InStr(1, sFileData, sIcoOrg)
If lPos > 0 Then
'neues Icon lesen
iFile = FreeFile
sIcoNew = Space(FileLen(sNewIconFile))
Open sNewIconFile For Binary As #iFile
Get #iFile, 1, sIcoNew
Close iFile
'austauschen
If Len(sIcoNew) > 0 Then
iFile = FreeFile
Open sFile For Binary As #iFile
Put #iFile, lPos, sIcoNew
Close #iFile
File_ReplaceIcon = True
End If
End If
File_ReplaceIcon_Exit:
Exit Function
File_ReplaceIcon_Err:
MsgBox Err.Description, vbCritical
End Function