Модераторы: feodorv, GremlinProg, xvr, Fixin
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Есть ли в Windows аналог сигналов UNIX? 
:(
    Опции темы
phprus
Дата 19.8.2011, 09:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 129
Регистрация: 22.8.2006

Репутация: нет
Всего: 3



Доброго времени суток!

Подскажите пожалуйста, есть ли в Windows аналоги сигналов UNIX?
Под аналогами понимается более полноценное решение, чем функция signal() из CRT, из сигналов которой по сути только SIGINT можно по назначению использовать.
PM MAIL WWW ICQ   Вверх
spyswamp
Дата 19.8.2011, 11:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 349
Регистрация: 18.8.2006

Репутация: нет
Всего: 7



Прям чтобы с любым приложением работать определенным набором команд (сигналов) - скорее всего, нету. А так SendMessage()/PostMessage(). Только главное знать что посылать и кому.


--------------------
- why you call it beta?
- cuz it's betta then nothin'
PM MAIL   Вверх
phprus
Дата 19.8.2011, 11:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 129
Регистрация: 22.8.2006

Репутация: нет
Всего: 3



Цитата(spyswamp @  19.8.2011,  14:11 Найти цитируемый пост)
А так SendMessage()/PostMessage(). Только главное знать что посылать и кому. 

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

Я хочу портировать обмен командами между двумя приложениями, а так-как набор команд строго ограничен, то Linux версия использует сигналы.
PM MAIL WWW ICQ   Вверх
Alca
Дата 19.8.2011, 12:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3993
Регистрация: 14.6.2006

Репутация: 5
Всего: 50



Цитата

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

можно создать невидимое

Добавлено через 2 минуты и 8 секунд
Цитата

Я хочу портировать обмен командами между двумя приложениями

http://frolov-lib.ru/books/bsp/v27/ch2.htm


--------------------
PM WWW ICQ Skype Jabber   Вверх
spyswamp
Дата 19.8.2011, 13:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 349
Регистрация: 18.8.2006

Репутация: нет
Всего: 7





--------------------
- why you call it beta?
- cuz it's betta then nothin'
PM MAIL   Вверх
GremlinProg
Дата 19.8.2011, 13:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2706
Регистрация: 9.8.2005
Где: Тюмень

Репутация: 99
Всего: 106



Цитата(phprus @  19.8.2011,  13:44 Найти цитируемый пост)
А для приложений у которых нет окон или консольных есть аналоги?

PostThreadMessage
нужно только цикл обработки сообщений организовать с обоих сторон (если нужен двусторонний обмен)


--------------------
"Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины."
PM WWW ICQ   Вверх
spyswamp
Дата 19.8.2011, 13:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 349
Регистрация: 18.8.2006

Репутация: нет
Всего: 7



Alca, можно и собаке пятую ногу пришить. smile Но есть же PostThreadMessage ( http://simplesamples.info/Windows/PostThreadMessage.php ), которую можно заставить работать между разными процессами.

Добавлено через 37 секунд
GremlinProg,  smile меня уже дважды опередили пока дописки делал. :(

Добавлено через 4 минуты и 20 секунд
Кстати, вот и небольшая дискуссия по поводу PostThreadMessage: http://www.codeproject.com/Messages/343389...d-in-a-Dif.aspx (годные ответы отмечены галочками).


--------------------
- why you call it beta?
- cuz it's betta then nothin'
PM MAIL   Вверх
Alca
Дата 19.8.2011, 13:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3993
Регистрация: 14.6.2006

Репутация: 5
Всего: 50



Чего-то я всегда думал, что PostThreadMessage только для потоков одного процесса


--------------------
PM WWW ICQ Skype Jabber   Вверх
phprus
Дата 19.8.2011, 15:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 129
Регистрация: 22.8.2006

Репутация: нет
Всего: 3



Цитата(Alca @  19.8.2011,  15:57 Найти цитируемый пост)
можно создать невидимое

Из пушки по воробьям. smile

Цитата(Alca @  19.8.2011,  15:57 Найти цитируемый пост)

> Я хочу портировать обмен командами между двумя приложениями
http://frolov-lib.ru/books/bsp/v27/ch2.htm

Мне не нужен полноценный IPC. Для решаемой задачи большинство методов IPC будут слишком громоздкими.
Но за ссылку спасибо, так как именованные pipe в этом случае действительно можно использовать, а я забыл, что в отличие от Linux не придется думать, где в файловой системе их хранить.

GremlinProg,  spyswamp
Спасибо за ссылку на PostThreadMessage, посмотрю на ее возможности.
PM MAIL WWW ICQ   Вверх
bems
Дата 2.9.2011, 13:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 3400
Регистрация: 5.1.2006

Репутация: 2
Всего: 88



Цитата(Alca @  19.8.2011,  13:32 Найти цитируемый пост)
Чего-то я всегда думал, что PostThreadMessage только для потоков одного процесса 
нет, но не у всех потоков есть очередь сообщений

Добавлено через 2 минуты и 44 секунды
Цитата(phprus @  19.8.2011,  11:44 Найти цитируемый пост)
Я хочу портировать обмен командами между двумя приложениями,
named pipes, mailslots, сокеты



--------------------
Обижено школьников: 8
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Системное программирование и WinAPI"
Fixin
GremlinProg
xvr
feodorv
  • Большое количество информации и примеров с использованием функций WinAPI можно найти в MSDN
  • Описание сообщений, уведомлений и примеров с использованием компонент WinAPI (BUTTON, EDIT, STATIC, и т.п.), можно найти в MSDN Control Library
  • Непосредственно, перед созданием новой темы, проверьте заголовок и удостоверьтесь, что он отражает суть обсуждения.
  • После заполнения поля "Название темы", обратите внимание на наличие и содержание панели "А здесь смотрели?", возможно Ваш вопрос уже был решен.
  • Приводите часть кода, в которой предположительно находится проблема или ошибка.
  • Если указываете код, пользуйтесь тегами [code][/code], или их кнопочными аналогами.
  • Если вопрос решен, воспользуйтесь соответствующей ссылкой, расположенной напротив названия темы.
  • Один топик - один вопрос!
  • Перед тем как создать тему - прочтите это .

На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы .


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема »


 




[ Время генерации скрипта: 0.0488 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.