Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.11.03;
Скачать: CL | DM;

Вниз

Небольшой вопрос от начинающего в 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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.022 c
6-8556
Вася Н.
2003-09-09 16:32
2003.11.03
Две сетевые карты


6-8568
SDF
2003-09-09 10:52
2003.11.03
Работа с web-сервера через сокеты


6-8580
Sural
2003-09-07 09:27
2003.11.03
Отправка формы на сервер


4-8731
Mouse
2003-08-28 10:35
2003.11.03
Как выловить клавиатурных шпионов?


1-8416
NetKnight
2003-10-16 15:28
2003.11.03
Как узнать какой компонент вызвал PopupMenu?