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

RusFAQ.ru: Программирование на C / C++


Информационный Канал Subscribe.Ru

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / C/C++

Выпуск № 121
от 06.06.2005, 10:20

Администратор:Калашников О.А.
В номере:Вопросов: 1, Ответов: 3


Вопрос № 21559: Здравствуйте уважаемые эксперты. Как сделать так чтоб при запуске программы не появлялась главная форма? Cуть такова: Запускает человек программу. Или она сама запускается из автозагрузки. Сперва ничего не происходит. Но через пол часа вы...

Вопрос № 21.559
Здравствуйте уважаемые эксперты. Как сделать так чтоб при запуске программы не появлялась главная форма?
Cуть такова:
Запускает человек программу. Или она сама запускается из автозагрузки.
Сперва ничего не происходит. Но через пол часа вылезает окошко с сообщением
типа "Купите себе селедку и морочте ей голову". При нажатии на OK исчезает
(Main_Form->Visible=!Main_Form->Visible), но через пол часа снова вылезает
с другим сообщением (тут уже Visible меняет не кнопка, а сработавший
таймер). Таких сообщений там полтора десятка, они выбираются случайным
образом и подставляются в качестве значения Caption объекта Label на этой
форме. Снимается резидент только через три пальца, причем видно его только
на вкладке "Процессы" - в "Приложениях" его видно только когда это окно
вылезает. Я все это уже сделал, вся фигня только в том, что при запуске
этой программы окно вылезает сразу. А надо чтобы оно сразу же скрытым было,
иначе запустивший эту прогу юзер сразу все поймет.
Отправлен: 31.05.2005, 14:03
Вопрос задала: Саша Ковальски (статус: Посетитель)
Всего ответов отправлено: 3

Отвечает: DSota
Здравствуйте, Саша Ковальски!
Если используешь BCВ - то добавь код своей программы в главный модуль после (перед) выполнением Application->Run(); При этом в закладке Project->Options->Forms->Auto-create forms убери все формы, и они не будут создаваться.
На MSVC - помеcти код в процедуру WinMain, закомментировав MyRegisterClass(hInstance);
---------
Открыть глаза навстречу солнцу.
Ответ отправил: DSota (статус: Студент)
Отправлен: 31.05.2005, 14:56

Отвечает: Azat
Здравствуйте, Саша Ковальски!
Если пишешь на WinAPI или MFC:
После создания окна Вы вызываете функцию ShowWindow(hwnd, SW_SHOW); [ShowWindow(hwnd, nCmdShow); или this->ShowWindow(SW_SHOW);]. Чтобы окно не показывалось после создания, Вам нужно стереть эту функцию или вместо SW_SHOW (nCmdShow) написать SH_HIDE. А как таймер сработает - вызвать ShowWindow(hwnd, SW_SHOW);
Думаю, всё понятно. Если не так, пишите на Azat-Yar@mail.ru
Удачи!
Ответ отправил: Azat (статус: 3-ий класс)
Отправлен: 31.05.2005, 17:39

Отвечает: Pushkin
Здравствуйте, Саша Ковальски!
Можно сделать главную форму очень небольшой, например Width = 0; Height = 0;
Присваивать эти значения в обработчике события OnShow;
Также в этом обработчике включать таймер. В обработчике таймера OnTimer прописать функцию MessageBox.
Ответ отправил: Pushkin (статус: 3-ий класс)
Отправлен: 31.05.2005, 18:30


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2005, RusFAQ.ru, Россия, Москва. Все права защищены.
Идея, дизайн, программирование, авторское право: Калашников О.А.

Яндекс


Subscribe.Ru
Поддержка подписчиков
Другие рассылки этой тематики
Другие рассылки этого автора
Подписан адрес:
Код этой рассылки: comp.soft.prog.cplus
Отписаться
Вспомнить пароль

В избранное