Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Поиск окна по заголовку [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)


Наверх

Титульная страница Поиск, карта сайта Написать письмо