Форум программистов, компьютерный форум, киберфорум
Delphi
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.92/12: Рейтинг темы: голосов - 12, средняя оценка - 4.92
4 / 4 / 0
Регистрация: 28.04.2010
Сообщений: 33
1

Изменение класса окна

01.03.2011, 23:33. Просмотров 2147. Ответов 7
Метки нет (Все метки)

Можно ли каким-либо образом изменить класс чужого окна? Не текст, а класс?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.03.2011, 23:33
Ответы с готовыми решениями:

Изменение размера окна перетягиванием за края. Как сделать это возможным у нестандартного окна?
Есть окно: <Window x:Class="Program.PlayerWnd" ...

Как получить значение поля класса Окна в классе Контроллера для этого окна?
Доброго всем времени суток. Есть вот такая ситуация. Создаю окна, путем загрузки разметки из fxml...

Из одного класса обратиться к свойству progressBar из другого класса (основного окна)
Привет! :) Помогите пожалуйста нубу (мне). У меня есть два класса. Первый (основной), его код:...

Изменение статического закрытого элемента данных класса посредством статической элемент-функции класса
Добрый день. Не могу разобраться, как изменить закрытую статическую переменную класса. Вот код....

__________________
7
47 / 47 / 2
Регистрация: 21.01.2011
Сообщений: 151
02.03.2011, 01:11 2
Смотря что понимать под классом окна. Класс - это терминах системы или в смысле Паскаля.

И смотря что понимать под "изменить". Это в смысле изменить свойства или заменить на вообще другой. И если второе, то как этот класс связан с исходным - наследник или нет.
0
4 / 4 / 0
Регистрация: 28.04.2010
Сообщений: 33
02.03.2011, 08:28  [ТС] 3
Delphi
1
FindWindow(lpClassName, lpWindowName);
Необходимо изменить первый параметр на любой другой. Нет это не наследник. Есть онлайн игра, и для того, чтобы частично защитить её от воздействия сторонних программ, необходимо поменять текст класса.

Допустим заголовок окна я поменяю таким образом:

Delphi
1
2
hWnd := FindWindow ('Class','Caption');
SendMessage(hWnd,WM_SETTEXT,0,LPARAM('New Caption')));
Как поменять Class?
0
2646 / 2269 / 278
Регистрация: 24.12.2010
Сообщений: 13,725
02.03.2011, 09:22 4
Никак.
0
4 / 4 / 0
Регистрация: 28.04.2010
Сообщений: 33
02.03.2011, 18:12  [ТС] 5
В таком случае, возможно ли хукать FindWindow, например? Если запрос будет содержать класс того окна, чтобы он возвращал ноль?
0
2646 / 2269 / 278
Регистрация: 24.12.2010
Сообщений: 13,725
02.03.2011, 22:05 6
Можно.
Но глоб.перехват WinAPI-вызовов - вещь не 100%-но надежная.
0
4 / 4 / 0
Регистрация: 28.04.2010
Сообщений: 33
02.03.2011, 22:47  [ТС] 7
Мне бы хоть как-то оградить приложение от нахождения его хэндла... Большинство из программ на одном и том же названии класса ориентируются. Можете подсказать, какую функцию необходимо перехватывать для собственной обработки FindWindow?
0
47 / 47 / 2
Регистрация: 21.01.2011
Сообщений: 151
03.03.2011, 00:19 8
Не приходит в голову, что проще перехватить вызов RegisterClass и CreateWindow в одном процессе (целевом) и подменить имя класса, чем хучить все подряд процессы в системе (доступа к некоторым из которых у нас ещё может и не быть)?
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.03.2011, 00:19

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Задать изменение ширины всем элементам ввода окна, при изменении ширины самого окна
Товарищи коллеги! Подскажите, а как подобным образом, задать изменение ширины всем элементам...

Изменение окна...
Вообщем мне надо чтобыпрограмма какимто образом меняла свое диалоговое окно например при нажатии на...

Реакция на изменение окна
здраствуйте, есть клас, который отвечает за роботу окна: public class Form extends Base клас...

Изменение дочернего окна
Здравствуйте! Пишу программу, но возникла проблема. Есть главное окно hWnd, в которое через...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.