Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: FindWindow и FindWindowEx  (Прочитано 11583 раз)
0 Пользователей и 1 Гость смотрят эту тему.
eugrita
Помогающий

ru
Offline Offline

« : 09-12-2012 20:51 » 

API-функция FindWindow и FindWindowEx могут отловить хэндл окна, далее если окно содержит элементы управления, можно передать туда сообщение или вызвать событие элемента.
Т.е. осуществлять функции управления другим приложением.
Что будет если программа с окном которое надо обнаружить (Прог.1) будет запущена не на компьютере где
программа Прог2 с FindWindow а на сетевом адресе? т.е.надо сделать обмен сообщениями через сеть
Найдет ли хендл  FindWindow ?
Или для этого нужны другие компоненты например ServerSocket ClientSocket ?
Записан
zubr
Гость
« Ответ #1 : 09-12-2012 21:47 » 

Не совсем понятно из вопроса. Если речь о запуске приложения на удаленном компе через удаленный рабочий стол, то тут естественно, обмен сообщениями не прокатит. Если же приложение запускается на твоем компе, но с сетевого диска, то обмен сообщениями будет работать.
Записан
eugrita
Помогающий

ru
Offline Offline

« Ответ #2 : 10-12-2012 00:10 » new

я имел ввиду какое-то приложении работающее в сети но естественно,не обязательно запущенное с моего компа.Например, сервер баз данных. Сетевой диск откуда оно запущено у меня есть, но запущено не мной.
----------------------------------------------
Как я понял тогда ответ отрицательный. Т.е FindWindow отлавливает только окна приложений запущенного с моего компа даже на shared диске а чужие приложения на том же диске не ловит
« Последнее редактирование: 10-12-2012 00:15 от eugrita » Записан
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #3 : 10-12-2012 08:27 » 

Судя по всему, тут некая запарка с определением. Что, например, значит "чужие приложения на том же диске"? Рассматривай с точки зрения рабочего пространства. Таким образом, любое окно на локальном компе будет этими ф-ми отлавливаться, независимо от того, где физически находится породившее это окно приложение - в сети, или локально.
Аналогично, если кто-то запустит на своей системе "твою" программу, то её окна ты тоже не сможешь отловить на своём компе.
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
eugrita
Помогающий

ru
Offline Offline

« Ответ #4 : 10-12-2012 18:43 » 

Другими словами, FindWindow и API-функции не тянут на реализацию обмена между клиентом и сервером а только на какие-то игрушки запущенные с одного компа.
А требования к программе и терминология типа  как передача сообщений по сети, межсетевой обмен - это надо реализовывать во всяком случае не с этими функциями а со спец. компонентами, которые или используют какой-то доступ, может даже ftp или прослушивают порт компа ( на подобие SQL Server)
« Последнее редактирование: 10-12-2012 18:46 от eugrita » Записан
zubr
Гость
« Ответ #5 : 10-12-2012 19:28 » 

Для передачи данных между процессами, находящимися на разных рабочих станциях существуют сокеты. pipe, mailslot. Наиболее распространены и наиболее универсальны сокеты. Но, область применения зависит от задачи.
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines