Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
 Аватар для Argus19
1427 / 444 / 78
Регистрация: 24.09.2017
Сообщений: 2,525
Записей в блоге: 22

Как включить в проект, состоящий только из одного модуля, иконку?

19.09.2024, 22:02. Показов 1622. Ответов 27

Студворк — интернет-сервис помощи студентам
Как включить в проект, состоящий только из одного модуля, иконку?
Попробовал добавить форму и в её свойствах включил иконку, но после удаления формы из проекта, пропала иконка.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
19.09.2024, 22:02
Ответы с готовыми решениями:

Как открыть проект в Android Studio, состоящий из одного модуля app
Здравствуйте. Часто сталкиваюсь с примерами кода, в которых выложен только модуль app "без всего", например такой. Как из него...

Как сделать и включить в проект иконку приложения
Здравствуйте! В win 7 многие приложения имеют иконки, которые не теряют качество при масштабировании (векторные скорее всего). Как...

Как включить иконку в программу?
Необходимо включить иконку в программу, т.е. чтобы она не использовалась из директории файла, а хранилась внутри программы. Написал код: ...

27
Испарился
 Аватар для HackerVlad
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
20.09.2024, 03:18
Лучший ответ Сообщение было отмечено Argus19 как решение

Решение

Если форма в проекте не используется вообще, то стандартными средствами VB6 для исполняемого EXE файла поставить иконку не получится, будет только стандартная, поэтому Вам придётся самому менять иконку напрямую через редактор ресурсов. Обычно люди используют для этого программу Resource Hacker.

Если создание окна в программе, на каком-то из этапов всё же планируется, то иконку Вам придётся добавлять программным кодом. Я уже ни раз приводил пример этого кода.

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Option Explicit
 
Private Declare Function ExtractIconEx Lib "shell32" Alias "ExtractIconExW" (ByVal lpszFile As Long, ByVal nIconIndex As Long, phiconLarge As Long, phiconSmall As Long, ByVal nIcons As Long) As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Declare Function DestroyIcon Lib "user32" (ByVal hIcon As Long) As Long
 
Private Const ICON_SMALL = 0
Private Const ICON_BIG = 1
Private Const WM_SETICON = &H80
 
Dim hIconSmall As Long
Dim hIconLarge As Long
 
Private Sub Form_Load()
    Dim IconPath As String
    
    IconPath = App.Path & "\" & App.EXEName & ".exe"
    
    'Me.Icon = LoadPicture(IconPath) ' Не создаёт TMP, но загружает плохо
    
    ExtractIconEx StrPtr(IconPath), 0, hIconLarge, hIconSmall, 1 ' Загрузить и большую и маленькую иконку
    SendMessage hwnd, WM_SETICON, ICON_SMALL, ByVal hIconSmall ' Установить маленькую иконку
    SendMessage hwnd, WM_SETICON, ICON_BIG, ByVal hIconLarge ' Установить большую иконку
End Sub
 
Private Sub Form_Unload(Cancel As Integer)
    DestroyIcon hIconSmall
    DestroyIcon hIconLarge
End Sub
Добавлено через 1 минуту
И кстати хочу отметить, что иконку в программе лучше всего создавать самому программным кодом, так как при этом программа не будет создавать временный TMP-файл. Во всех же остальных случаях любая программа на VB6 которая имеет иконку в форме, отличную, от стандартной, создаёт TMP-файл.
2
 Аватар для Argus19
1427 / 444 / 78
Регистрация: 24.09.2017
Сообщений: 2,525
Записей в блоге: 22
20.09.2024, 06:17  [ТС]
Спасибо.
Цитата Сообщение от HackerVlad Посмотреть сообщение
Если создание окна в программе, на каком-то из этапов всё же планируется,
Нет. Программа будет запускаться раз в неделю (планировщик задач Windows), проверять содержимое файла Excel в невидимом режиме, если криминала не будет обнаружено, то закрывать файл и прекращать работу. Если же будет обнаружение, то строки пометятся жёлтым цветом Excеl книга станет видимой и программа закончит работу без закрытия файла.
Судя по всему, лучше обойтись без иконки.
0
Модератор
10046 / 3892 / 883
Регистрация: 22.02.2013
Сообщений: 5,846
Записей в блоге: 79
21.09.2024, 22:19
Argus19, с помощью RC.exe компилируешь файл:
Code
1
WINICO ICON [I]путь_к_файлу.ico[/I]
Полученный RES файл добавляешь к проекту через Resource Editor.
3
 Аватар для Argus19
