Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2002.11.18;
Скачать: [xml.tar.bz2];

Вниз

Как узнать handle окна, пославшего сообщение   Найти похожие ветки 

 
sergio123   (2002-09-30 17:45) [0]

Программа не VCLная. Есть что-то типа того:

MyMsg:=RegisterWindowMessage(MyMessage);

Сообщение посылается так:
SendMessage( HWND_BROADCAST,MyMsg,1234,1234);

Обрабатывается так:

function WindowProc(hWnd, uMsg, wParam, lParam: Integer): Integer; stdcall;
begin
Result := DefWindowProc(hWnd, uMsg, wParam, lParam);
if uMsg = WM_DESTROY then Halt;
if (uMsg = MyMsg) and (wParam = 1234) then
begin
...... тут нужен handle, кто его послал ...........
end;
end;

Как узнать handle окна, пославшего сообщение MyMsg?


 
Zz_   (2002-09-30 18:22) [1]

Так посылай его в lParam


 
sergio123   (2002-09-30 18:36) [2]

To Zz_
Ты мои мысли читаешь на расстоянии :)? Именно так я сейчас и делаю, но я просто думал есть какой-то лучший способ, предоставляемый самой операционкой. И к тому же если мне в lParam тоже какое-нибудь значение надо передать?


 
Polevi   (2002-09-30 18:42) [3]

wParam и lParam все равно не хватит на все случаи
WM_COPYDAYA используй


 
vidiv   (2002-10-08 09:47) [4]

А я делаю вот так:
type Trecdata=record
{тута всякой х...и}
end;


var a:TRecData;
begin
a:={....};
sendmessage(hwnd_broadcast,mymgs,handle,lparam(a));
end;

а в приемнике:

var b:TRecData;
begin
b:=TRecData(lparam);
{и юзай}
end;


 
Polevi   (2002-10-08 10:40) [5]

>vidiv (08.10.02 09:47)
не надо давать дурных советов



Страницы: 1 вся ветка

Форум: "WinAPI";
Текущий архив: 2002.11.18;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.013 c
3-59043
Ренат
2002-10-30 09:21
2002.11.18
Extract Database


1-59139
mvg_first
2002-11-07 13:39
2002.11.18
Работа с наборами записей в трехуровневом приложении.


3-59039
13-ый
2002-10-28 00:24
2002.11.18
Определение структуры бд


3-59005
Youri
2002-10-29 10:37
2002.11.18
Прога тормозит!!!


1-59281
TankMan
2002-11-05 17:00
2002.11.18
Сразу менять курсор...





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский