![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Помогите разобраться с функцией
Alek © (2004-07-29 14:23:00)Есть функция GetWindowText, у нее три параметра
дскриптор окна
поинетр на буфер
и размер буфера
вот немогу разобраться с буфером, создал переменную
типа стрин
buf: string
а как на нее поинтер повесить?
GetWindowText(GetForegroundWindow,buf, 100);
GrayFace (2004-07-31 18:30:00) [1]function GetTextWindow(WinHandle: THandle): String;
begin
SetLength(Result, SendMessage(WinHandle, WM_GETTEXTLENGTH, 0, 0) +1);
GetWindowText(WinHandle, PChar(Result), Length(Result)));
end;
default (2004-07-29 16:22:00) [2]тогда
function GetTextWindow(WinHandle: THandle): String;
begin
SetLength(Result, SendMessage(WinHandle, WM_GETTEXTLENGTH, 0, 0));
GetWindowText(WinHandle, PChar(Result), Length(Result)));
end;
ZrenBy (2004-07-29 16:07:00) [3]Тогда уж
var S:String;
begin
SetLength(S,SendMessage(WinHandle,WM_GETTEXTLENGTH,0,0)+1);
SetLength(S,SendMessage(WinHandle,WM_GETTEXT,Length(S),LPARAM(S)));
default (2004-07-29 15:03:00) [4]const
NeedMax = 50;
function GetTextWindow(WinHandle: THandle): String;
begin
SetLength(Result, NeedMax);
SetLength(Result, GetWindowText(WinHandle, PChar(Result), NeedMax));
end;
Anatoly Podgoretsky (2004-07-29 14:58:00) [5]Alek © (29.07.04 14:23)
GetWindowText(GetForegroundWindow,buf[1], 100);
Alek (2004-07-29 14:37:00) [6]type
PStr = ^TStr;
TStr = Array[0..200] of Char;
var
buf: PStr;
GetWindowText(GetForegroundWindow,buf, 100);
или вот так?
GetWindowText(GetForegroundWindow,PStr, 100);
Прошу прощения но я неразу не работал с этим :(
default (2004-07-29 14:32:00) [7]TStr = Array[ 1..$FFFFFFFF] of Char;
default (2004-07-29 14:30:00) [8]PStr = ^TStr;
TStr = Array[0..$FFFFFFFF] of Char;
можно, хотя этого не совсем точно положить, что String=PStr
тогда как будешь передавать Buf? ф-ции нужен Pointer на первый элемент массива