1427 / 444 / 78
Регистрация: 24.09.2017
Сообщений: 2,525
Записей в блоге: 22
22.09.2024, 06:40  [ТС]
Цитата Сообщение от The trick Посмотреть сообщение
Полученный RES файл добавляешь к проекту через Resource Editor.
Где будет находиться полученный файл?
У меня в проекте уже есть файл ресурсов со звуком.
Как поступить в таком случае?
0
Эксперт по электронике
6524 / 3153 / 332
Регистрация: 28.10.2011
Сообщений: 12,370
Записей в блоге: 7
22.09.2024, 10:23
Данные должны быть в одном res файле.
0
 Аватар для Argus19
1427 / 444 / 78
Регистрация: 24.09.2017
Сообщений: 2,525
Записей в блоге: 22
22.09.2024, 17:42  [ТС]
Цитата Сообщение от locm Посмотреть сообщение
Данные должны быть в одном res файле.
И исходник и файл звука и иконка?
Командная строка отказывается запустить RC.exe даже при указании полного пути к нему. Если его запустить из папки, то как к нему добавить путь к иконке?
0
Эксперт по электронике
6524 / 3153 / 332
Регистрация: 28.10.2011
Сообщений: 12,370
Записей в блоге: 7
22.09.2024, 17:59
Цитата Сообщение от Argus19 Посмотреть сообщение
И исходник и файл звука и иконка?
Исходник это код, а не ресурс.
1
 Аватар для Argus19
1427 / 444 / 78
Регистрация: 24.09.2017
Сообщений: 2,525
Записей в блоге: 22
22.09.2024, 18:51  [ТС]
locm,
Цитата Сообщение от Argus19 Посмотреть сообщение
Командная строка отказывается запустить RC.exe даже при указании полного пути к нему. Если его запустить из папки, то как к нему добавить путь к иконке?
Я не понял, почему файл ресурсов с загруженной в него иконкой не годится? И как правильно запустить RC.exe?
Все мои попытки неудачны.
0
Испарился
 Аватар для HackerVlad
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
22.09.2024, 21:13
Я тоже помню пытался прикладывать файл ресурсов к проекту с иконкой и у меня тоже не получлось. Может как-то и можно, но я не стал долго мучиться. Проще менять иконку через программу Resource Hacker. Файлы RES можно так же компоновать с помощью программы Resource Hacker.
0
Модератор
10046 / 3892 / 883
Регистрация: 22.02.2013
Сообщений: 5,846
Записей в блоге: 79
22.09.2024, 21:21
Лучший ответ Сообщение было отмечено Catstail как решение

Решение

Цитата Сообщение от Argus19 Посмотреть сообщение
У меня в проекте уже есть файл ресурсов со звуком.
Вот пример:
Code
1
2
3
4
5
6
7
8
9
1 24 manifest.xml
1 23 "..\\Help\\FunctionsReference.html"
WINICO ICON winico.ico
101 ICON 101.ico
102 ICON 102.ico
103 ICON 103.ico
104 ICON 104.ico
105 ICON 105.ico
106 ICON 106.ico
Запускается так:
Code
1
"C:\Program Files (x86)\Microsoft Visual Studio\Common\MSDev98\Bin\RC.EXE" /v /r /fo veloz.RES veloz.RC
2
 Аватар для Argus19
1427 / 444 / 78
Регистрация: 24.09.2017
Сообщений: 2,525
Записей в блоге: 22
22.09.2024, 22:19  [ТС]
У меня файл rc.exe находится:
c:\Program Files\Microsoft Visual Studio\VB98\Wizards\RC.EXE
Как я понимаю:
veloz.RES veloz.RC
это 2 результирующих файла, которые будут получены в результате работы программы? И где путь к файлу иконки?
На странице:
https://learn.microsoft.com/ru... -utilities
в описании программы RC.EXE ни чего нужного не нашёл.
0
Испарился
 Аватар для HackerVlad
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
22.09.2024, 23:10
Лучше бы файл ресурсов приложили для примера с иконкой. Чтобы проверить будет ли при компиляции EXE меняться эта иконка.

Добавлено через 45 секунд
А вот в файле ресурсов изменить эту иконку на другую уже раз плюнуть с помощью программы Resource Hacker.

Добавлено через 1 минуту
Через командную строку, через утилиты а-ля MS-DOS, в любом случае неудобно создавать файлы ресурсов. Если есть красивая удобная графическая программа.
0
 Аватар для Argus19
1427 / 444 / 78
Регистрация: 24.09.2017
Сообщений: 2,525
Записей в блоге: 22
23.09.2024, 05:46  [ТС]
Цитата Сообщение от HackerVlad Посмотреть сообщение
Лучше бы файл ресурсов приложили для примера с иконкой. Чтобы проверить будет ли при компиляции EXE меняться эта иконка.
При компиляции остаётся стандартная иконка VB.
А файл вот:
Вложения
Тип файла: zip Project1.zip (98.2 Кб, 6 просмотров)
0
Испарился
 Аватар для HackerVlad
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
23.09.2024, 13:23
Argus19, я это говорил не вам, а умным людям которые раздают советы эти, что мол надо файл ресурса с иконкой прикладывать

Добавлено через 29 секунд
я лично сколько раз ни пытался прикладывать файл ресурсов с иконкой ничего у меня не получалось

Добавлено через 8 минут
IconGroup должно быть 1 для ресурса

Добавлено через 3 минуты
Но как только я это делаю сам VB6 выдаёт ошибку мол неправильный формат ресурса

Добавлено через 6 минут
Обращаюсь ко всем умным людям, если вы такие крутые приложите проект, где это будет работать вместе с файлом ресурсов.
0
 Аватар для Argus19
1427 / 444 / 78
Регистрация: 24.09.2017
Сообщений: 2,525
Записей в блоге: 22
23.09.2024, 16:08  [ТС]
HackerVlad, я жду ответа от The trick, он всегда даёт точные рекомендации. До сих пор ошибок не было. Когда получится, приложу проект.
0
Испарился
 Аватар для HackerVlad
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
23.09.2024, 16:15
Argus19, по мне так это невозможно
0
Модератор
10046 / 3892 / 883
Регистрация: 22.02.2013
Сообщений: 5,846
Записей в блоге: 79
23.09.2024, 21:57
Лучший ответ Сообщение было отмечено HackerVlad как решение

Решение

Вот проект. Что там может не получится я хз.
Вложения
Тип файла: rar NoFormIcon.rar (77.6 Кб, 14 просмотров)
Тип файла: zip NoFormIcon.zip (76.5 Кб, 3 просмотров)
1
 Аватар для Argus19
1427 / 444 / 78
Регистрация: 24.09.2017
Сообщений: 2,525
Записей в блоге: 22
24.09.2024, 06:22  [ТС]
Цитата Сообщение от The trick Посмотреть сообщение
Вот проект
Вы умудрились таким способом вставить иконку с 32bpp. При попытке добавить такую иконку, например, в форму IDE капризничает и не принимает её.
В .bat файле написано:
"C:\Program Files (x86)\Microsoft Visual Studio\VB98\Wizards\RC.EXE" /v /r /fo icon.RES icon.RC
Если RC.EXE запускается из указанной папки, то где создаются файлы, и как туда попадает изображение иконки?
The trick, разъясните, пожалуйста, последовательность действий и что и как получается. Что-то я недопонимаю.
0
Испарился
 Аватар для HackerVlad
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
24.09.2024, 12:25
The trick, настоятельно прошу перезалить этот архив в формат ZIP, больше чем уверен что у многих людей не открывается этот архив RAR. Мало того, у меня выдаёт ошибку в архиве.

Добавлено через 1 минуту
И настоятельно прошу всегда всё заливать в ZIP на будущие. Потому что RAR много кто не может открыть. А ZIP везде открывается сам по себе.

Добавлено через 1 минуту
А ведь я так хотел посмотреть на это чудо. Для меня это вообще из разряда невозможного. С трудом вериться чтобы икноку можно было поменять...

Добавлено через 6 минут
Я уже давно прочитал эту статью https://click-or-die.ru/2018/1... henie/#new и давно уже как несколько лет упаковываю всё только в ZIP. Хотя раньше лет 5-10 назад я тоже думал что RAR это супер.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
24.09.2024, 12:25
Помогаю со студенческими работами здесь

Как из одного модуля добраться к языковым переменным другого модуля? (Joomla 2.5)
Хочу сделать регистрацию в модальном окне. Для этого делаю модуль вставки html и вставляю форму регистрации под футер. Но мне нужно как-то...

Получить массив, состоящий только из одного элемента, применив несколько указанных правил
Здравствуйте, думаю для многих задача простая, вот я не понимаю где тут ошибка, для каких-то тестов не работает, точнее там где надо...

Получить массив, состоящий только из одного элемента, применив несколько указанных правил
Помогите решить задачу ограничение по времени на тест 1 секунда ограничение по памяти на тест 256 мегабайт ввод стандартный...

Как добавить иконку в проект в оригинальном качестве
Всем привет! Я тока начинаю, поэтому прошу прощения за глупые вопросы.. Подскажите пжлста, как добавить норм иконку в проект? Скачал...

Как изменить иконку всех файлов одного расширения в реестре
Добрый день. Установил на днях Freemind. Иконки файлов карт выглядят как *.exe Как можно поменять иконку всех *.mm без установки...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru