Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Delphi > Lazarus, Free Pascal, CodeTyphon
Регистрация

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

Ответ
 
Опции темы
Старый 08.04.2018, 14:07   #1
Максим_maks
Пользователь
 
Регистрация: 18.01.2015
Сообщений: 47
Репутация: 10
По умолчанию Найти программу по заголовку окна

Всем привет. Может быть уже делали или поможете как сделать. Суть: есть некая программа например TotalCommander, она свернута - как найти е е заголовок и развернуть эту программу?. Спасибо
Максим_maks вне форума   Ответить с цитированием
Старый 08.04.2018, 16:00   #2
min@y™
Цифровой кот
Профессионал
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Адрес: 1600, пенсильвания-авеню, п.г.т. верхний Вашингтонск, 8126 км от МКАД, от поста ГАИ - налево.
Сообщений: 7,637
Репутация: 2356

icq: 100500
skype: kick-ass
По умолчанию

http://delphikingdom.ru/asp/viewitem.asp?catalogid=432
__________________
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума   Ответить с цитированием
Старый 08.04.2018, 16:53   #3
Человек_Борща
Модератор
Заслуженный модератор
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Адрес: Республика Беларусь, г. Минск
Сообщений: 11,453
Репутация: 2688
По умолчанию

Используя утилиту WinSpy или аналог выяснить класс или полный заголовок окна.
Использовать функции FindWindow, по классу окна найти дескриптор окна, свернуть/развернуть/скрыть с пом. функции ShowWindow

если хотите искать по заголовку, то FindWindow не ищет по части заголовка окна. Тут нужно использовать EnumWindows функцию, перебрать все окна и соотв. найти нужное.
Отличный цикл по работе с окнами привел min@y™.
Человек_Борща вне форума   Ответить с цитированием
Старый 08.04.2018, 20:15   #4
Максим_maks
Пользователь
 
Регистрация: 18.01.2015
Сообщений: 47
Репутация: 10
По умолчанию

Цитата:
Сообщение от min@y™ Посмотреть сообщение
Спасибо, обязательно ознакомлюсь.
Максим_maks вне форума   Ответить с цитированием
Старый 08.04.2018, 20:15   #5
Максим_maks
Пользователь
 
Регистрация: 18.01.2015
Сообщений: 47
Репутация: 10
По умолчанию

Цитата:
Сообщение от Человек_Борща Посмотреть сообщение
Используя утилиту WinSpy или аналог выяснить класс или полный заголовок окна.
Использовать функции FindWindow, по классу окна найти дескриптор окна, свернуть/развернуть/скрыть с пом. функции ShowWindow

если хотите искать по заголовку, то FindWindow не ищет по части заголовка окна. Тут нужно использовать EnumWindows функцию, перебрать все окна и соотв. найти нужное.
Отличный цикл по работе с окнами привел min@y™.
Спасибо.
Максим_maks вне форума   Ответить с цитированием
Старый 10.04.2018, 23:16   #6
Максим_maks
Пользователь
 
Регистрация: 18.01.2015
Сообщений: 47
Репутация: 10
По умолчанию

Всем еще раз привет, не стал делать новую тему, т.к. все равно работаю в рамках данной темы. Почему в списках заголовков окон - нет русского языка и как его туда добавить??? Делал все по ссылке http://delphikingdom.ru/asp/viewitem.asp?catalogid=432
Изображения
Тип файла: jpg 1244242454.jpg (25.0 Кб, 32 просмотров)
Максим_maks вне форума   Ответить с цитированием
Старый 11.04.2018, 07:57   #7
p51x
Профессионал
 
Регистрация: 15.02.2010
Сообщений: 11,550
Репутация: 1916

icq: 216409213
По умолчанию

Потому что используете анси функции и неперекодируете строки.
__________________
Запомните раз и навсегда: помочь != "решите за меня"!
p51x вне форума   Ответить с цитированием
Старый 11.04.2018, 15:11   #8
Максим_maks
Пользователь
 
Регистрация: 18.01.2015
Сообщений: 47
Репутация: 10
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Потому что используете анси функции и неперекодируете строки.
Здравствуйте. Сможете помочь? Может быть есть ссылка на преобразование?
Максим_maks вне форума   Ответить с цитированием
Старый 11.04.2018, 15:44   #9
min@y™
Цифровой кот
Профессионал
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Адрес: 1600, пенсильвания-авеню, п.г.т. верхний Вашингтонск, 8126 км от МКАД, от поста ГАИ - налево.
Сообщений: 7,637
Репутация: 2356

icq: 100500
skype: kick-ass
По умолчанию

Цитата:
Сообщение от Максим_maks Посмотреть сообщение
Здравствуйте. Сможете помочь? Может быть есть ссылка на преобразование?
Кусок кода покажи, тут нет телепатов.
__________________
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...

Последний раз редактировалось Человек_Борща; 21.04.2018 в 22:44.
min@y™ вне форума   Ответить с цитированием
Старый 11.04.2018, 21:39   #10
Максим_maks
Пользователь
 
Регистрация: 18.01.2015
Сообщений: 47
Репутация: 10
По умолчанию

Цитата:
Сообщение от min@y™ Посмотреть сообщение
Кусок кода покажи, блть, тут нет телепатов.
Эта функция получает список окон
Код:

Function EnumWindowsProc (Wnd: HWND; ComboBox: TComboBox): BOOL; stdcall;
var
   caption: Array [0..128] of Char;
begin
     Result := True;
            if { skip invisible windows }
               IsWindowVisible(Wnd) and
               { only process truly top-level windows. GetWindowLong must be used, not GetParent }
               ((GetWindowLong(Wnd, GWL_HWNDPARENT) = 0) or
               (HWND(GetWindowLong(Wnd, GWL_HWNDPARENT)) = GetDesktopWindow)) and
               { skip WS_EX_TOOLWINDOW windows }
               ((GetWindowLong(Wnd, GWL_EXSTYLE) and WS_EX_TOOLWINDOW) = 0)
               then
                   begin
                        SendMessage( Wnd, WM_GETTEXT, Sizeof( caption ), integer(@caption));
                        Form1.ComboBox1.Items.AddObject( caption, TObject( Wnd ));
                   end;
end;

Данное действие при нажатии на Chekbox - выводит список в ComboBox

Код:

procedure TForm1.RadioButton3Change(Sender: TObject);
begin
   CheckBox1.Enabled:=True;
   ComboBox1.clear;
   EnumWindows( @EnumWindowsProc, integer( ComboBox1 ));
end;

Максим_maks вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как найти столбец в DBGridEh по заголовку и удалить его? artemavd Общие вопросы Delphi 9 03.05.2012 13:41
Как найти окно по заголовку с определенным словом? tozter Общие вопросы Delphi 5 21.12.2011 17:00
двойной клик по заголовку окна andrew_jr20 C# (си шарп) 2 17.12.2011 20:03
Как найти программу по заголовку и закрыть ее? Catsys Общие вопросы Delphi 2 16.09.2011 23:26
Убить процесс по заголовку окна Nice42ru Помощь студентам 27 21.01.2010 12:55


02:22.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru