С Новым годом! Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/25: Рейтинг темы: голосов - 25, средняя оценка - 4.88
1 / 1 / 1
Регистрация: 26.03.2016
Сообщений: 67

Передача данных другому приложению

14.07.2017, 00:32. Показов 4681. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Появилась потребность передавать данные между двумя отдельными приложениями. Как можно такое реализовать. Т.е. надо, чтобы из одного приложения строка с текстом передавалась другому приложению, а там это выводилось в textbox
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
14.07.2017, 00:32
Ответы с готовыми решениями:

Передача данных стороннему приложению.
Итак!. Привет всем. Задача такова. У меня есть программа, состоящая из Формы, Button, и textBox. (Это для простоты и понятности.) ...

Как посылать сообщение другому приложению
Пожалуйста объясните технику или дайте ссылочку, задание следующее: Написать два консольных приложения (А и Б). Приложения А выполняет...

Отправка запросов другому приложению.ГЕТ, или как?
Всем привет ув.Программисты) Собственно пишу приложение которое будет находится у конечного пользователя. Точнее на ПК в офисе Само...

15
 Аватар для m0nax
1274 / 975 / 113
Регистрация: 12.01.2010
Сообщений: 1,971
14.07.2017, 20:42
сокеты проще всего
если хочется жести есть именованные каналы и общая память
если говнокодить то еще через файлы можно, каким-нибудь FileSystemWatcher детектить файлик "data.txt", прочитал, удалил, второй процесс пишет соответственно
0
1 / 1 / 1
Регистрация: 26.03.2016
Сообщений: 67
15.07.2017, 00:00  [ТС]
Цитата Сообщение от m0nax Посмотреть сообщение
если хочется жести есть именованные каналы и общая память
Можно поподробнее, пожалуйста, впервые слышу
0
74 / 62 / 26
Регистрация: 05.08.2014
Сообщений: 218
16.07.2017, 18:26
Цитата Сообщение от Zrefer Посмотреть сообщение
Появилась потребность передавать данные между двумя отдельными приложениями. Как можно такое реализовать. Т.е. надо, чтобы из одного приложения строка с текстом передавалась другому приложению, а там это выводилось в textbox
Обычно раньше для этого использовалось сообщение WM_COPYDATA и с тех пор ничего не изменилось.
0
1 / 1 / 1
Регистрация: 26.03.2016
Сообщений: 67
16.07.2017, 18:30  [ТС]
Цитата Сообщение от TooHot Посмотреть сообщение
Обычно раньше для этого использовалось сообщение WM_COPYDATA и с тех пор ничего не изменилось.
А можно пример кода какого-нибудь, просто я не очень в этом понимаю
0
74 / 62 / 26
Регистрация: 05.08.2014
Сообщений: 218
16.07.2017, 18:33
Вы можете использовать также свои сообщения, и передавать данные как структуру через SendMessage, PostMessage, SendMessageTimeout, SendMessageCallback и прочие.
Даже слать широковещательные сообщения (а ваши приложения будут их получать)
0
1 / 1 / 1
Регистрация: 26.03.2016
Сообщений: 67
16.07.2017, 18:37  [ТС]
TooHot, Так а можно какой-нибудь простенький пример, если не сложно?
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
16.07.2017, 19:17
Цитата Сообщение от Zrefer Посмотреть сообщение
Как можно такое реализовать.
WCF+именованные каналы.
1
17.07.2017, 09:08

Не по теме:

insite2012, на форуме есть специалисты, неравнодушные к определённым темам :)
Товарищ insite2012 неравнодушен к WCF (в положительную сторону).
Товарищ Rius неравнодушен к SerialPort (в негативную сторону).
Есть специалисты, неравнодушные к LINQ, готовые даже задачу по сложению двух чисел выполнить через выборку.
А есть те, кто неравнодушен к разного рода извращениям, и расчехляет клавиатуру только тогда, когда появляются вопросы типа рефлексии, вызова виндовского API, комиляции во время исполнения и прочего :)

0
484 / 397 / 68
Регистрация: 14.02.2014
Сообщений: 1,930
17.07.2017, 10:44

Не по теме:

Exerion, видовое многообразие )



Zrefer, в данном вопросе я тоже за WCF. Тема, конечно, не простая, но для межпроцессорного взаимодействия в рамках, как одного ПК, так и распределённых систем подходит идеально. В общем Must learn
0
 Аватар для Sigin
226 / 225 / 112
Регистрация: 20.10.2013
Сообщений: 808
17.07.2017, 11:00
Лучший ответ Сообщение было отмечено Zrefer как решение

Решение

Цитата Сообщение от m0nax Посмотреть сообщение
если хочется жести есть общая память
"Писатель":
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
using System;
using System.IO.MemoryMappedFiles;
 
