C++Builder
  Начало   Форум   Помощь Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: по поводу трея, и автозапуска  (Прочитано 3910 раз)
000
Участник


Сказали спасибо: +0/-0
Offline

Сообщений: 8


по поводу трея, и автозапуска
« : 04 Январь 2008, 00:39:15 »

здарова люди и другие!
вот такая проблема у меня:
создал софтину, хочу её поместить при автозагрузке в трею, а как это осуществить - незнаю!
подскажите пожалуйста, да поподробней, если не лень. спасибо.
Записан
Bakh
Участник


Сказали спасибо: +2/-0
Offline

Сообщений: 207


Re: по поводу трея, и автозапуска
« Ответ #1 : 04 Январь 2008, 08:18:08 »

Привет. Вот один из способов:
кинуть на главную форму ImageList1 из вкладки Win32. Двойным кликом по нему вызвать ImageList редактор и загружаешь иконку. Кинуть на форму TrayIcon1 из вкладки Samples.
В свойстве Icons в объектном инспекторе выбрать ImageList1
В событии OnCreate формы написать:

Код
  TrayIcon1 -> Visible = true;
  PostMessage(Handle, WM_SYSCOMMAND, SC_MINIMIZE, 0);

Все.
Хорошо бы посмотреть примеры:
$BCB\Examples\Apps\TrayIcon
$BCB\Examples\Controls\Traydemo
Записан
000
Участник


Сказали спасибо: +0/-0
Offline

Сообщений: 8


Re: по поводу трея, и автозапуска
« Ответ #2 : 04 Январь 2008, 15:28:47 »

Цитата: Bakh от 04 Январь 2008, 08:18:08
Привет. Вот один из способов:
кинуть на главную форму ImageList1 из вкладки Win32. Двойным кликом по нему вызвать ImageList редактор и загружаешь иконку. Кинуть на форму TrayIcon1 из вкладки Samples.
В свойстве Icons в объектном инспекторе выбрать ImageList1
В событии OnCreate формы написать:

Код
  TrayIcon1 -> Visible = true;
  PostMessage(Handle, WM_SYSCOMMAND, SC_MINIMIZE, 0);

Все.
Хорошо бы посмотреть примеры:
$BCB\Examples\Apps\TrayIcon
$BCB\Examples\Controls\Traydemo

отлично. благодарю тебя Bakh

теперь про автозапуск:
- вобщем как его осуществить из папки - я знаю, хотелось бы узнать еще как это сделать из реестра. и естествено как этот параметр прописать из BCB.
- как сделать так, чтобы при определенном событии (напримр при установки соединения с сетью) запускалась моя прога. т.е. как агента поместить при атворане в буффер как резидента? связать это инициирование проверки соединения с интервалом таймера?
Записан
000
Участник


Сказали спасибо: +0/-0
Offline

Сообщений: 8


Re: по поводу трея, и автозапуска
« Ответ #3 : 04 Январь 2008, 19:04:07 »

Цитата: Bakh от 04 Январь 2008, 08:18:08

Код
 
  TrayIcon1 -> Visible = true;
  PostMessage(Handle, WM_SYSCOMMAND, SC_MINIMIZE, 0);
 


а че за фигня:
создал менюшку для восстановления окна:
Код:
  PostMessage( Handle, WM_SYSCOMMAND, SC_RESTORE, 0);
так вот, после запуска проги нажимаю на кнопку чтобы окно ушло в трей, потом щелкаю на менюшке иконки 'развернуть', мое окно восстанавливается, опять нажимаю на кнопочку чтоб окошко спрятать - а оно не прячется! это че за? как это явление исправить?
Записан
Bakh
Участник


Сказали спасибо: +2/-0
Offline

Сообщений: 207


Re: по поводу трея, и автозапуска
« Ответ #4 : 07 Январь 2008, 07:19:37 »

На нажатие кнопки просто:
Код
PostMessage(Handle, WM_SYSCOMMAND, SC_MINIMIZE, 0);
Записан
crackdog
Участник


Сказали спасибо: +2/-0
Offline

Сообщений: 64


« Ответ #5 : 07 Январь 2008, 16:24:51 »

Цитата: 000 от 04 Январь 2008, 15:28:47
теперь про автозапуск:
- вобщем как его осуществить из папки - я знаю, хотелось бы узнать еще как это сделать из реестра. и естествено как этот параметр прописать из BCB.

Вот например:
Код:
HKEY hg;
RegOpenKeyEx(HKEY_LOCAL_MACHINE
,"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run",
0,KEY_ALL_ACCESS,&hg);
RegSetValueEx(hg,"название проги или т.д",
0,REG_SZ,"путь к проге",50);
RegCloseKey(hg);
Или так
Код:
HKEY hg;
RegOpenKeyEx(HKEY_CURRENT_USER
,"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run",
0,KEY_ALL_ACCESS,&hg);
RegSetValueEx(hg,"название проги или т.д",
0,REG_SZ,"путь к проге",50);
RegCloseKey(hg);
Подробности по функциям смотри в Multimedia API Reference
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  




....

Powered by SMF 1.1.21 | SMF © 2025, Simple Machines
Страница сгенерирована за 0.107 секунд. Запросов: 21.