Форум: "WinAPI";
Текущий архив: 2006.06.04;
Скачать: [xml.tar.bz2];
ВнизВзаимодействие с 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 вся ветка
Форум: "WinAPI";
Текущий архив: 2006.06.04;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.052 c