![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Поиск окна по заголовку [D6, Win95/98]
Windeus © (2002-06-25 16:05:00)Помогите пожалуйста.. Нашел где-то ф-ию нахождения handle окна по заголову. Применить-то смог, но все равно немного не тот результат, что я ожидал.
Нижеследующий код передает управление в документ, если он уже открыт. Все нормально работает. Только вот никак не могу вправить код таким образом, чтобы устранить следующие: если открыт документ с именем 11.txt и открывается документ с именем 1.txt, то код все равно обнаруживает вхождение и считает что это один и тот же документ. Как здесь указать так, чтобы вхождения искались только с 0-позиции? Помогите...
Вот код:
function Tmainform.FindNextWnd(StartHWND: HWND; AString : String): HWND;
var
Buffer : array [0..255] of char;
begin
Result := StartHWND;
repeat
Result := FindWindowEx(0, Result, nil, nil);
GetWindowText(Result, Buffer, SizeOf(Buffer));
if (StrPos(StrUpper(Buffer), PChar(UpperCase(AString))) <> nil)
then Break;
until (Result = 0);
end;
procedure Tmainform.FormCreate(Sender: TObject);
var
hw: HWND;
begin
hw:=FindNextWnd(Application.Handle,ExtractFileName(ParamStr(1)));
if (hw<>0) then
begin
SetForegroundWindow(hw);
ShowWindow(hw,SW_SHOWNORMAL);
Application.Terminate;
end;
MBo (2002-06-25 16:28:00) [1]if (StrPos(StrUpper(Buffer), PChar(UpperCase(AString))) = Buffer)