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

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

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

Author24 — интернет-сервис помощи студентам
На модеме в случае потере связи появляется окно в котором спрашивается хотите ли вы восстановить подключение.
Жутко это бесит!! Нужно перехватить появление этого сообщения.
Пробовал в таймере вот так но это жуткое извращение! и когда играешь например то сворачивается игра!!! БЕСИТ!
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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.03.2015, 21:00
Ответы с готовыми решениями:

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

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

Плавное появление и исчезание формы, отследить коэффициент прозрачности
В чем ошибка? При запуске программы она просто плавно исчезает, но не появляется обратно. Я думаю...

Отследить появление файла по указанному пути и анализ его байтовой структуры
Всем здравствуйте. Необходимо отслеживать файл, зная указанный путь??? Вроде как через функцию...

36
Заблокирован
13.03.2015, 02:26 2
Цитата Сообщение от EEjester Посмотреть сообщение
появляется окно в котором спрашивается хотите ли вы восстановить подключение
а что за программа показывает это окошко?
0
1 / 1 / 5
Регистрация: 28.03.2013
Сообщений: 299
13.03.2015, 06:12  [ТС] 3
Программа от мадема 3G. С помощью нее я подключаюсь к интернету когда нет проводного.
0
Заблокирован
13.03.2015, 06:21 4
Цитата Сообщение от EEjester Посмотреть сообщение
Программа от мадема 3G. С помощью нее я подключаюсь к интернету когда нет проводного.
тогда зачем эта прога болтается у тебя в памяти, когда не нужна? чтобы бесить тебя сообщением? не понимаю.
ответь, пожалуйста на мой вопрос, не соскакивая с темы! очень прошу!
0
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
Заблокирован
13.03.2015, 06:59 6
Цитата Сообщение от EEjester Посмотреть сообщение
она для того что бы работал сам мадем. без нее интернет не подключится.
да ты прям гений, америку открыл.
перефразирую вопрос: когда вылезает сообщение, в котором спрашивается "хотите ли вы восстановить подключение", ты нажимаешь в нём какую кнопку: "да" или "нет"?
вообще, в подобных прогах всегда есть настройка "восстанавливать соединение при обрыве связи".
0
1 / 1 / 5
Регистрация: 28.03.2013
Сообщений: 299
13.03.2015, 07:05  [ТС] 7
Вооо! этот код работает!! Но как его модифицировать не что бы он отлавливал мигание а именно появление окон?

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

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

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

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

Добавлено через 5 минут
хотя нет, в delphi ты шаришь. но троль из тебя изысканный!
0
474 / 337 / 36
Регистрация: 31.05.2011
Сообщений: 1,162
13.03.2015, 09:28 17
Страсти накаляются)))
1
Заблокирован
13.03.2015, 09:36 18
Цитата Сообщение от EEjester Посмотреть сообщение
ты адекватный?
нет. я инженер.
Цитата Сообщение от EEjester Посмотреть сообщение
я тебе сразу сказал без костылей не как!
перечитал всю ветку, не нашёл, где. процитируй, плиз.
и я не верю, что «не как»: я ж неадекватный (инженер).
Цитата Сообщение от EEjester Посмотреть сообщение
Ты вообще читал мою проблему?
конечно нет! я же телепат, к тому же совсем неадекватный (инженер).
Цитата Сообщение от EEjester Посмотреть сообщение
Такое чувство что потролить суда зашел.
да, специально зарегистрировался. ты меня прям разоблачил! красавец-умище!
Цитата Сообщение от EEjester Посмотреть сообщение
А в delphi сам ноль походу...
а чо такое delphi?

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

Добавлено через 1 минуту
Цитата Сообщение от Verevkin Посмотреть сообщение
я ж неадекватный (инженер)
Ухаха...валялсо... ... простите админы что не по теме )
0
13.03.2015, 09:54
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.03.2015, 09:54
Помогаю со студенческими работами здесь

Отследить ошибку подключения модуля
Здравствуйте! Использую в своей программе MySQL Connector. Если использую программу на компьютере...

Как отследить адрес подключения на определённый порт?
Есть шлюз на дебиане, на нем стоит Squid3 и проброшен 3389 порт на комп в локалке. Подскажите...

Передача информации из текстбоксов одного окна в таблицу другого окна
Доброго времени суток, пишу программу для mac os x, нужна подсказка, как сделать (не прошу делать,...

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


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

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