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

Вниз

Нужна помощь   Найти похожие ветки 

 
Raptor   (2001-12-15 20:36) [11]

Привет!

Если тебе WM_COPYDATA не подходит то делай так.

При установке хука в ДЛЛ делаешь так

const
FileMapUniID = "Unique ID {6F392C03-DCE8-461D-BC33-639D14FDF2BB}";

type
PData = ^TData;
TData = record
Buffer:Array [0..255] Of Char;
end;

var
Data:PData;
HFileMap:THandle;

procedure CreateFileMap;
begin
HFileMap := CreateFileMapping(INVALID_HANDLE_VALUE, nil, PAGE_READWRITE, 0, SizeOf(TData), FileMapUniID);
Data := MapViewOfFile(HFileMap, FILE_MAP_ALL_ACCESS, 0, 0, SizeOf(TData))
end;

В приложении, которому будут посылаться сообщения, делаешь тоже самое.
В окне этого приложение описывешь обработку месаджа, например WM_USER+12321.
Кратко протокол пересылки таков.
Хук пишет то, что ему надо в Buffer и посылает окну приложения сообщение WM_USER+12321. В обработчике этого сообщения
приложение может делать с даными в Buffer все что ему вздумается.
В общем все. Правда, при закрытии приложения и снятии хука не забудь освободить хендлы

Procedure DisposeFileMap;
Begin
UnMapViewOfFile(Data);
CloseHandle(HFileMap);
End;

Raptor.



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

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

Наверх





Память: 0.44 MB
Время: 0.008 c
1-57074
Начинающий
2002-02-01 18:26
2002.02.18
Помогите, пожалуйста, создать компонент, предком которого является TForm.


6-57170
Furkan
2001-11-22 09:44
2002.02.18
Proxy


14-57197
Василий
2001-12-26 22:29
2002.02.18
Heeelp!


4-57250
Стас
2001-12-19 20:12
2002.02.18
Программирование смарт карт


3-57014
Константин
2002-01-23 20:46
2002.02.18
Чтение таблиц Paradox 3.5 в Дельфи...





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский