Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Надо послать сообщение своей программе. [D7, WinXP]


Andy BitOff ©   (2005-06-08 14:19:00) 

И передать две строки. Подскажите, пожалуйста, как.


Erik1   (2005-06-08 16:40:00) [1]

С NamePipe работать очень просто!


Digitman   (2005-06-08 14:57:00) [2]


> Andy BitOff ©   (08.06.05 14:54) [15]


ты же спросил про "сообщение своейпрограмме", а не про сообщение в виде текста в некоем файле, созданного тобой и адресованного хрен знает для кого, пока им кто-то не сподобится воспользоваться) ..


Andy BitOff   (2005-06-08 14:54:00) [3]

А как же тогда соразмерность потраченных усилий и достигнутого результата?

Если этот метод, о котором я тут спрашиваю, будет использоваться, ну дай бог, раз в месяц, то стОит ли игра свеч?


Digitman   (2005-06-08 14:48:00) [4]

может и проще.
но дурнее)


Andy BitOff   (2005-06-08 14:46:00) [5]

А не проще будет создать в Temp дире файлик одним приложением и прочитать его другим приложением?


bns   (2005-06-08 14:41:00) [6]

А если один из процессов под другим account, WM_COPYDATA отработает?


Digitman   (2005-06-08 14:37:00) [7]


> Andy BitOff ©   (08.06.05 14:33) [9]


если речь идет об интерпроцессном взаимодействии, где взаимодействующие процессы - это процессы твоихприложений, WM_COPYDATA - не панацея.

я бы предпочел Named Pipes


Andy BitOff   (2005-06-08 14:33:00) [8]

Digitman ©   (08.06.05 14:30) [8]

Извиняй, конечно. Но так все понятно, когда сам пишешь вопрос =) и, конечно, не понятно, когда прочтешь его через некоторое время.
Еще раз сори.


TUser   (2005-06-08 14:33:00) [9]

> Andy BitOff ©   (08.06.05 14:28) [6]

При посылке этого сообщения система скопирует нужное количество нужных данный в адресное пространство того процесса, которому посылается сообщение. Для того оно и придумано.


Digitman   (2005-06-08 14:30:00) [10]


> Andy BitOff ©   (08.06.05 14:28) [6]


а тебе так "влом" было уточнить в вопросе, что речь идет об интерпроцессном взаимодействии ? а не о "тихо сам с собою" ?


MBo   (2005-06-08 14:29:00) [11]

Если в рамках одного процесса, то
SendMessage(YourHandle, WM_TWOSTRINGMSG, Integer(String1),Integer(String2));

Если процессы разные - TUser ©   (08.06.05 14:23) [2]
WM_COPYDATA


Andy BitOff   (2005-06-08 14:28:00) [12]

Я конечно еще не пробовал, но ведь поинтер будет указывать на адресное пространство другой программы (пославшей сообщение) и тут никаких подводных камней?


TUser   (2005-06-08 14:25:00) [13]

> В том, что msg.wParam и msg.lParam есть integer'ы

Один из них - это pointer, а второй - длина передаваемой информации.


Andy BitOff   (2005-06-08 14:24:00) [14]

В том, что msg.wParam и msg.lParam есть integer'ы


Digitman   (2005-06-08 14:24:00) [15]


> TUser ©   (08.06.05 14:23) [2]


телепат)


TUser   (2005-06-08 14:23:00) [16]

WM_COPYDATA


MBo   (2005-06-08 14:22:00) [17]

А в чем конкретно затруднения?


Наверх

Титульная страница Поиск, карта сайта Написать письмо