Кусок кода:
Private Declare Function SHChangeIconDialogA Lib "shell32" Alias "#62" (ByVal hOwner As Long, ByVal szFilename As String, ByVal Reserved As Long, lpIconIndex As Long) As Long
Private Declare Function SHChangeIconDialogW Lib "shell32" Alias "#62" (ByVal hOwner As Long, ByVal szFilename As Long, ByVal Reserved As Long, lpIconIndex As Long) As Long
Private sub btnIcon_Click()
Dim str1 As String * 260
Dim lng1 As Long
Dim lngResult As Long
str1 = "C:\WINDOWS\system32\shell32.dll" & vbNullChar
idx1 = 0
If GetWindowsPlatform = 2 Then 'если Win NT/2000/XP
lngResult = SHChangeIconDialogW(Me.hWnd, StrPtr(str1), lng1, idx1)
Else
lngResult = SHChangeIconDialogA(Me.hWnd, str1, lng1, idx1)
End If
End Sub
Код срабатывает, икнока выбирается. Но...
В переменной str1 (с постоянным размером 260 символов) хранится имя файла с иконками - в данном случае библиотеки
В переменной idx1 - индекс икнонки из библиотеки
После вызова функции выбора иконки меняется только индекс иконки, а имя файла нет (когда был выбран другой файл).
Вопрос:
Как сделать так, чтобы имя файла тоже изменилось?
Ответить
|