Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
EEjester
1 / 1 / 5
Регистрация: 28.03.2013
Сообщений: 299
1

Отследить появление окна об информации подключения

12.03.2015, 21:00. Просмотров 1334. Ответов 36
Метки нет (Все метки)

На модеме в случае потере связи появляется окно в котором спрашивается хотите ли вы восстановить подключение.
Жутко это бесит!! Нужно перехватить появление этого сообщения.
Пробовал в таймере вот так но это жуткое извращение! и когда играешь например то сворачивается игра!!! БЕСИТ!
Delphi
1
2
3
4
5
6
7
8
9
10
11
procedure qwe1;
var
  H1:hwnd;
begin
  H1 := FindWindow(nil, 'Communication has been lost!');
  if H1 <> 0 then
   begin
    EmulateKey(H1, VK_RETURN);
    Exit;
   end;
end;
Можно ли как то без таймера отловить появление окна?

Добавлено через 23 часа 51 минуту
UP!!! нужна помощь! люди!!!

Добавлено через 4 часа 31 минуту
нашел вот такое:
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
29
30
31
32
33
34
var
  FuckEdrawHook: HHOOK;
 
function FuckEdrawProc(nCode: Integer; WParam, LParam: Longint): Longint; stdcall;
const
  STR_EVALUATION = 'Evaluation Version Reminder';
var
  P: PChar;
  Cpt: string;
begin
  if nCode = HCBT_CREATEWND then
  begin
    P := CBT_CREATEWND(Pointer(lParam)^).lpcs^.lpszName;
    if Assigned(P) then
    begin
      Cpt := StrPas(P);
      if Pos(STR_EVALUATION, Cpt) > 0 then
      begin
        Result := 1; 
        Exit
      end
    end
  end;
  Result := CallNextHookEx(FuckEdrawHook, nCode, WParam, LParam)
end;
 
initialization
 
FuckEdrawHook := SetWindowsHookEx(WH_CBT, FuckEdrawProc, 0, GetCurrentThreadID);
 
finalization
 
if FuckEdrawHook <> 0 then
  UnHookWindowsHookEx(FuckEdrawHook);
кто нить объяснит как пользоваться?

Добавлено через 11 часов 47 минут
Тему вверх! Прошу помощи!

Добавлено через 11 часов 38 минут
up! помогите!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.03.2015, 21:00
Ответы с готовыми решениями:

Появление окна
Что мне надо сделать чтобы в одной форме нажал на кнопку и потом появилось...

Плавное появление окна
Подскажите пожалуйста код плавного появления окна при загрузке программы.

Постепенное появление окна.
Добрый день! В прогу нужно вставить эффект постепенного закрытия окна с...

В момент выхода из программы обеспечьте появление окна для сохранения файла с данными
В момент выхода из программы обеспечьте появление окна для сохранения файла с...

Передача информации в окна
День добрый. Задача: В создаваемой мною оболочке вводится текст, с...

36
Verevkin
987 / 512 / 133
Регистрация: 12.03.2015
Сообщений: 3,518
13.03.2015, 02:26 2
Цитата Сообщение от EEjester Посмотреть сообщение
появляется окно в котором спрашивается хотите ли вы восстановить подключение
а что за программа показывает это окошко?
0
EEjester
1 / 1 / 5
Регистрация: 28.03.2013
Сообщений: 299
13.03.2015, 06:12  [ТС] 3
Программа от мадема 3G. С помощью нее я подключаюсь к интернету когда нет проводного.
0
Verevkin
987 / 512 / 133
Регистрация: 12.03.2015
Сообщений: 3,518
13.03.2015, 06:21 4
Цитата Сообщение от EEjester Посмотреть сообщение
Программа от мадема 3G. С помощью нее я подключаюсь к интернету когда нет проводного.
тогда зачем эта прога болтается у тебя в памяти, когда не нужна? чтобы бесить тебя сообщением? не понимаю.
ответь, пожалуйста на мой вопрос, не соскакивая с темы! очень прошу!
0
EEjester
1 / 1 / 5
Регистрация: 28.03.2013
Сообщений: 299
13.03.2015, 06:52  [ТС] 5
она для того что бы работал сам мадем. без нее интернет не подключится.

Добавлено через 2 минуты
кстати нашел еще вот такой код, но тоже с ним не разобрался.
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
unit Unit1;
 
interface
 
uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;
 
type
  TForm1 = class(TForm)
    Memo1: TMemo;
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  protected
    procedure WndProc(var Message: TMessage); override;
  end;
 
var
  Form1: TForm1;
 