namespace ConsoleApp1
{
    internal class Program
    {
        private static void Main(string[] args)
        {
            Console.WriteLine("Введите сообщение");
            var s = Console.ReadLine();
            if (!string.IsNullOrEmpty(s))
            {
                var message = s.ToCharArray();
                var size = message.Length;
                var sharedMemory = MemoryMappedFile.CreateOrOpen("MemoryFile", size * 2 + sizeof(int));
                using (var writer = sharedMemory.CreateViewAccessor(0, size * 2 + sizeof(int)))
                {
                    writer.Write(0, size);
                    writer.WriteArray(sizeof(int), message, 0, message.Length);
                }
            }
            Console.ReadLine();
        }
    }
}
"Читатель":
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
using System;
using System.IO.MemoryMappedFiles;
 
namespace ConsoleApp2
{
    internal class Program
    {
        private static void Main(string[] args)
        {
            int size;
            var sharedMemory = MemoryMappedFile.OpenExisting("MemoryFile");
            using (var reader = sharedMemory.CreateViewAccessor(0, sizeof(int), MemoryMappedFileAccess.Read))
            {
                size = reader.ReadInt32(0);
            }
            char[] message;
            using (var reader = sharedMemory.CreateViewAccessor(sizeof(int), size * 2, MemoryMappedFileAccess.Read))
            {
                message = new char[size];
                reader.ReadArray(0, message, 0, size);
            }
            Console.WriteLine("Получено сообщение:");
            Console.WriteLine(message);
            Console.ReadLine();
        }
    }
}
1
17.07.2017, 11:07

Не по теме:

Цитата Сообщение от Exerion Посмотреть сообщение
на форуме есть специалисты, неравнодушные к определённым темам
Exerion, ну да, есть такое))) Мне нравится WCF и вообще сетевое взаимодействие. Сейчас плотно изучаю все способы работы с сетью, но WCF просто предоставляет удобный объектный механизм, плюс там много возможностей для расширения. А последовательный порт-ну он такой, какой есть. Да, есть у него свои минусы, а где их нет?
Каждому нравится свое, я вот никак не могу заставить себя взяться за WPF и ASP.NET. Несколько раз пытался, ну вот бесит меня эта разметка и все. Код-пожалуйста, мне нравится его писать, а разметка просто убивает... Стараюсь, но негатив глушит все попытки. :)

0
484 / 397 / 68
Регистрация: 14.02.2014
Сообщений: 1,930
17.07.2017, 11:10
Цитата Сообщение от insite2012 Посмотреть сообщение
Код-пожалуйста, мне нравится его писать, а разметка просто убивает
Потому разметка и была введена. Весь замысел был в том, чтобы максимально отделить код от GUI вплоть до того, что программист вообще не касается ГУЯ, который "рисуют" специально-обученные дизайнеры. Которые, в свою очередь вообще ничего не знают о программировании.
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
17.07.2017, 12:09
Цитата Сообщение от aquaMakc Посмотреть сообщение
замысел был в том, чтобы максимально отделить код от GUI
Так я это знаю, но вот самому-то тоже надо хоть немного уметь это делать... И никак не могу себя заставить)))
0
17.07.2017, 12:21

Не по теме:

insite2012, ты прям, как я, с разметкой никак не могу сдружиться. Начинал ASP.Net и WPF - вообще никак не дается, хоть и знаю C# на нормальном уровне и проблем с написанием кода - нет

0
17.07.2017, 12:30

Не по теме:

Цитата Сообщение от 1231231ghacking Посмотреть сообщение
Начинал ASP.Net и WPF - вообще никак не дается, хоть и знаю C# на нормальном уровне и проблем с написанием кода - нет
1231231ghacking, аналогично. Разметка меня просто убивает. :)

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
17.07.2017, 12:30
Помогаю со студенческими работами здесь

Передача аргументов запущенному приложению
Возможно ли передать аргументы уже запущенному приложению? Заранее благодарю за ответы. :)

Передача команды стороннему (запущенному) приложению
Как возможно передавать команду запущенному приложению? Необходимо в TotalCommander открыть определенный каталог. пока вижу единственное...

Подключение базы данных MySQL к приложению
Здравствуйте, в общем такая ситуация. Мне нужно подключить базу данных MySQL через Open Server к C#. Я пытаюсь это сделать и мне выдает...

Отправка данных другому пользователю и ожидание данных от него
Всем привет!) Такой вопрос: у меня есть js игра на asp,которая выполняется на стороне клиента и время от времени должна передавать данные...

Передача строки текста стороннему приложению
Добрый день. Запускаю стороннее приложение из своей программы: proc.StartInfo.FileName = @"C:\Program Files...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru