Форум: "WinAPI";
Текущий архив: 2002.02.07;
Скачать: [xml.tar.bz2];
ВнизPostMessage Найти похожие ветки
← →
paul_shmakov (2001-12-11 01:58) [6]не будем ждать результатов :) для передачи той же string в другое приложение нужно использовать сообщение WM_COPYDATA
Примерно так:
var
S: string; // наша строка
cds: COPYDATASTRUCT;
begin
S := "Какой-то текст";
cds.dwData := ????; // все, что угодно - на усмотрения программиста
cds.cbData := Length(S) + 1; // надо учесть, что в asciiz строке в конце символ chr(0)
cds.lpData := PChar(S);
SendMessage(hWnd, WM_COPYDATA, Form1.Handle, @cds);
система выделяет память, в которую копирует данные из cds.lpData размером cds.cbData.
в данном случае нельзя использовать PostMessage, т.к. сообщения от PostMessage обрабатываются асинхронно, и для системы будет проблематично освободить ту память, которую она отведет под передаваемые данные.
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2002.02.07;
Скачать: [xml.tar.bz2];
Память: 0.43 MB
Время: 0.006 c