function RegisterShellHookWindow(Wnd : HWND) : BOOL; stdcall; external user32;
function DeregisterShellHookWindow(Wnd : HWND) : BOOL; stdcall; external user32;
 
implementation
 
{$R *.dfm}
 
var
  WM_SHELLHOOKMESSAGE : UINT;
 
function SetShellHook(hwndHook : HWND) : Boolean;
begin
  Result := False;
  WM_SHELLHOOKMESSAGE := RegisterWindowMessage('SHELLHOOK');
  if WM_SHELLHOOKMESSAGE <> 0 then
  begin
    if RegisterShellHookWindow(hwndHook) then
      Result := True;
  end;
end;
function UnSetShellHook(hwndHook : HWND) : Boolean;
begin
  Result := DeregisterShellHookWindow(hwndHook);
end;
 
procedure TForm1.FormCreate(Sender: TObject);
begin
  if not SetShellHook(Handle) then
    ShowMessage('Не удалось установить хук');
end;
 
procedure TForm1.FormDestroy(Sender: TObject);
begin
  UnSetShellHook(Handle);
end;
 
const
  HSHELL_FLASH = $8006;
 
procedure TForm1.WndProc(var Message: TMessage);
begin
  if Message.Msg <> WM_SHELLHOOKMESSAGE then
    inherited
  else
    case Message.WParam of
      HSHELL_FLASH :
        Memo1.Lines.Add(Format('Мигающее окно: HWND = %d', [Message.LParam]));
    end;
end;
 
end.
0
Verevkin
987 / 512 / 133
Регистрация: 12.03.2015
Сообщений: 3,518
13.03.2015, 06:59 6
Цитата Сообщение от EEjester Посмотреть сообщение
она для того что бы работал сам мадем. без нее интернет не подключится.
да ты прям гений, америку открыл.
перефразирую вопрос: когда вылезает сообщение, в котором спрашивается "хотите ли вы восстановить подключение", ты нажимаешь в нём какую кнопку: "да" или "нет"?
вообще, в подобных прогах всегда есть настройка "восстанавливать соединение при обрыве связи".
0
EEjester
1 / 1 / 5
Регистрация: 28.03.2013
Сообщений: 299
13.03.2015, 07:05  [ТС] 7
Вооо! этот код работает!! Но как его модифицировать не что бы он отлавливал мигание а именно появление окон?

Добавлено через 1 минуту
Нужно нажать в это окно ДА, но это легко... А мне нужно отловить его появление.

p.s: Нету в нем настройки такой... Это и бесит.
0
Verevkin
987 / 512 / 133
Регистрация: 12.03.2015
Сообщений: 3,518
13.03.2015, 07:11 8
Цитата Сообщение от EEjester Посмотреть сообщение
p.s: Нету в нем настройки такой... Это и бесит.
уверен, что нету?
тога стоит поискать прогу, в которой такая настройка есть.
или написать свою.
а чо за модем (производитель (не опсос), модель)?
0
EEjester
1 / 1 / 5
Регистрация: 28.03.2013
Сообщений: 299
13.03.2015, 08:27  [ТС] 9
Слушай ты лучше с кодом помоги а не языком чеши...

p.s: китайский 3g мадем, фиг знает какой марки, прога устанавливается вместе с дровами.
0
Verevkin
987 / 512 / 133
Регистрация: 12.03.2015
Сообщений: 3,518
13.03.2015, 08:45 10
Цитата Сообщение от EEjester Посмотреть сообщение
Слушай ты лучше с кодом помоги а не языком чеши...
я пытался исключить костыли вообще, т.е. найти способ сдеать так, чтобы при обыве связи окно не появлялось. у меня тоже есть китайский 4ж-модем, а вот такого безобразия нету, причём без тыка по кнопкам программы из другой программы.
именно поэтому я и задавал вопросы - мне нужна была инфа для подбора альтернативного софта. я не «чесал языком», а реально хотел помочь ликвидировать проблему. но вижу, что тебе важнее отловить создание окна и прибить его до показа на экране, чем вообще исключить причину создания этого окна.
какая жаль.
0
EEjester
1 / 1 / 5
Регистрация: 28.03.2013
Сообщений: 299
13.03.2015, 08:53  [ТС] 11
Ну так поможешь?
0
Verevkin
987 / 512 / 133
Регистрация: 12.03.2015
Сообщений: 3,518
13.03.2015, 09:00 12
Цитата Сообщение от EEjester Посмотреть сообщение
Ну так поможешь?
чем?
я пытался, ты был против.
0
krapotkin
3420 / 3027 / 1047
Регистрация: 14.04.2014
Сообщений: 14,689
Записей в блоге: 15
13.03.2015, 09:01 13
Цитата Сообщение от Verevkin Посмотреть сообщение
Слушай ты лучше с кодом помоги
http://www.gunsmoker.ru/2008/10/x-y-z.html
вот тут подробненько написано почему тебе задают вопросы и пытаются отговорить от всяких штук
0
EEjester
1 / 1 / 5
Регистрация: 28.03.2013
Сообщений: 299
13.03.2015, 09:06  [ТС] 14
я небыл против просто если бы можно было без костылей я бы сразу так и сделал. но жизнь заставляет хукать это гребаное окошко!
0
Verevkin
987 / 512 / 133
Регистрация: 12.03.2015
Сообщений: 3,518
13.03.2015, 09:09 15
Цитата Сообщение от krapotkin Посмотреть сообщение
http://www.gunsmoker.ru/2008/10/x-y-z.html
вот тут подробненько написано почему тебе задают вопросы и пытаются отговорить от всяких штук
на паре других форумов по программизму эта ссылка давно торчит у меня в подписи.
это очень правильный текст!

Добавлено через 2 минуты
Цитата Сообщение от EEjester Посмотреть сообщение
если бы можно было без кастылей я бы сразу так и сделал
а вот я и пытаюсь узнать, можно без костылей или нет. а ты не только не помогаешь мне, но и мешаешь!
какого хрена ты так делаешь, а? отчаянно не понимаю!
0
EEjester
1 / 1 / 5
Регистрация: 28.03.2013
Сообщений: 299
13.03.2015, 09:24  [ТС] 16
ты адекватный? я тебе сразу сказал без костылей не как! нужно именно то что я написал. Ты вообще читал мою проблему? Такое чувство что потролить суда зашел. А в delphi сам ноль походу...

Добавлено через 5 минут
хотя нет, в delphi ты шаришь. но троль из тебя изысканный!
0
БогДелфей
422 / 330 / 36
Регистрация: 31.05.2011
Сообщений: 1,156
13.03.2015, 09:28 17
Страсти накаляются)))
1
Verevkin
987 / 512 / 133
Регистрация: 12.03.2015
Сообщений: 3,518
13.03.2015, 09:36 18
Цитата Сообщение от EEjester Посмотреть сообщение
ты адекватный?
нет. я инженер.
Цитата Сообщение от EEjester Посмотреть сообщение
я тебе сразу сказал без костылей не как!
перечитал всю ветку, не нашёл, где. процитируй, плиз.
и я не верю, что «не как»: я ж неадекватный (инженер).
Цитата Сообщение от EEjester Посмотреть сообщение
Ты вообще читал мою проблему?
конечно нет! я же телепат, к тому же совсем неадекватный (инженер).
Цитата Сообщение от EEjester Посмотреть сообщение
Такое чувство что потролить суда зашел.
да, специально зарегистрировался. ты меня прям разоблачил! красавец-умище!
Цитата Сообщение от EEjester Посмотреть сообщение
А в delphi сам ноль походу...
а чо такое delphi?

з.ы. надеюсь, наезд на человека, который реально впрягся в твою проблему, тебе помог и ненавистное окно у тебя больше не появляется. больше ни о чём меня не спрашивай, пока не ответишь мне на мои предыдущие вопросы, которые ты проигнорил. удачи!
0
EEjester
1 / 1 / 5
Регистрация: 28.03.2013
Сообщений: 299
13.03.2015, 09:44  [ТС] 19
БогДелфей, помоги ты. Этот инженер безумен!
0
serg55
2 / 2 / 1
Регистрация: 15.08.2014
Сообщений: 170
13.03.2015, 09:54 20
Цитата Сообщение от Verevkin Посмотреть сообщение
ты адекватный?
нет. я инженер.
Ухахаха .... поржал... Без обид, но среди настоящих инженеров, по моему наблюдению, нормальных людей, в бытовом плане, малый процент. У всех с кукушкой немного не в поряде.
P.S. Без обид, сам инженер. Просто факт.

Добавлено через 1 минуту
Цитата Сообщение от Verevkin Посмотреть сообщение
я ж неадекватный (инженер)
Ухаха...валялсо... ... простите админы что не по теме )
0
13.03.2015, 09:54
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.03.2015, 09:54

Чтение информации из чужого окна в 64-bit OS
Привет! Процедура проверяет открыто ли окно Диспетчера задач, и если открыто -...

Отследить появление DOM
Можно ли сделать так, чтобы при появлении (т.е. загрузке браузером, не при...

Как отследить появление конкретного процесса?
Здравствуйте, есть программа А.exe, она автоматически запускается и выполняет...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru