![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Надо послать сообщение своей программе. [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]А в чем конкретно затруднения?