Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: вопрос к размышлению Добавлено: 09.02.04 21:45  

Автор вопроса:  ZoomerSD | ICQ: 148640473 
видел я в инете такую забавную софтинку, которая умела окна в системный трей свёртывать,но как вы понимаете
 любая программа как-только попадает на глаза человеку
после того,как
знккомому с программированием, у последнего появляеться желание что0то в ней добавить, что-то переделать, вот и у меня такое желание появилось. Но поскольку я пока-ещё не очень илён в этом деле, я смог набрасать только примерный алгаритм действий:
создаём массив контролов который vt.n светиться в трее
е умеют
получаем иконку активного окна
сажаем в трей эту иконку
и прячем окно
когда кликаем по иконке, тоесть по контролу, мы окошко обратно возвращаем, и иконку убирае.Вот впринцепи и весь алгоритм, к моему огромному сожалению, я умею только первый третий и частично пятый:( Кто знает как решить остальные пункты, подскажите пожалуйста...

Ответить

  Ответы Всего ответов: 5  

Номер ответа: 1
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #1
Добавлено: 10.02.04 20:39

AllToTray, да?

Мне тоже вдруг захотелось что-то в этом роде сделать, во-первых, потому что она, кажись, платная, во-вторых, потому что она мне глаза мозолила (не знаю, правда, чем :))

Принцип такой:

Получаешь все окна верхнего уровня (сейчас наверняка ошибусь, но это, кажется, GetForegroundWindow)

Добавляешь в системное меню (GetSystemMenu-SetMenuInfo?) пункт, отслеживаешь (хук, пожалуй) его нажатие, получаешь иконку (GetWindowLong), кидаешь ее в трей, потом обрабатываешь согласно плану.

Ответить

Номер ответа: 2
Автор ответа:
 ZoomerSD



ICQ: 148640473 

Вопросов: 135
Ответов: 270
 Профиль | | #2 Добавлено: 10.02.04 21:02
отнасительно  GetForegroundWindow() ты совершенно прав а вот с остальным сложнее, как ловить нажатые клавиши из трея, как получить иконку активного окна?

Ответить

Номер ответа: 3
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #3
Добавлено: 10.02.04 21:57

Нажатие кнопок в трее отлавливаешь так же, как и всегда, своим окном. Потом активизируешь нужное окно и передпешь ему фокус. А иконку из окна, нашел: GetClassName, GetClassLong с параметром GCL_HICON

Ответить

Номер ответа: 4
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #4
Добавлено: 10.02.04 22:27

GetForegroundWindow - получение активного окна... или теперь я ошибаюсь ;)
Только представляется мне что работа подобных прог заключается в следующем:
1. Просматривает все окна в системе, отбирает только видимые...
2. Получает иконку... Тут я думаю проблемм не будет, т.к. я уже не однократно видел заменители TaskSwitcher'a (Alt + Tab)
3. а) Ставит хук на все окна
б) Ставит хук на активное окно
4. При сворачивании, отслеживает это дело, и добавляет СВОЮ иконку в панель уведомлений
5. само окошко - скрывается
6. при нажатии на иконку (менюшку), это окошко показывается, а дабы все выглядело красиво, его можно еще и развернуть ;)

Ответить

Номер ответа: 5
Автор ответа:
 ZoomerSD



ICQ: 148640473 

Вопросов: 135
Ответов: 270
 Профиль | | #5 Добавлено: 14.02.04 19:29

так я и не разобрался с иконко, у кого есть готовый рабочий код, вышлите пожалуйста!
   

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам