![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как получить текст ошибки при соединении к Интернет? [D6, WinXP]
SkySpeed © (2006-10-12 17:55:00)Вот сам рисунок: http://www.mytempdir.com/986920
Пробую получить текст следующим образом:
.....................................................................
function TForm1.GetMyText(HWND:Integer):String;
var
txtLength: integer;
buffer: string;
begin
TxtLength := SendMessage(HWND, WM_GETTEXTLENGTH, 0, 0);
txtlength := txtlength + 1;
setlength(buffer, txtlength);
sendmessage(HWND,wm_gettext, txtlength, longint(@buffer[1]));
Result:=buffer;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
a1,a2:Integer;
const
s='Ошибка подключения: LINK';
begin
a1:=FindWindow(nil,s);
if a1<>0 then
begin
a2:=FindWindowEx(a1,0,'Static',nil);
ShowMessage(IntToStr(a1)+':'+IntToStr(a2)+':'+GetMyText(a2));
end;
end;
В результатеShowMessageвозвращает:
число_больше_нуля:число_больше_нуля:ПУСТОТА
Первое и второе окна программа находит, судя по тому что два числа больше нуля
ПУСТОТА - то есть никакого числа нет! Вот в этом и странность...
Что подскажете, Мастера?
Ketmar (2006-10-12 18:40:00) [1]MSDN, RAS API. читать до осознания.
SkySpeed (2006-10-12 18:39:00) [2]Подключение я и так делаю через свою программу, используя rasdial.exe
Если для тебя проще было бы подключаться через свою программу, не используя rasdial.exe, получать и обрабатывать ошибки, то расскажи как это сделать, или же кинь статью в Интернете
Насчёт FindWindow и GetMyText вопрос остаётся открытым
Ketmar (2006-10-12 18:24:00) [3]хм. а зачем мучать это бедное окно? не проще ли делать подключение из своей программы, и спокойно получать ошибку в ней же?