![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Хелп!! Как из одной моей проги перетащить текст в другу мою прог [D7, XP]
Hero © (2007-04-23 04:16:00)запустили второй раз мою прогу нужно передать paramstr(1) первой проге
StriderMan (2007-04-24 10:14:00) [21]
> Сергей М. © (24.04.07 10:06) [12]
> Не жирно ли будет - из пушки да по воробьям ?)
делов на 5 минут, зато заклад на будущую распределенность ;)
а вообще в шутку конечно.
Сергей М. (2007-04-24 10:06:00) [22]
> StriderMan © (24.04.07 10:04) [11]
> по сокету
Не жирно ли будет - из пушки да по воробьям ?)
StriderMan (2007-04-24 10:04:00) [23]по сокету через localhost. (TServerSocket, TClientSocket)
Сергей М. (2007-04-24 09:55:00) [24]
> т.к. я живу на камчатке только что открыл эту ветку
Однако, прелюбопытная причинно-следственная свящь)
Hero (2007-04-24 04:25:00) [25]
novill © (23.04.07 17:33) [8]
Ну и если посылаешь то почему окну с application.Title, а не mauinform.caption
:))) дык я уже давно енто сделал только никак не мог допетрить почему он 2 раза находит мою прогу пока не дотумкался что он находит окно пректа :))))))
вобчем все у меня получилось только результат меня не радует. Суть вот в чем:
я сделал красивенький медиаплеер и все меня в нем устравает, но вот людь который пользуется моим плеером делает так:
выделяет несколько файлов допустим mp3 и правой кнопкой открывает но запускается сразу несколько плееров . В реестре прописано так:
mp3 по умолчанию (мyplayer)
myplayer
shell
open (по умолчанию = воспроизвести)
command (поумолчанию "C:\Program files\myplayer\player.exe" "%L")
вот я и подумал что при повторном открытии передать paramstr(1)
после получения hwnd записываю paramstr(1) в файл на жестком
после чего postmessage(hwnd,my_msg,0,0);
все это прекрасно работает когда тюкаешь по одному файлу, но когда все одновременно получается белеберда
может есть способ другой, подскажите полалуйста
P.S. т.к. я живу на камчатке только что открыл эту ветку
novill (2007-04-23 17:33:00) [26]Ну и если посылаешь то почему окну с application.Title, а не mauinform.caption
novill (2007-04-23 17:32:00) [27]А ты уверен, что ты его посылаешь? :)
Hero (2007-04-23 17:15:00) [28]Неужели нет решения этой проблеммы???
Hero (2007-04-23 13:46:00) [29]oxffff © (23.04.07 10:07) [4] не смешно
возникла другая промблема
нахожу handle вот таким способом
Wnd := GetWindow(Handle, gw_HWndFirst);
WHILE Wnd <> 0 DO BEGIN
IF (Wnd <> Application.Handle) AND (GetWindow(Wnd, gw_Owner) = 0) then
BEGIN
GetWindowText (Wnd, buff, sizeof (buff ));
IF StrPas (buff) = application.Title THEN sendmessage(wnd,1025,0,0).......и т.д.
есть обработчик события
procedure GetMes(var mes :TMessage); message 1025;
однако он не срабатывает так как по моему мнению wnd который находит моя прога есть хдл приложения а не формы в частности mainform и что делать далее по этому поводу незнаю
oxffff (2007-04-23 10:07:00) [30]
> Hero © (23.04.07 04:16)
> запустили второй раз мою прогу нужно передать paramstr(1)
> первой проге
По электронной почте.
Leonid Troyanovsky (2007-04-23 09:49:00) [31]
> Loginov Dmitry © (23.04.07 07:47) [1]
> текстовом файле, и уведомить об этом первую прогу с помощью
> SendMessage().
Если уж SendMessage, то WM_COPYDATA и никаких файлов.
--
Regards, LVT.
Hero (2007-04-23 09:36:00) [32]Да спасибо. Я ужо дотумкался до ентого
Loginov Dmitry (2007-04-23 07:47:00) [33]Способов масса.
Один из наиболее простых - сохранить текст во временном текстовом файле, и уведомить об этом первую прогу с помощью SendMessage().