Форум: "Потрепаться";
Текущий архив: 2003.11.03;
Скачать: [xml.tar.bz2];
ВнизНебольшой вопрос от начинающего в C++ Найти похожие ветки
← →
k-man (2003-10-15 18:09) [0]Программа с помощью длл устанавливает ловушку на WH_CBT.
Второй параметр этой функции указатель на функцию куда будут пересылаться сообщения. Аргументы этой функции code, lParam и wParam.
Я обрабатываю сообщение HCBT_CREATEWND.
Чтобы получить некоторую информацию, например название окна из lparam, в Делфи я делал так:
........
var
MyVar : String;
.......
begin
........
MyVar := TCBTCreateWnd(Pointer(lParam)^).lpcs.lpszName;
........
end;
........
Как такая конструкция будет выглядеть в С++?
← →
k-man (2003-10-15 18:10) [1]
> Второй параметр этой функции указатель
Учточню: второй параметр SetWindowsHookEx
← →
Suntechnic (2003-10-15 18:19) [2]
char myStr[100];
strcpy(myStr, ((CBT_CREATEWND*)lParam)->lpcs.lpszName);
Или можешь использовать STL-кий string.
#include <string>
using namespace std;
string myStr = ((CBT_CREATEWND*)lParam)->lpcs.lpszName;
← →
k-man (2003-10-15 18:46) [3]К сожалению, не компилируется :(
Компилер VC++ 6 пишет: left of ".lpszName" must have class/struct/union type
Что я делаю не так?
← →
Suntechnic (2003-10-15 19:09) [4]Сорри, там ещё разок разыменовать надо. В структуре хранится указатель на строку.
char myStr[100];
strcpy(myStr, ((CBT_CREATEWND*)lParam)->lpcs ->lpszName);
← →
k-man (2003-10-15 20:08) [5]Спасибо
Страницы: 1 вся ветка
Форум: "Потрепаться";
Текущий архив: 2003.11.03;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.009 c