Математический форум Math Help Planet
Обсуждение и решение задач по математике, физике, химии, экономике Теоретический раздел |
Часовой пояс: UTC + 3 часа [ Летнее время ] |
новый онлайн-сервис число, сумма и дата прописью |
|
Часовой пояс: UTC + 3 часа [ Летнее время ] |
Страница 1 из 2 |
[ Сообщений: 11 ] | На страницу 1, 2 След. |
|
Автор | Сообщение | |
---|---|---|
O Micron |
|
|
После компиляции это будет стандартный экзешник, при запуске создающий свое окно. Допустим, этот экзешник запущен несколько раз и создалось несколько окон соответственно. Вопрос: - Каким образом установить передачу информации между этими окнами? (Нужно, чтобы каждый экземпляр знал, что запущены еще и другие, и сколько именно) Ну, самый очевидный путь, который приходит в голову - это создать временный файл, в который каждый экземпляр будет записывать отметку о своем присутствии. Неудобство этого пути в том, что временный файл надо обнулять и вовремя удалять с диска. А если случился глюк (что для Винды не редкость) или просто пользователь снял задачу через диспетчер процессов, то отметки в файле остались, хотя программа больше не в работе, - и удалить эти ложные отметки уже некому. Этим же недостатком страдает и вариант записи в Системный Реестр, только это еще и некошерно - засорять Реестр посторонними записями. Идеально было бы иметь какую-нибудь общую область в ОЗУ, куда можно было бы ставить отметки - а при выключении компа всё это автоматически аннулировалось бы. Возможно ли что-нибудь подобное организовать через API например? |
||
Вернуться к началу | ||
StepUp |
|
|
O Micron писал(а): Идеально было бы иметь какую-нибудь общую область в ОЗУ, Чтобы это делать надо использовать системный API интерфейс и для этого компилировать программу для работы в привилигерованном режиме. Этот вариант скорей всего проходит только на C++. O Micron писал(а): Возможно ли что-нибудь подобное организовать через API например? Проще будет посмотреть документацию на вашу среду программирования и выяснить, как создается именованный pipe-канал или семафор. Через pipe-канал можно передавать информацию между программами. А с помощью семафоров запрещать запуск программ. Посмотрите примеры в документации. Может эти механизмы вам подойдут. Только учтите, что в Windows эти механизмы делятся на локальные, когда передача информации идет между ветвями одной программы, и системные, когда один независимый exe-шник взаимодействует с другими. В вашем случае нужны системные интерфейсные функции. Еще. Посмотрите интерфейс объекта-окно. Давно уже это было, но между окнами в Windows существовал обмен сообщениями. С помощью этого механизма тоже можно управлять приложениями. Давно я это делал, поэтому не могу гарантировать, что есть системные сообщения, а вот между окнами одной программы точно можно обмениваться сообщениями. |
||
Вернуться к началу | ||
O Micron |
|
|
За pipe спасибо, я не слыхал. Поищу.
Про обмен сообщениями между окнами мне оч давно попадалось на форуме каком-то, вряд ли теперь найду. А не могли бы Вы указать на хороший русский перевод описания АПИ? Там ведь много чего есть, но инглиш утомляет очень. (У меня есть перевод, но фрагментарный, там только самые употребительные разъяснены.) |
||
Вернуться к началу | ||
StepUp |
|
|
O Micron писал(а): А не могли бы Вы указать на хороший русский перевод описания АПИ? Там ведь много чего есть, но инглиш утомляет очень. Когда я работал у нас были купленные два диска с MSDN на английском. В принципе я завел себе записную книжку и туда записывал перевод нужных функций и потом им пользовался. Сейчас посмотрел Интернет. Обнаружил, что уже есть фирменный сайт MSDN на русском. https://docs.microsoft.com/ru-ru/documentation/ Попробуйте посмотреть. Мне все облегчало то, что все системные вызовы описаны для C++ и мы на нем и писали программы. |
||
Вернуться к началу | ||
O Micron |
|
|
Я на VB6 пишу. АПИ подключаются без особых проблем, - но надо точно знать, как, и чего хочет каждая функция.
Я когда COM-порт подключал, чуть не о####ел, пока DCB разобрал - в русских описаниях и примерах - ошибки, блин!.. И ведь никто не разъясняет основные принципы: как, для чего это нужно, а типо - напишите то, кликните туда. Тупость, блин. Простите за непарламентский язык. За сайт спасибо. Да, иногда находил у Микрософта кое-что дельное. А сейчас он больше не отвечает. "Ваш браузер не поддерживается" - и всё, приплыли. Хотят, чтобы я новый поставил, который на ХРюшу не ставится, надо Десятку. Мне чё теперь, ради них ноут на помойку выкинуть, потому что Десятка на него не встанет? |
||
Вернуться к началу | ||
StepUp |
|
|
O Micron писал(а): За сайт спасибо. Да, иногда находил у Микрософта кое-что дельное. А сейчас он больше не отвечает. "Ваш браузер не поддерживается" - и всё, приплыли. У меня тоже XP и десятка. Под XP стоит браузер Yandex версия 17.4.1. Большинство сайтов видно. Под ХР яндекс по ссылке, которую я вам дал, сайт открывается. Объем Яндекса маленький. Попробуйте установить. Будете видеть больше. |
||
Вернуться к началу | ||
O Micron |
|
|
StepUp писал(а): браузер Yandex Судя по тому бешеному упорству, с которым Яндекс впихивает нам этот браузер, ставить его ни в коем случае не следует.Я попробовал Qt, который умеет эмулировать разные другие браузеры. Под эмуляцией Сафари сайт Микрософта не разобрал, что это такое, и не выдал требование поставить свой Edge, но и информацию не показал, только колонтитулы сайта. Чё-то не срослось, он же весь на скриптах сделан каких-то ненормальных. В общем - пошел он в жо... вместе со своим Биллом. Найдется и без него инфа по-русски. |
||
Вернуться к началу | ||
StepUp |
|
|
O Micron писал(а): В общем - пошел он в жо... вместе со своим Биллом. Найдется и без него инфа по-русски. На счет Билла полностью с вами солидарен. Тем более, что инфу на русском найти можно. Поищите в Инете по ключевой аббревиатуре "MSDN". У меня в браузере сразу вышел на ссылку, что вам сообщил, но ссылок, конечно, много. |
||
Вернуться к началу | ||
JhuJhu |
|
|
O Micron
COM, Named Pipes, Shared Memory Какой язык? (лучше с версией компилятора) Цитата: Идеально было бы иметь какую-нибудь общую область в ОЗУ эта технология называется Shared Memory Цитата: Неудобство этого пути в том, что временный файл надо обнулять и вовремя удалять с диска. А если случился глюк (что для Винды не редкость) или просто пользователь снял задачу через диспетчер процессов, то отметки в файле остались, хотя программа больше не в работе, - и удалить эти ложные отметки уже некому. SQL Доверенная конкурентность, оставляете версию последней транзакции. Вообще возникает куча вопросов... почему бы Вам не запустить несколько нитей исполнения в рамках одного процесса(программы)? почему бы Вам не создать программу-диспетчер, которая синхронизирует остальные программы? итд... Дайте представление о вашей программе или код... в конце-концов. https://ru.wikipedia.org/wiki/%D0%97%D0 ... 0%B0%D1%85 |
||
Вернуться к началу | ||
JhuJhu |
|
|
Вернуться к началу | ||
На страницу 1, 2 След. | [ Сообщений: 11 ] |
Похожие темы | Автор | Ответы | Просмотры | Последнее сообщение |
---|---|---|---|---|
Информационный обмен в популяциях
в форуме Химия и Биология |
0 |
501 |
27 июл 2019, 00:27 |
|
Создать 960 вариантов ДЛК
в форуме Информатика и Компьютерные науки |
1 |
365 |
09 июн 2021, 06:26 |
|
А не создать ли нам киборга? | 13 |
965 |
21 авг 2014, 12:29 |
|
Создать массив
в форуме Информатика и Компьютерные науки |
5 |
421 |
11 ноя 2017, 01:35 |
|
Как создать шаблон в Mathcad 15 (RUS)
в форуме MathCad |
1 |
785 |
24 июн 2015, 09:52 |
|
Создать математическую модель
в форуме MathCad |
0 |
483 |
07 ноя 2016, 14:39 |
|
Код программы | 0 |
207 |
03 май 2023, 19:56 |
|
Задача: создать 3x3 бинго-борд
в форуме Начала анализа и Другие разделы школьной математики |
3 |
325 |
22 окт 2017, 04:12 |
|
Предложение создать теорию для математиков
в форуме Размышления по поводу и без |
1 |
158 |
13 окт 2022, 12:49 |
|
создать формулу для подсчета рейтинга | 7 |
124 |
11 дек 2023, 21:26 |
Часовой пояс: UTC + 3 часа [ Летнее время ] |
Кто сейчас на конференции |
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8 |
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения |