Отправляет email-рассылки с помощью сервиса Sendsay

Программирование. Форум !!!

За 2004-03-10

Re: [Delphi6] закрыть message box

Привет, keel.

Вы писали 10 марта 2004 г., 15:28:15:

k> Здравствуйте!
k> Очень важная проблема:
k> каким образом можно программно закрыть message box(окошко с
k> инофрмацией)?
k> То есть идея такова: например при нажатии на кнопку выскакивает это
k> сообщение, потом оно тут же закрывается, чтобы это было невидно
k> пользователю?
k> Вот код:
k> k> procedure TForm1.Button1Click(Sender: TObject);
k> begin
k> ShowMessage('Hello');
k> {что нужно вставить тут чтобы сообщение Hello тут же закрылось?}
k> end;
k> k> Заголовок этого message box известен.
k> Очень надеюсь на вашу помощь, так как вопрос и в самом деле очень
k> важный для меня.

Эта программа закрывает наг-скрин от The Bat!, надеюсь разберешься:

program LoadBat;
{$APPTYPE CONSOLE}
uses
Windows,
Registry,
Messages;

var
hForm, hPanel, hButton: THandle;
begin
WinExec({'C:\Program Files\The Bat!\}'thebat.exe', SW_SHOW);

{
HWND FindWindow(
LPCTSTR lpClassName, // pointer to class name
LPCTSTR lpWindowName // pointer to window name
);
}

hForm:=FindWindow('TUnregForm', nil);
while hForm=0 do
begin
Sleep(100);
hForm:=FindWindow('TUnregForm', nil);
end;

{
HWND FindWindowEx(
HWND hwndParent, // handle to parent window
HWND hwndChildAfter, // handle to a child window
LPCTSTR lpszClass, // pointer to class name
LPCTSTR lpszWindow // pointer to window name
);
}

hPanel:=FindWindowEx(hForm, 0, 'TPanel', nil);
while hPanel=0 do
begin
Sleep(100);
hPanel:=FindWindowEx(hForm, 0, 'TPanel', nil);
end;

hButton:=FindWindowEx(hPanel, 0, 'TButton', 'ОК');
while hButton=0 do
begin
Sleep(100);
hButton:=FindWindowEx(hPanel, 0, 'TButton', 'ОК');
end;

// нажать кнопку
SendMessage(hButton, BM_CLICK, 0, 0);
end.

   2004-03-10 23:27:57 (#100511)

Cpp Builder | Delphi WinExec

Дрова!

Есть такая API'шная функция
UINT WinExec(LPCSTR lpCmdLine, // address of command line
UINT uCmdShow // window style for new application
);
Дык когда я ее юзаю под Delphi - все ОК, а вот под Cpp Builder выдает значение
0 (The system is out of memory or resources) [все на 100% идентично, т.е. копируем
из Дельфа и вставляем в Срр]

Что делать? И в чем вся фигня???

   -=BorMaN=- 2004-03-10 22:41:36 (#100493)

Re: [Delphi6] закрыть message box

==-==-=-Привета!10 марта 2004 г. (среда 14:28:15) keel (E-Mail: <dima***@s*****.by>) в мессаге
<<[Delphi6] закрыть message box>> накрапал

keel> Вот код:
keel> keel> procedure TForm1.Button1Click(Sender: TObject);
keel> begin
keel> ShowMessage('Hello');
keel> {что нужно вставить тут чтобы сообщение Hello тут же закрылось?}
keel> end;
keel> keel> Заголовок этого message box известен.
Лажа в том, что ты не знаешь хендла этого окна :-(
Лучше сделай свой аналог MessageBox'a (ShowMessage'a) - так будет намного проще
:-)

   -=BorMaN=- 2004-03-10 22:41:31 (#100492)

Re: opendialog в delphi7

Здравствуйте !

> А почему при открытии opendialog`a в delphi происходит такая большая
> утечка памяти? Например, я запустил прогу: в памяти она занимает 4mb,
> после запуска opendialog она занимает 7mb. После закрытия диалога
> память не освобождается. Почему? Пробовал создавать диалог
> динамически, но такой же результат!

Потому что подгружаются dll - ки в которых лежит оконная функция
диалога, и др. Для освобождения памяти надо выгружать эти модули.
А оно тебе надо ?

--
С уважением, Вахтуров Виктор.
Информационный сайт для программистов http://SoftMaker.com.ru
Номер выпуска : 2524
Возраст листа : 170 (дней)
Количество подписчиков : 381
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/100418
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

-*Информационный канал Subscribe.Ru
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписаться: mailto:comp.soft.prog.prog--unsub@subscribe.ru

http://subscribe.ru/ mailto:ask@subscribe.ru

   2004-03-10 21:12:35 (#100418)

Re: [Delphi6] закрыть message box

не совсем понятно.
Откуда нужно закрыть МессаджБох?
Из той же программы или из другой?

   2004-03-10 21:12:01 (#100417)

[Perl] Хэш ENV

Здравствуйте, уважаемые участники!

Подскажите пожалуйста, где можно достать описание всех переменных окружения
хэша %ENV, и ещё где бы почитать принципы работы с базами данных типа DBM.
Искал в интернете, да ничего не нашёл :7

Заранее спасибо.
С уважением ко всем, Владимир.
Номер выпуска : 2522
Возраст листа : 170 (дней)
Количество подписчиков : 381
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/100410
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

-*Информационный канал Subscribe.Ru
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписаться: mailto:comp.soft.prog.prog--unsub@subscribe.ru

http://subscribe.ru/ mailto:ask@subscribe.ru

   2004-03-10 21:01:04 (#100410)

Re: Книги издательства O'Reilly

Hello Surin_bp,

S> Книги издательства O'Reilly, в том числе и по Perl, можно найти по адресу
S> http://www.zipsites.ru/programming/
S> :(( То, что посылаю я - мне и возвращается роботом, дескать - не может прочитать
S> архивы - лентяй

а эти книжки переведенные на русский интересно где-нибудь есть? :-/
кроме "Изучаем Perl" (learning Perl).

особенно
хотелось бы заполучить русскую "Programming Perl" Ларри Уолла

   kb 2004-03-10 21:00:59 (#100409)

Re: [Delphi6] закрыть message box

Здравствуйте, keel!

10 марта 2004 г. в 18:28:15 GMT Вы писали:

k> ShowMessage('Hello');
k> {что нужно вставить тут чтобы сообщение Hello тут же закрылось?}

Что бы Вы туда не вставили, все это будет выполнено только после закрытия
сообщения. Но есть, как минимум, четыре варианта решения данного вопроса
(в порядке уменьшения сложности):

1. Использование дополнительного потока.
2. Использование хуков (например WH_CBT).
3. Использование циклов простоя приложения Application.OnIdle.
4. Пересмотреть задачу, чтобы вообще не выводить сообщение на экран.

Рекомендую воспользоваться 4-м вариантом. Но если все-таки не подойдет, то
помогу с остальными тремя.

--
С уважением, Кирилл Харламов.
http://rezone.by.ru
Номер выпуска : 2520
Возраст листа : 170 (дней)
Количество подписчиков : 381
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/100408
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

-*Информационный канал Subscribe.Ru
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписаться: mailto:comp.soft.prog.prog--unsub@subscribe.ru

http://subscribe.ru/ mailto:ask@subscribe.ru

   2004-03-10 21:00:55 (#100408)

Re: [Delphi6] закрыть message box

Доброго времени суток, keel.
Вы писали 10 марта 2004 г., 20:20:48
на тему "[Delphi6] закрыть message box"

k> каким образом можно программно закрыть message box(окошко с
k> инофрмацией)?

procedure PressKey (key : integer);
begin
keybd_event(Key,0,KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP,0);
keybd_event(Key,0,KEYEVENTF_EXTENDEDKEY,0);
keybd_event(Key,0,KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP,0);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage('Hello');
PressKey (VK_ENTER);
end;

З.Ы. Сам не пробовал, по памяти писал. Если не будет работать, пиши.

* В мире нет вечных двигателей, зато есть вечные тормоза

   Денис 2004-03-10 20:25:19 (#100388)

Получить частоту обновления экрана

Доброго времени суток, все!

Только начинаю осваивать c++, подскажите, пожалуйста, как получить
частоту обновления экрана?

* Господи, сколько еще не сделано... а сколько еще предстоит не сделать...

   Денис 2004-03-10 20:25:09 (#100387)

opendialog в delphi7

Доброго времени суток, все!

А почему при открытии opendialog`a в delphi происходит такая большая
утечка памяти? Например, я запустил прогу: в памяти она занимает 4mb,
после запуска opendialog она занимает 7mb. После закрытия диалога
память не освобождается. Почему? Пробовал создавать диалог
динамически, но такой же результат!

* Мужчину от мальчика отличает лишь стоимость игрушек

   Денис 2004-03-10 20:25:03 (#100386)

Visual C++ 7

Hello comp,

я тут недавно расхваливал 7-ю визуалку, а теперь у меня у самого
вопросы :)
1. есть ли возможность в сабже в панели ClassView создавать
папки, как в 6-ой, и группировать по этим папкам классы (а может
быть и функции в классах)?
2. как удалить функцию автоматически? В 6-й выделяешь функцию в
ClassView, правая кнопка мыши, Remove - и все, а здесь нету! Неужели
придется удалять вручную?
Подскажите кто знает!

   2004-03-10 20:00:31 (#100376)

Re: Control+Alt+Delete [Delphi6] [Win98]

> Блин, денег-то у меня не густо =) может кто-нибудь кинет исходы?
Для Win 9x
var
I:integer;
begin
i:=0;
SystemParametersInfo(SPI_SCREENSAVERRUNNING,1,@i,0);
end;
или
Application.title:='';

Это имеено из этой книги. А вообще книга ДРЯНЬ. Сам себя ругаю, зачем купил.
Захотел письмо ему написать (поругаться), так все E-MAIL в книги
недействительные.
Номер выпуска : 2515
Возраст листа : 170 (дней)
Количество подписчиков : 381
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/100299
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

-*Информационный канал Subscribe.Ru
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписаться: mailto:comp.soft.prog.prog--unsub@subscribe.ru

http://subscribe.ru/ mailto:ask@subscribe.ru

   2004-03-10 16:50:48 (#100299)

Re: [D5] GetDС + память + RePaint

> 1) Почему перекрываются адреса переменных PChar?
Pcahr - это нультерменальные строки, для них нужно выделять память!
(new(PCHAR);)
> 4) Как указать окну на котором рисуешь то что пора перерисоваться?
InvalidateRect(handel,@rect,true);
Номер выпуска : 2514
Возраст листа : 170 (дней)
Количество подписчиков : 381
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/100289
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

-*Информационный канал Subscribe.Ru
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписаться: mailto:comp.soft.prog.prog--unsub@subscribe.ru

http://subscribe.ru/ mailto:ask@subscribe.ru

   2004-03-10 16:38:27 (#100289)
  • 1
  • 2