![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| Brain89 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 68 Регистрация: 18.1.2010 Репутация: 2 Всего: 2 |
У меня возникла проблема, которую в приближении можно описать так. Есть одно приложение со строкой ввода. По нажатию на кнопку строка передается во второе приложение (не форму! приложения независимы) и отображается в строке второго приложения. Если изменить надпись в первом приложении и снова нажать на кнопку, то надпись во втором приложении изменяется. Оба приложения запущены. Как подобное реализовать без использования сокетов (у меня маленькая локальная программа), без внешних файлов и реестра? Возможно ли это в условиях таких ограничений? Заранее спасибо.
|
|||
|
||||
| likegift |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 208 Регистрация: 14.10.2008 Репутация: нет Всего: 3 |
Pipes ?
|
|||
|
||||
| Voyager |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 532 Регистрация: 8.2.2005 Репутация: 3 Всего: 18 |
Можно. Гуглите в сторону pinvoke: WM_COPYDATA, как раз то что нужно.
http://msdn.microsoft.com/en-us/library/ms649011(VS.85).aspx http://www.codeproject.com/KB/cs/wm_copydata_use.aspx http://www.codeproject.com/KB/threads/Inte...mmunicator.aspx http://social.msdn.microsoft.com/Forums/en...9-f9f75717456c/ Это сообщение отредактировал(а) Voyager - 19.4.2011, 21:46 |
|||
|
||||
| -Mikle- |
|
|||
![]() Невидимка Vingrad'а ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1672 Регистрация: 22.6.2003 Где: Казахстан, Астана Репутация: 17 Всего: 59 |
Думаю это слишком нативно для дотNET. Способов и без этого хватает. Лучше использовать те же пайпы как предложил likegift, или ремоутинг, ИМХО. -------------------- Если тебе плюют в спину, значит ты впереди... |
|||
|
||||
| neutrino |
|
|||
![]() Gothic soul ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 3041 Регистрация: 25.3.2002 Где: Верхняя Галилея, Кармиэль Репутация: 3 Всего: 62 |
Named Pipes
Shared memory DDE -------------------- The truth comes from within ... Покойся с миром, Vit |
|||
|
||||
| Brain89 |
|
||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 68 Регистрация: 18.1.2010 Репутация: 2 Всего: 2 |
Спасибо всем за советы. В моем случае удобнее было бы использовать Pipe или посылку сообщения WM_COPYDATA (попробовал эти варианты, вполне работает), Remoting слишком масштабно, что ли.
Но сейчас решил сделать следующим образом. Помимо написано выше, мне требуется, чтобы первая форма запускалась в единственном экземпляре. Потому я добавил такой класс:
И вызываю форму так:
В самом же обработчике запуска второго экземпляра получаю параметры командной строки, переданные из второго приложения и содержащие нужную строку, и работаю с ними:
Как вам такой вариант? Я подозреваю, что у него есть какие-то изъяны, но пока не знаю, какие) |
||||||
|
|||||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |