Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.06.2013, 00:19   #11
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Borland Turbo Delphi Lite - работает.
Нужно не перебирать названия, а посмотреть класс окна в Spy++.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA на форуме Ответить с цитированием
Старый 23.06.2013, 00:47   #12
igrok111
Форумчанин
 
Регистрация: 12.07.2012
Сообщений: 140
По умолчанию

Цитата:
Сообщение от BDA Посмотреть сообщение
Borland Turbo Delphi Lite - работает.
Нужно не перебирать названия, а посмотреть класс окна в Spy++.

Подскажите где скачать Borland Turbo Delphi Lite. Подходит ли Borland Turbo Delphi 2006? или Borland Delphi 2010 Lite?
Кстати влияет ли OC? У меня win7-64x
igrok111 вне форума Ответить с цитированием
Старый 23.06.2013, 00:55   #13
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Могу в личку кинуть, откуда взять Borland Turbo Delphi Lite, но я просто тестировал в ней. В RAD Studio 2010 тоже работает (в основном ей пользуюсь). Судя по скриншоту, класс Chrome_WidgetWin_1 (т.е. все верно). У меня тоже Windows 7 64bit.

Попробуйте приложенный проект.

UPD
Увидел на Вашем скриншоте 4 окна с этим классом. Функция FindWindow находит первый, а у него нет Омнибокса.
Вложения
Тип файла: rar hello.rar (300.4 Кб, 17 просмотров)
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )

Последний раз редактировалось BDA; 23.06.2013 в 00:58.
BDA на форуме Ответить с цитированием
Старый 23.06.2013, 01:08   #14
igrok111
Форумчанин
 
Регистрация: 12.07.2012
Сообщений: 140
По умолчанию

Цитата:
Сообщение от BDA Посмотреть сообщение
Могу в личку кинуть, откуда взять Borland Turbo Delphi Lite, но я просто тестировал в ней. В RAD Studio 2010 тоже работает (в основном ей пользуюсь). Судя по скриншоту, класс Chrome_WidgetWin_1 (т.е. все верно). У меня тоже Windows 7 64bit.

Попробуйте приложенный проект.

UPD
Увидел на Вашем скриншоте 4 окна с этим классом. Функция FindWindow находит первый, а у него нет Омнибокса.
Может это важно. у меня мой ехе всегда до 350 кб, у вас больше. Ну вообщем не получается( Я делаю так(может я что-то не так делаю) -включаю хром, потом прогу. И прога как-бы поверх хрома. В хроме загружена одна страница(вкладка) - google.com.ua. Ну и нажимаю кнопку - и выбивает fail
пробывал ваш ехе
igrok111 вне форума Ответить с цитированием
Старый 23.06.2013, 01:09   #15
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Попробуйте:
Код:
function f(wnd: hwnd): bool; stdcall;
var
  t: hwnd;
  s: string;
begin
  f := true;
  t := Findwindowex(wnd, 0, 'Chrome_OmniboxView', nil);
  if t <> 0 then
  begin
    s := 'hello';
    SendMessage(t, WM_SETTEXT, length(s), lParam(PChar(s)));
    f := false;
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  enumwindows(@f, lParam(nil));
end;
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )

Последний раз редактировалось BDA; 23.06.2013 в 01:23.
BDA на форуме Ответить с цитированием
Старый 23.06.2013, 01:18   #16
igrok111
Форумчанин
 
Регистрация: 12.07.2012
Сообщений: 140
По умолчанию

Цитата:
Сообщение от BDA Посмотреть сообщение
Попробуйте:
Код:
function f(wnd: hwnd): bool; stdcall;
var
  t: hwnd;
  s: string;
begin
  f := true;
  t := Findwindowex(wnd, 0, 'Chrome_OmniboxView', nil);
  if t <> 0 then
  begin
    s := 'hello';
    SendMessage(t, WM_SETTEXT, length(s), lParam(PChar(s)));
    f := false;
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  enumwindows(@f, lParam(nil));
end;
спасибо! наконец-то вышло. Буду этот исходних "изучать" что б понимать, ну и Spy++ конечно

Последний раз редактировалось igrok111; 23.06.2013 в 01:22.
igrok111 вне форума Ответить с цитированием
Старый 23.06.2013, 01:23   #17
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Пожалуйста. Кстати, тут использована функция enumwindows, упомянутая во 2 посте
Если открыто несколько окон хрома и нужно написать во всех, то:
Код:
function f(wnd: hwnd): bool; stdcall;
var
  t: hwnd;
  s: string;
begin
  f := true;
  t := Findwindowex(wnd, 0, 'Chrome_OmniboxView', nil);
  if t <> 0 then
  begin
    s := 'hello';
    SendMessage(t, WM_SETTEXT, length(s), lParam(PChar(s)));
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  enumwindows(@f, lParam(nil));
end;
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA на форуме Ответить с цитированием
Старый 23.06.2013, 01:30   #18
igrok111
Форумчанин
 
Регистрация: 12.07.2012
Сообщений: 140
По умолчанию

Цитата:
Сообщение от BDA Посмотреть сообщение
Пожалуйста. Кстати, тут использована функция enumwindows, упомянутая во 2 посте
Если открыто несколько окон хрома и нужно написать во всех, то:
Код:
function f(wnd: hwnd): bool; stdcall;
var
  t: hwnd;
  s: string;
begin
  f := true;
  t := Findwindowex(wnd, 0, 'Chrome_OmniboxView', nil);
  if t <> 0 then
  begin
    s := 'hello';
    SendMessage(t, WM_SETTEXT, length(s), lParam(PChar(s)));
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  enumwindows(@f, lParam(nil));
end;
Спасибо. Я еще буду експерементировать со всем этим
igrok111 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
почему не могу ввести строку s2? гоша37 Паскаль, Turbo Pascal, PascalABC.NET 1 15.11.2012 21:16
Ввести из клавиатуры слово и распечатать символы, которые встречаются более одного раза. eragon_ua Паскаль, Turbo Pascal, PascalABC.NET 0 18.04.2011 18:26
Ввести слово. Fender92 Паскаль, Turbo Pascal, PascalABC.NET 5 17.03.2011 23:15
Как ввести строку???? firephenix Помощь студентам 2 18.02.2011 18:46
Как зделать браузерную строку на браузер? Shang-Tsung Общие вопросы Delphi 2 23.07.2010 21:29