Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.08.2017, 12:25   #1
verka1
 
Регистрация: 04.02.2017
Сообщений: 8
По умолчанию Почему не двигаются чужие окна?

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

Подскажите, плиз.

Почему не двигаются главные окна «монстров»?
Мое окно двигается, а окна браузеров, не хотят,)
Неверно определен класс окон? Или еще что-то?
(Проверялось: Delphi 7, Windows XP)

Код:
procedure TForm1.Button1Click(Sender: TObject);
var h:HWND;
begin
 // h:=FindWindow('TForm1', nil);
 // h:=FindWindow('MozillaWindowClass', nil);
 h:=FindWindow('Chrome_WidgetWin_0', nil);
 {
 Пробовала окна
 Chrome_WidgetWin_0
 Chrome_WidgetWin_1
 Chrome_OmniboxView
 }
 if h<> 0 then begin
  CheckBox1.Checked := true;
  SetWindowPos(h, HWND_BOTTOM, 0, 0, 200, 200, SWP_NOSIZE);
 end else CheckBox1.Checked := false;
end;
verka1 вне форума Ответить с цитированием
Старый 20.08.2017, 07:28   #2
newerow1989
Я самый любопытный
Участник клуба
 
Аватар для newerow1989
 
Регистрация: 24.07.2012
Сообщений: 1,949
По умолчанию

А если попробовать это:
Код:
SetWindowPos(h,0,0,0,200,200,SWP_NOZORDER+SWP_NOACTIVATE);
С запрограммированным приветом, Неверов Евгений!
Сайт: http://newerow1989.ru
[Паскаль] [Delphi]
newerow1989 вне форума Ответить с цитированием
Старый 20.08.2017, 07:38   #3
verka1
 
Регистрация: 04.02.2017
Сообщений: 8
По умолчанию

Спасибо, но нет, не хотят они двигаться)
verka1 вне форума Ответить с цитированием
Старый 20.08.2017, 07:51   #4
newerow1989
Я самый любопытный
Участник клуба
 
Аватар для newerow1989
 
Регистрация: 24.07.2012
Сообщений: 1,949
По умолчанию

Есть ли название заголовка окна "Chrome_WidgetWin_0"?
Код:
   H:=FindWindow(nil,'Chrome_WidgetWin_0');
   If H<>0 then
      SetWindowPos(h,0,0,0,200,200,SWP_NOZORDER+SWP_NOACTIVATE);
С запрограммированным приветом, Неверов Евгений!
Сайт: http://newerow1989.ru
[Паскаль] [Delphi]

Последний раз редактировалось newerow1989; 20.08.2017 в 09:39.
newerow1989 вне форума Ответить с цитированием
Старый 20.08.2017, 10:21   #5
verka1
 
Регистрация: 04.02.2017
Сообщений: 8
По умолчанию

Окно с таким классом в Хроме есть, во вс. случае было 2 недели назад)
Я проверяла и его, час назад - у меня не заработало.
Но у меня винда XP. соответственно и Хром "не самый свежий"...
verka1 вне форума Ответить с цитированием
Старый 20.08.2017, 11:10   #6
eoln
Старожил
 
Аватар для eoln
 
Регистрация: 26.04.2008
Сообщений: 2,689
По умолчанию

Двигается окно, просто их там много и нужно найти нужное.
Либо перебор по параметрам, либо указать ещё и заголовок. Но не факт, что оно будет уникальным. Что-то типа
Код:
h:=FindWindow('Chrome_WidgetWin_1', 'Новая вкладка - Google Chrome');
В общем перебор через FindWindowEx и всё найдётся. (Как вариант проверять есть ли у кандидата дочерние окна - у новой вкладки они есть, остальные бездетные, но нужно проверить эту догадку)
0.jpg
eoln вне форума Ответить с цитированием
Старый 20.08.2017, 11:45   #7
verka1
 
Регистрация: 04.02.2017
Сообщений: 8
По умолчанию

Спасибо.
Буду пробовать, хотя вроде к заголовку привязываться не очень правильно, он может оказаться разным.
А что за утилитка у вас на скрине?
verka1 вне форума Ответить с цитированием
Старый 20.08.2017, 12:36   #8
eoln
Старожил
 
Аватар для eoln
 
Регистрация: 26.04.2008
Сообщений: 2,689
По умолчанию

Цитата:
не очень правильно
не очень, но кроме имени класса нужно ещё что-то проверять (координаты, св-во visible или что-то ещё в зависимости от задачи)
Отслеживать данные окон можно WinSpy-подобными программами, варианты разные есть в сети, на скрине этот динозавр https://www.catch22.net/software/winspy-17 - без излишеств, но я к нему привык
eoln вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Чужие окна! Kristian Общие вопросы Delphi 11 03.05.2012 09:29
чужие окна и формы Johnson Общие вопросы Delphi 3 11.01.2011 20:27
Чужие окна, помогите) Djem1991 Общие вопросы Delphi 13 20.10.2009 13:10
VB - обькты не двигаются sqvair Помощь студентам 3 14.10.2007 13:24