Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 13.02.2013
Сообщений: 4
1

Ошибка при отлавливании активного окна. Не могу разобраться

13.02.2013, 21:38. Показов 869. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
λНарод, не могу понять что значит эта ошибка и как её исправить...Написал код в Delphi, чтобы отловить активное окно. Всё работает,, но вылетает такая ошибка. Вот код
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
procedure TForm1.Timer3Timer(Sender: TObject);
var o, k:string;
 MonolitHandle: HWND;
begin
{form1.Hide;}
 o:='';
 k:='';
 h:=0;
 Dr:=0;
 
  MonolitHandle := GetForegroundWindow();
  dr:=getwindowtextlength(monolithandle);
  setLength(k, Dr);
  GetWindowText(MonolitHandle, PChar(k), Dr+1);
 
  for h:=1 to 28 do
  if k[h]<>#0 then
  begin
  o:=o+k[h];
 
    label7.Caption:=o;
  if o='Добро пожаловать | ВКонтакте' then j:=1
  else j:=0;
       end;
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.02.2013, 21:38
Ответы с готовыми решениями:

Не могу разобраться в схеме активного ФНЧ
Всем привет! Решил собрать активный фильтр низких частот. Нашел пост в интернете и к схеме...

Изменение размеров активного окна при нажатии клавиш +, -
в общем такая проблемка,сама программа чтобы создать элементы оконного интерфейса есть.а нужно еще...

Закрытие активного окна в меню, при клике в другой области сайта
Здравствуйте, как закрыть окно-меню при клике в другой области сайта JS &lt;script&gt; var btn =...

MDI: При вызове активного дочернего окна пункты его menuStrip отображались на menuStrip родителя
Есть родительская форма, на форме menuStrip с пунктами: Item1, Item2, Item3. Есть дочерняя форма,...

6
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32830 / 21168 / 8147
Регистрация: 22.10.2011
Сообщений: 36,429
Записей в блоге: 8
13.02.2013, 22:13 2
Цитата Сообщение от Druzhba13 Посмотреть сообщение
но вылетает такая ошибка
Какая "такая"?
0
1173 / 479 / 83
Регистрация: 04.03.2010
Сообщений: 1,019
13.02.2013, 22:25 3
Действительно интересно, какая ошибка?

Тихо подозреваю что она тут конечно
for h:=1 to 28 do
if k[h]<>#0 then

Непонятно почему вообще задана определенная длина текста, это может быть не так. Нуу и вообще, смысл делать такое если можно проциклиться for`ом взяв длину строки К.
0
0 / 0 / 0
Регистрация: 13.02.2013
Сообщений: 4
14.02.2013, 07:01  [ТС] 4
вот скрин окна
Миниатюры
Ошибка при отлавливании активного окна. Не могу разобраться  
0
Пишу на Delphi...иногда
1423 / 1278 / 286
Регистрация: 03.12.2012
Сообщений: 3,914
Записей в блоге: 5
14.02.2013, 07:25 5
может как-то так?
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
procedure TForm1.Timer3Timer(Sender: TObject);
var 
   k:PChar;
   o:string;
   MonolitHandle: HWND;
begin
{form1.Hide;}
   h:=0;
   Dr:=0;
   o:='';
 
   MonolitHandle := GetForegroundWindow();
   if MonolitHandle>0 then
   begin
      Dr:=getwindowtextlength(monolithandle);
      if Dr>0 then
      begin
         k:=StrAlloc(Dr+1);
         GetWindowText(MonolitHandle, k,Dr+1);
     
         o:=string(k);
         StrDispose(k);
       end;
       label7.Caption:=o;
       if Pos('Добро пожаловать | ВКонтакте',o)>0 then j:=1
         else j:=0;
   end;
end;
синтаксически не проверял, да и назначение некоторых переменных для меня осталось загадкой, близко к вашему тексту
1
88 / 88 / 37
Регистрация: 28.11.2012
Сообщений: 309
14.02.2013, 09:32 6
Druzhba13, где у вас переменная h описывается и какой тип? попробуйте ее описать в переменных процедуры таймера локально.
0
0 / 0 / 0
Регистрация: 13.02.2013
Сообщений: 4
15.02.2013, 09:02  [ТС] 7
спасибо, на первый взгляд всё работает))
0
15.02.2013, 09:02
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.02.2013, 09:02
Помогаю со студенческими работами здесь

При смене активного окна всегда включается видимость первой панели.До этого нажатием кнопки видимость была отключена
Такая ситуация. В программе 6 панелей,для навигации между ними использованы кнопки. На каждой...

Ошибка при сохранении активного листа в файл с заменой символов
Уважаемые форумчане, очень нужна помощь Необходимо сохранить активный лист excel в отдельный...

Задали работу, не могу разобраться. Используется делфи 10, не могу разобраться, как это сделать
В одномерном массиве, состоящем из n вещественных элементов, вычислить: минимальный элемент массива...

Ошибка! Не могу разобраться!
Warning: include_once(): http:// wrapper is disabled in the server configuration by...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru