|
4 / 4 / 0
Регистрация: 25.08.2010
Сообщений: 11
|
|
.NET 3.x Управление программами07.09.2010, 10:12. Показов 2246. Ответов 17
Метки нет (Все метки)
Столкнулся с интересной задачей. Нужно реализовать слежение за процесом и в случае его зависания или других заданных факторов его перезапускать. Данное реализовать просто. Но есть одно "Но" после перезапуска программе необходимо передовать данные (бонально вводить пароль или имя пользователя) указанные ранее. Вот тут то я и встал в ступор. Подскажите, каким способом это можно реализовать и куда нужно копать?
С уважением, Mordor.
0
|
|
| 07.09.2010, 10:12 | |
|
Ответы с готовыми решениями:
17
управление внешними программами через горячие клавиши Передача данных между программами Оптимальный способ передачи данных между программами на c# |
|
Почетный модератор
|
|
| 07.09.2010, 15:35 | |
|
Копать нужно в сторону SendMessage(WM_SETTEXT, WM_GETTEXT, WM_GETTEXTLENGTH), FindWindow(Ex) или EnumWindows (EnumChildWindows).
p.s. подразумеваю, что Вам придется (захочется) в дальнейшем ловить создание окна, на .NET такое не реализуемого, кроме как метод через ... ну Вы поняли.
0
|
|
|
4 / 4 / 0
Регистрация: 25.08.2010
Сообщений: 11
|
||||||
| 07.09.2010, 17:16 [ТС] | ||||||
|
Я уже нашел спасибо. Мое решение WinAPI, в частности, user32.dll с поиском окон + Spy++ для поиска. Уже написал простейшую программу с изменением текста в окне калькулятора. Кому интересно вот код:
0
|
||||||
|
4 / 4 / 0
Регистрация: 25.08.2010
Сообщений: 11
|
|
| 07.09.2010, 17:39 [ТС] | |
|
Привидите мне, пожалуйста, ссылку где подробно освещен именно вопрос передачи сообщений с подробными иразжованными примерами по средствам SendMessage(WM_SETTEXT, WM_GETTEXT, WM_GETTEXTLENGTH) и желательно на русском. Если получиться спасибо буду говорить вечно
.
0
|
|
|
Почетный модератор
|
|
| 07.09.2010, 17:41 | |
|
pinvoke.net и MSDN. На русском - да, Вы почти ничего не найдете нормального.
1
|
|
|
CEO
2258 / 1248 / 57
Регистрация: 16.03.2009
Сообщений: 3,588
|
|
| 08.09.2010, 00:45 | |
|
Mordor, сам задавался этим вопросом - собрал пару хороших ссылок, покопаюсь в избранном - выложу
0
|
|
|
153 / 113 / 25
Регистрация: 23.06.2008
Сообщений: 320
|
|
| 08.09.2010, 07:22 | |
|
2
|
|
|
CEO
2258 / 1248 / 57
Регистрация: 16.03.2009
Сообщений: 3,588
|
|
| 08.09.2010, 23:39 | |
|
Отобрал только то что на русском по теме p/invoke и взаимодействия СОМ (мож кому пригодится), есть много интересных материалов но на инглише.
(ссылок на форумы нет) "Взаимодействие" - статьи RSDN Хуки в Win32 Методы перехвата API-вызовов в Win32 Основные функции Win API и их вызов на .NET (English only)
1
|
|
|
CEO
2258 / 1248 / 57
Регистрация: 16.03.2009
Сообщений: 3,588
|
|
| 09.09.2010, 01:03 | |
|
SSTREGG, можно, если постаратся
но запостил больше ради понимания топикстартером механизмов работы Win32 API.
0
|
|
|
Почетный модератор
|
||
| 09.09.2010, 01:12 | ||
на .net конечно )
0
|
||
|
CEO
2258 / 1248 / 57
Регистрация: 16.03.2009
Сообщений: 3,588
|
||
| 09.09.2010, 01:46 | ||
будет время
- вернусь к этой теме и реализую в рамках очередной подготовки к олимпиаде - пока времени морочится нет (знаю такие отмазки не катят но я ведь не зря это в инете искал
)
0
|
||
|
Почетный модератор
|
|
| 09.09.2010, 01:51 | |
|
Ну дык, на C++ я выше крыши видел )) На .net даже не пытайся, не раз сам этим занимался. Это невозможно сделать т.к. нужно реализовывать в native dll, которая грузилась бы в адресное пространство каждого процесса. При данной реализации в .net, получается что должна создаваться новая копия CLR и грузится в каждый процесс, а это нереально (т.к. существовать может только одна копия CLR)
0
|
|
|
CEO
2258 / 1248 / 57
Регистрация: 16.03.2009
Сообщений: 3,588
|
|
| 09.09.2010, 02:10 | |
|
SSTREGG,
ну а если
создать межплатформенную (между CLR и native) библиотеку и использовать ее как буфер?
0
|
|
|
Почетный модератор
|
|
| 09.09.2010, 02:18 | |
|
В том то и дело, что обработчики (callback функции) невозможно привинтить к приложению на .NET, уже пробовал
Они должны быть обязательно в "native среде". Можно конечно ещё пару раз попробовать, через другие способы, но что-то мне подсказывает, что это те же яйца только сбоку ))Результат один - легче взять C++ (ну или Delphi, или любой другой язык компилируемый в native) и написать на нём )
0
|
|
|
CEO
2258 / 1248 / 57
Регистрация: 16.03.2009
Сообщений: 3,588
|
|
| 09.09.2010, 03:06 | |
|
0
|
|
|
Почетный модератор
|
|
| 09.09.2010, 09:09 | |
|
WndProc ничего не перехватывает, он получает сообщения от системы, он свой для каждого окна. В данном случае я имел ввиду обработчики, например перехват API или тот же хук WH_CBT.
0
|
|
| 09.09.2010, 09:09 | |
|
Помогаю со студенческими работами здесь
18
Реализация ssl для обмена между программами на одном устройстве Взаимодействие между двумя разными программами помогите с программами Переключение между программами Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем.
. . .
|
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|