• 🚨 24 часа до повышения цены на курс «Пентест Active Directory: от теории к практике» от Академии Кодебай

    🔍 Изучите реальные техники атак на инфраструктуру Active Directory: от первоначального доступа до полной компрометации.
    🛠️ Освойте инструменты, такие как BloodHound, Mimikatz, CrackMapExec и другие.
    🧪 Пройдите практические лабораторные работы, имитирующие реальные сценарии атак.
    🧠 Получите знания, которые помогут вам стать востребованным специалистом в области информационной безопасности.

    Последний день записи в текущий поток по старой цене Подробнее о курсе ...

C++ Помогите с тулбаром в Win32 Api

  • Автор темы Автор темы SiNn3R
  • Дата начала Дата начала
S

SiNn3R

Сейчас изучаю Win32 Api в Visual C++. Так вот, столкнулся с проблемой при создании тулбара (пример из книги К.Г.Финогенова).

1) Создаю файл с тремя изобр. кнопок (16x16) - buttons.bmp.

2) Открываю файл ресурсов .rc и вписываю:
ID_BTNS BITMAP "buttons.bmp"

3) В Resource.h добовляю это:
#define ID_BTNS 400 // Идентификатор ресурса - файла с изображением кнопок
#define ID_BUT1 3001
#define ID_BUT2 3002
#define ID_BUT3 3003

4) В WndProc, в WM_CREATE пишу это:

TBBUTTON tbb[3]; //Массив структур TBBUTTON
ZeroMemory(&tbb,sizeof(tbb)); //Обнулим весь массив структур
tbb[0].iBitmap=0; //Порядковый номер кнопки I
tbb[0].idCommand=ID_BUT1; //Идентификатор кнопки 1
tbb[0].fsState=TBSTATE_ENABLED; //Разрешить управление от кнопки 1
tbb[1].iBitmap=1; //Порядковый номер кнопки 2
tbb[1].idCommand=ID_BUT2; //Идентификатор кнопки 2
tbb[1].fsState=TBSTATE_ENABLED; //Разрешить управление от кнопки 2
tbb[2].iBitmap=2; // Порядковый номер кнопки 3
tbb[2].idCommand=ID_BUT3; //Идентификатор кнопки 3
tbb[2].fsState=TBSTATE_ENABLED; //Разрешить управление от кнопки 3
CreateToolbarEx(hWnd,WS_CHILD|WS_BORDER|WS_VISIBLE,-1,3,hInst,ID_BTNS,tbb,3,16,16,16,16,sizeof(TBBUTTON)); //Создаем инструментальную панель

В результате чего получаю банан:
Error 1 error LNK2019: unresolved external symbol __imp__CreateToolbarEx@52 referenced in function "long __stdcall WndProc(struct HWND__ *,unsigned int,unsigned int,long)" (?WndProc@@YGJPAUHWND__@@IIJ@Z) 001.obj
 
comctl32.lib не прилинкован, поэтому и банан
 
Да нет, вроде файл прилинкован, я пробывал и вручную указывать директорию:

C:\Program Files\Microsoft SDKs\Windows\v6.0A\Lib

Если не ошибаюсь.

У меня Visual Studio 2008, там эта папка прописана по умолчанию...

Ошибка не исчезла... Поделитесь, пожалуйста, какие есть еще методы создания тулбара.
 
Спасибо, просто я пока новичек и многого еще не знаю:(
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

Курс AD