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

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

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.02.2007, 09:38   #1
MadReason
Ищу работу
Форумчанин
 
Аватар для MadReason
 
Регистрация: 16.02.2007
Сообщений: 269
Сообщение Активное окно

Начну сразу. Если изменилось активное окно, то нужно получить его название.
Пишу на Delphi все что угодно, недорого, красиво, с комментариями
###icq 107335###
MadReason вне форума Ответить с цитированием
Старый 19.02.2007, 12:52   #2
А. Долматов
Форумчанин
 
Аватар для А. Долматов
 
Регистрация: 15.02.2007
Сообщений: 183
По умолчанию

событие OnChange разве не пойдет?
Знать все невозможно, в силу того, что жить бы стало неинтересно.
А. Долматов вне форума Ответить с цитированием
Старый 19.02.2007, 15:04   #3
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

я думаю это будет выходом из ситуации, методом сравнения 2х переменных

Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls;

type
  TForm1 = class(TForm)
    Timer1: TTimer;
    procedure Timer1Timer(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  hTopPrev: HWND;

implementation

{$R *.dfm}

procedure TForm1.Timer1Timer(Sender: TObject);
var
      hTop: HWND;
begin
      hTop := Windows.GetForegroundWindow;

      if (hTopPrev<>hTop) then begin
         hTopPrev := hTop;
         ShowMessage('Окно сменилось!!!');
      end;
end;

end.

Последний раз редактировалось BOBAH13; 19.02.2007 в 15:07.
BOBAH13 вне форума Ответить с цитированием
Старый 19.02.2007, 15:26   #4
MadReason
Ищу работу
Форумчанин
 
Аватар для MadReason
 
Регистрация: 16.02.2007
Сообщений: 269
По умолчанию

мне необходимо узнать заголовок активного окна, если активным окном стало другое приложение. я думаю что это делается через getactivwindow и getwindowtext, только чета пока не выходит. =(
Пишу на Delphi все что угодно, недорого, красиво, с комментариями
###icq 107335###
MadReason вне форума Ответить с цитированием
Старый 19.02.2007, 20:06   #5
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

вот так
Код:
var 
 str:array[0..255] of char;

hTop := Windows.GetForegroundWindow;
Getwindowtext(htop,@str,256);
потом
Showmessage(str);
rpy3uH вне форума Ответить с цитированием
Старый 19.02.2007, 20:14   #6
nova-alex
Пользователь
 
Регистрация: 06.11.2006
Сообщений: 51
По умолчанию

Такая штука определяется ф-ей
GetWindowText(hWnd,lpString,nMaxCou nt);
где hWnd-дескриптор окна и он определяется с помощью
GetForegroundWindow, lpString-переменная, в которую копируется искомый текст (заголовок), он является адресом, буфером , т.е. реально указателем, nMaxCount- кол-во копируемых символов заголовка в lpString.
nova-alex вне форума Ответить с цитированием
Старый 20.02.2007, 20:13   #7
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

в єтом плане все довольно елементарно
BOBAH13 вне форума Ответить с цитированием
Старый 21.02.2007, 20:05   #8
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

так в чём же проблема?
rpy3uH вне форума Ответить с цитированием
Старый 21.02.2007, 20:14   #9
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

какая проблема )))
BOBAH13 вне форума Ответить с цитированием
Старый 09.01.2008, 09:57   #10
Simply-Art
Программист и
Участник клуба
 
Аватар для Simply-Art
 
Регистрация: 29.10.2006
Сообщений: 1,265
По умолчанию

Откапал эту тему. У меня вопрос в продолжение, вот мы нашли активное окно, а как из него получить текст который был выделен?
Simply-Art вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Активное окно Messir_Leonard Win Api 4 22.04.2008 19:25
[VC++] Закрытие программы: ALT + F4. Активное окно. Фильтрация деактив MuForum Общие вопросы C/C++ 3 30.03.2008 16:51
Предыдущее активное окно martinz Win Api 3 25.11.2007 15:02
«Окно+символ». Создать класс, представляющий окно в текстовом режиме. RustreX Паскаль, Turbo Pascal, PascalABC.NET 1 11.11.2007 19:28
активное приложение Toxa Общие вопросы Delphi 1 28.12.2006 09:41