Нет идентификатора ANSI или Unicode идентификатора числового ресурса. Код, который вы используете для установки lpszIcon
, верен. Идиоматично использовать макрос MAKEINTRESOURCE
, а не литой, но актер имеет идентичный смысл. Ваша проблема заключается в другом коде, коде, который мы не видим.
Чтение между строками, я думаю, что вы нацеливаете ANSI или MBCS. Вы пытались использовать MAKEINTRESOURCE
, но это расширилось до MAKEINTRESOURCEA
. Вот что привело вас к броску. Вы должны были использовать MAKEINTRESOURCEW
для соответствия MSGBOXPARAMSW
. Это разрешило бы ошибку компиляции, с которой вы столкнулись. Вы могли бы также изменить проект для целевого UNICODE.
Но ничто из этого не объясняет, почему значок не появляется в диалоговом окне. Должна быть проблема в другом месте. Если появится диалоговое окно, наиболее вероятным объяснением является то, что вы установили hInstance
на значение, отличное от NULL
. Но код для установки lpszIcon
правильный, хотя и не идиоматический.