Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Скрыть текст в окне чужой проги

1.9K
16 мая 2005 года
ProgMaster
47 / / 29.08.2004
Ситуация: есть программа. В неё есть несколько EditBox'ов. Мне нужно из моей программы скрыть текст в этих EditBox'ах. Есть ли какая-нибудь возможность такое сделать ??? Или жду предложений альтернативных, по поводу решения проблемы.
10K
16 мая 2005 года
Devicetator
7 / / 13.05.2005
Самое примитивное - скрыть сами Edit'ы :) Можно текст из них сохранить где-нть (авось пригодится), а затем установить в них пустой текст. Можно, на худой конец, установить password char... Думаю, как получить хэндлы Edit'ов, понятно, но могу описать процесс :)
1.9K
20 мая 2005 года
mail0
137 / / 09.05.2005
Цитата:
Originally posted by ProgMaster
Ситуация: есть программа. В неё есть несколько EditBox'ов. Мне нужно из моей программы скрыть текст в этих EditBox'ах. Есть ли какая-нибудь возможность такое сделать ??? Или жду предложений альтернативных, по поводу решения проблемы.


HWND handle=FindWindow(NULL,"Заголовок окна проги");
HWND edit =FindWindowEx(handle,NULL,NULL,"Заголовок Edit`а"; //вроде так :???:
char text[100];
GetWindowText(edit,text,sizeof(text)); //В этой переменной будет текст и едита;
SetWindowText (edit,""); //Установим текст в ноль :)

З.Ы: Заголовки едитов лучше смотреть через InqSoft Sign 0f Misery (в версии со встроенным сканером окон)
З.З.Ы: В тексте возможны ошибки, просьба не бить P(

425
23 мая 2005 года
sq_deep
498 / / 18.02.2005
Бить вас, mail0 никто не будет, но не всё так просто.

1. HWND edit =FindWindowEx(handle,NULL,NULL,"Заголовок Edit`а") вряд ли поможет, потому что "Заголовок Edit`а" — это как раз то, что в edit вбили. Вряд ли это известно заранее. Пожалуй, тут надо перечислять всех детей диалога, проверяя для каждого control ID с помощью GetDlgCtrlID.

2. SetWindowText(edit, "") тоже может не прокатить. Наверняка программа где-то держит этот текст и восстановит его при следующей перерисовке.

Так что тут только одно, а именно самое первое из того, что предложил Devicetator: ShowWindow(hwndEdit, SW_HIDE), и тогда никто уже никогда не увидит не только текст, но и сам edit.
253
23 мая 2005 года
Proger_XP
1.5K / / 07.08.2004
Цитата:
Originally posted by sq_deep
Бить вас, mail0 никто не будет, но не всё так просто.

1. Пожалуй, тут надо перечислять всех детей диалога, проверяя для каждого control ID с помощью GetDlgCtrlID


Я могу и ошибится, но GetDlgCtrlID работает только с диалогами. А если это обычное окно?

Цитата:
2. SetWindowText(edit, "") тоже может не прокатить. Наверняка программа где-то держит этот текст и восстановит его при следующей перерисовке


Это врятли, т.к если бы она хранила где-то текст, то не юзала бы edit'ы

Цитата:
Так что тут только одно, а именно самое первое из того, что предложил Devicetator: ShowWindow(hwndEdit, SW_HIDE), и тогда никто уже никогда не увидит не только текст, но и сам edit


Только так

425
23 мая 2005 года
sq_deep
498 / / 18.02.2005
Цитата:
Originally posted by Proger_XP
Я могу и ошибится, но GetDlgCtrlID работает только с диалогами. А если это обычное окно?
...

Это врятли, т.к если бы она хранила где-то текст, то не юзала бы edit'ы
...

GetDlgCtrlID даст идентификатор любого ребёнка любого окна.

Ну, а насчёт второго: а что юзала бы для редактирования этого текста?
Обычно с edit'ом ассоциируют переменную и в ней хранят его последнее содержимое. В MFC это делается стандартно (привязкой переменной типа CString, int или другого), и без MFC обычно тоже делается какими-нибудь доморощенными средствами. Так что очень даже может и не прокатить...

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог