Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.06.04;
Скачать: CL | DM;

Вниз

Взаимодействие с Edit   Найти похожие ветки 

 
Veon   (2006-03-05 18:22) [0]

Есть 2 приложения
1е - простой Edit на форме
2e - попытка им управлять.

Handle его я нахожу и вроде всё ок. только

GetWindowText - отдаёт пустую строку
хотя SetMessage (handle,WM_GETTEXT,PAnsichar) - возвращает текст
после того как отправляю wm_SETPASSWORDCHAR читать из Edit"a и менять его св-ва (даже отправить 2й wm_SETPASSWORDCHAR) не получаеться - GetLastError = Отказано в доступе
WM_SETTEXT меняет текст во всех случаях

Как бы сделать чтоб тот Edit не выпадал в "мороз" и продолжал работать


 
begin...end ©   (2006-03-05 18:42) [1]

> Veon   (05.03.06 18:22)

> GetWindowText - отдаёт пустую строку
"This function cannot retrieve the text of an edit control in another application" (c) MSDN

> wm_SETPASSWORDCHAR
EM_SETPASSWORDCHAR?

> менять его св-ва
Какие?

> GetLastError = Отказано в доступе
Полный код можно увидеть?


 
Veon   (2006-03-05 18:58) [2]


var
mw,Ew:THandle;
s:string[100];
begin
mw:=FindWindow("AUTO_WINDOW",nil);
if not (mw>0) then exit;

ew:=FindWindowEx(mw,0,"Edit",nil);
SendMessage(ew,EM_SETPASSWORDCHAR,ord("-"),0);

// начиная от сюда я получаю отказ в доступе
SendMessage(ew,EM_SETPASSWORDCHAR,ord("*"),0);
if SendMessage(ew,WM_GETTEXT,100,integer(PChar(s)))>0 then Edit1.Text:=s else
Edit1.Text:=SysErrorMessage(GetLastError());



 
begin...end ©   (2006-03-05 19:02) [3]

> Veon   (05.03.06 18:58) [2]

> var
> s:string[100];
> ...
> SendMessage(ew,WM_GETTEXT,100,integer(PChar(s)))

Не компилируется.


 
Veon   (2006-03-05 20:43) [4]

var
s:array [0..100] of char;

if SendMessage(ew,WM_GETTEXT,100,integer(@s))>0 then Edit1.Text:=string(s)

Сорри, я код переписывал =/


 
begin...end ©   (2006-03-05 21:14) [5]

> Veon   (05.03.06 20:43) [4]

И значение хэндла ew, насколько я понимаю, правильное?

Если да, то просьба выслать 1-ю программу, если она невелика, на alexey.1983[гав]gmail.com. Аж интересно :)


 
Veon   (2006-03-11 19:28) [6]

Всё правильное, другие API отрабатывают корректно

Отправил, заранее спасибо за помощь


 
begin...end ©   (2006-03-12 22:20) [7]

> Veon   (11.03.06 19:28) [6]

ОК, ясно. Попробуйте DefWindowProc(EditHandle, WM_GETTEXT, ..., ...).



Страницы: 1 вся ветка

Текущий архив: 2006.06.04;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.062 c
4-1142189617
guitarist
2006-03-12 21:53
2006.06.04
PrintScreen и его перехват


15-1146945909
ArtemESC
2006-05-07 00:05
2006.06.04
Поменять язык WINXP по умолчанию...


10-1120122297
ingine
2005-06-30 13:04
2006.06.04
закрытие IE


3-1143456790
kyn66
2006-03-27 14:53
2006.06.04
Разноцветный RxDBGrid для таблицы для Advantage TDataSet


15-1147433391
Layner
2006-05-12 15:29
2006.06.04
Помогите определится с морем (на отпуск-июль)