Форум: "WinAPI";
Текущий архив: 2004.11.21;
Скачать: [xml.tar.bz2];
ВнизОбмен между приложениями. Найти похожие ветки
← →
Lera (2004-10-05 11:25) [0]Уважаемые профи, такая проблема - запущено приложение созданное
в Delphi, например Application.exe. Из него вызывается другое,
например Application2.exe. Необходимо передать несколько
символьных параметров из Application.exe в Application2.exe.
Подскажите как это сделать.
← →
xShadow © (2004-10-05 11:27) [1]SendMessage - чем тебе не подходит?
← →
Плохиш © (2004-10-05 11:30) [2]Application2.exe param1 param2 param3 ...
← →
XProger © (2004-10-05 22:45) [3]А потом читай в Application2.exe:
for i := 1 to ParamCount do
if ParamStr(i) = "что-то там" then
сделать то-то;
Причём в ParamStr(1) будет храниться полный путь к исполняемому файлу...
← →
Ihor Osov'yak © (2004-10-05 23:32) [4]2 [3] XProger © (05.10.04 22:45)
> Причём в ParamStr(1) будет храниться полный путь к исполняемому файлу...
в ParamStr(0), однако..
иfor i := 1 to ParamCount do
if ParamStr(pred(i)) = "что-то там" then
сделать то-то;
← →
Pashko (2004-10-05 23:55) [5]Хорошо, а как правильно организовать обмен строками между двумя уже работающими приложениями?
В документации нашёл сообщение WM_COPYDATA, если оно подходит, то как с его помощью правильно отправить напр. строку?
← →
GanibalLector © (2004-10-05 23:59) [6]2 Pashko
Хорошо, а как правильно организовать обмен строками между двумя уже работающими приложениями?
procedure ReceiveMessage (var Msg: TMessage);
message WM_COPYDATA;
...
procedure TFormReceive.ReceiveMessage;
var
pcd: PCopyDataStruct;
begin
pcd := PCopyDataStruct(Msg.LParam);
Caption := PChar(pcd.lpData);
end;
отправитель:
procedure TFormXXX.Button1Click(Sender: TObject);
var
cd: TCopyDataStruct;
begin
cd.cbData := Length(Edit1.Text) + 1;
cd.lpData := PChar(Edit1.Text);
SendMessage(FindWindow("TFormReceive", nil), WM_COPYDATA, 0, LParam(@cd));
end;
← →
Classic (2004-10-09 23:45) [7]А если создать в памяти некую область данных, затем изменяя в ней какие-то данные одной программой, информировать другую об этои изменении - мол, я там что-то изменила (записала), читай сама и усваивай :)
Как реализовать не знаю, но мастеров много, может подскажут...
← →
CDF (2004-10-10 00:03) [8]Для разделения памяти можно попробовать использовать отображаемые файлы (функция CreateFileMapping). А для уведомления изменили/записали использовать сообщения...
← →
Prov (2004-10-10 08:03) [9]Не можно, а только так и нужно.. Самый надежный вариант
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2004.11.21;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.042 c