Форум: "WinAPI";
Текущий архив: 2006.04.02;
Скачать: [xml.tar.bz2];
ВнизКак создать прогу, которая помещала бы tray-иконки в себя? Найти похожие ветки
← →
Volf_555 (2006-01-14 19:45) [0]Планирую придумать свой Explorer.exe...
Столкнулся с проблемой - помещение tray-иконок (например при запуске, Касперский создаёт свою tray-иконку) в мою программу и доступ к ним, соответственно
Как такое сделать?
← →
Eraser © (2006-01-14 20:02) [1]TJvTrayIcon из JEDI VCL поможет.
← →
VirEx © (2006-01-14 21:16) [2]CloseDesktop
CloseWindowStation
CreateDesktop
CreateWindowStation
EnumDesktopProc
EnumDesktops
EnumDesktopWindows
EnumWindowStationProc
EnumWindowStations
GetProcessWindowStation
GetThreadDesktop
GetUserObjectInformation
GetUserObjectSecurity
OpenDesktop
OpenInputDesktop
OpenWindowStation
SetProcessWindowStation
SetThreadDesktop
SetUserObjectInformation
SetUserObjectSecurity
SwitchDesktop
← →
Volf_555 (2006-01-14 21:59) [3]
> Eraser © (14.01.06 20:02) [1]
> TJvTrayIcon из JEDI VCL поможет.
Скачал... Только как установить?!
Install.bat - ругается:build.exe found. Pretest: ok
Using d6 for build process.
MAKE Version 5.2 Copyright (c) 1987, 1998 Inprise Corp.
[Generating MO files]
[Compiling: Installer]
MAKE Version 5.2 Copyright (c) 1987, 1998 Inprise Corp.
Writing: ..\..\install\JVCLInstall\JVCLInstall.cfg
Borland Delphi Version 14.0
Copyright (c) 1983,2001 Borland Software Corporation
E:\SysFolders\Desktop\JVCL\jvcl\run\JvTypes.pas(558) Error: Undeclared identifie
r: "clHotLight"
E:\SysFolders\Desktop\JVCL\jvcl\run\JvTypes.pas(559) Error: Undeclared identifie
r: "clMenuBar"
E:\SysFolders\Desktop\JVCL\jvcl\run\JvTypes.pas(560) Error: Undeclared identifie
r: "clMenuHighlight"
E:\SysFolders\Desktop\JVCL\jvcl\run\JvExControls.pas(56) Fatal: Could not compil
e used unit "JvTypes.pas"
** error 1 ** deleting Installer_nomo
Press ENTER to continue
Как исправить ситуацию?
> VirEx © (14.01.06 21:16) [2]
Спасибо - попробую!
← →
Volf_555 (2006-01-14 22:11) [4]
> VirEx © (14.01.06 21:16) [2]
Кстати, нет ли у тебя литературы насчёт этих функций? Если есть, то скинь на мыло: kostya__@list.ru
← →
VirEx © (2006-01-14 22:14) [5]
> [4] Volf_555 (14.01.06 22:11)
эм... "D:\Program Files\Common Files\Borland Shared\MSHelp\WIN32SDK.HLP"
← →
Eraser © (2006-01-14 22:21) [6]
> Volf_555 (14.01.06 21:59) [3]
Скачай так же JCL. Потом в корне какого-нибудь диска создай каталог JEDI и в него скопируй папки JCL и JVCL. Сначала устанавливай JCL потом JVCL. Вся установка займёт минуты 3-4 - всё автоматизированно.
← →
Eraser © (2006-01-14 22:22) [7]
> VirEx © (14.01.06 21:16) [2]
к чему этот список ф-й? ;)
← →
VirEx © (2006-01-14 22:28) [8]
> [7] Eraser © (14.01.06 22:22)
>
> > VirEx © (14.01.06 21:16) [2]
>
> к чему этот список ф-й? ;)
A window station is a secure object that contains a clipboard, a set of global atoms and a group of desktop objects. The interactive window station assigned to the logon session of the interactive user also contains the keyboard, mouse, and display device. The interactive window station is visible to the user and can receive input from the user. All other window stations are noninteractive, which means that they cannot be made visible to the user, and cannot receive user input.
Applications can use the following functions for manipulating window station objects:
Function Description
CloseWindowStation Closes a specified window station.
CreateWindowStation Creates a new window station.
EnumWindowStations Enumerates the window stations in the system by repeatedly calling an application-defined EnumWindowStationProc callback function.
GetProcessWindowStation Returns a handle of the window station assigned to the calling process.
GetUserObjectInformation Gets information about a window station or desktop object.
GetUserObjectSecurity Gets security information for a window station or desktop object.
OpenWindowStation Opens a handle of an existing window station.
SetProcessWindowStation Assigns a specified window station to the calling process.
SetUserObjectInformation Sets information about a window station or desktop object.
SetUserObjectSecurity Sets security information for a window station or desktop object.
сабж, ну хочет человек свой shell вместо explorer"a сделать, пусть делает :)
← →
Volf_555 (2006-01-14 22:36) [9]JCL установило с двумя ошибками, какие именно - не написало, а
JVCL - ошибка снова, смотри
> Volf_555 (14.01.06 21:59) [3]
← →
Eraser © (2006-01-14 23:08) [10]
> Volf_555 (14.01.06 22:36) [9]
у меня и не только у меня нормально всё установило, пробовал на D7 и D2005.
> VirEx © (14.01.06 22:28) [8]
а! по этой
> Планирую придумать свой Explorer.exe...
части сабжа... тогда ясно )
← →
Набережных С. © (2006-01-15 08:09) [11]
> VirEx © (14.01.06 21:16) [2]
> VirEx © (14.01.06 22:28) [8]
И какое отношение все это имеет к вопросу конкретно и к оболочке вообще?
← →
VirEx © (2006-01-15 15:52) [12]
> [11] Набережных С. © (15.01.06 08:09)
задолбала кривая критика! см [8] VirEx © (14.01.06 22:28)
← →
Набережных С. © (2006-01-15 17:19) [13]
> VirEx © (15.01.06 15:52) [12]
> задолбала кривая критика! см [8] VirEx © (14.01.06 22:
> 28)
Смотрю. Не вижу никакой связи с Shell. Может ты объяснишь?
Задолбали ламеры, замусоривающие форум кривыми советами.
LMD.
← →
VirEx © (2006-01-15 17:43) [14]
> [13] Набережных С. © (15.01.06 17:19)
я даже и не программист, если что)
я полагаю что через Window Station "технологию" можно assigned to the logon session of the interactive user also contains the keyboard, mouse, and display device
← →
Набережных С. © (2006-01-15 17:56) [15]
> VirEx © (15.01.06 17:43) [14]
Ну и зачем было так: "задолбали!"?:)
Все это немного из другой оперы. Шелл запускается уже на интерактивном десктопе в интерактивной оконной станции и, соответственно, уже имеет доступ ко всем этим прелестям - "keyboard, mouse, and display device" - без каких-либо дополнительных телодвижений. А функции из [8] относятся к системе безопасности, с которой сам по себе шелл дел иметь не должен, да и не нужно ему это.
← →
Igor_thief (2006-01-15 18:29) [16]Научись работать с ресурсами, потом научись работать с треем. Благо материла по данной тематеке предостаточно в инете.
ЗЫ: в BDS 2006 есть прекрассный компонент для работы с треем.
Удачи!
← →
Rouse_ © (2006-01-15 19:28) [17]
> я полагаю что через Window Station "технологию" можно assigned
> to the logon session of the interactive user also contains
> the keyboard, mouse, and display device
Плохо полагаешь, но начитался - не спорю...
Изучай: http://www.microsoft.com/technet/security/bulletin/MS02-071.mspx
Ну и вообще:
http://search.microsoft.com/results.aspx?q=Interactive+desktop&l=2&mkt=ru-RU&FORM=QBME2
← →
Volf_555 (2006-01-15 19:51) [18]
> Igor_thief (15.01.06 18:29) [16]
> Научись работать с ресурсами, потом научись работать с треем.
> Благо материла по данной тематеке предостаточно в инете.
>
>
> ЗЫ: в BDS 2006 есть прекрассный компонент для работы с треем.
>
>
> Удачи!
BDS 2006 - это что такое?
Borland Delphi S......... 2006? какое слово подразумевается под "S"?
Создание нового десктопа - это тоже как один из вариантов.
Но меня интересует, в основном, создание программы, которая будет заменять explorer.exe и запускаться вместо него
← →
Rouse_ © (2006-01-15 20:45) [19]
> BDS 2006 - это что такое?
Borland Delphi Studio 2006
← →
ShiFT (2006-01-16 10:08) [20]>Rouse_ © (15.01.06 20:45) [19]
>> BDS 2006 - это что такое?
>Borland Delphi Studio 2006
Borland Developer Studio 2006
← →
Игорь Шевченко © (2006-01-16 11:41) [21]VirEx © (15.01.06 17:43) [14]
> я даже и не программист, если что)
Тогда с какой целью ты написал пост [2] ? Чтобы показать, как много слов знаешь ?
> я полагаю что через Window Station "технологию" можно assigned
> to the logon session of the interactive user also contains
> the keyboard, mouse, and display device
Нет, нельзя, ты неверно полагаешь.
Shell - это самая обычная программа, преимущественно explorer.exe, запускаемая гuserinit.exe при входе в систему, ее имя прописано в реестре, можно даже Notepad запустить в качестве shell, только будет ли толк от этого ?
← →
ПЛОВ © (2006-01-16 14:29) [22]http://www.delphikingdom.com/asp/viewitem.asp?catalogid=618
← →
n0name (2006-01-16 15:22) [23]Shell_NotifyIconW просто ищет окно с классом "Shell_TrayWnd" и посылает в него сообщение WM_COPYDATA. в качестве данных выступает простая структура TNIDMessage. возвращаясь к топику: если создать свое окно с классом "Shell_TrayWnd" и обрабатывать входящие сообщения WM_COPYDATA, то можно написать полный аналог system tray! ... (с) paul_shmakov
← →
VirEx © (2006-01-16 18:38) [24]
> [21] Игорь Шевченко © (16.01.06 11:41)
> VirEx © (15.01.06 17:43) [14]
>
>
> > я даже и не программист, если что)
>
>
> Тогда с какой целью ты написал пост [2] ? Чтобы показать,
> как много слов знаешь ?
---
нет, как в справке копался
← →
VirEx © (2006-01-16 18:42) [25]Удалено модератором
← →
Volf_555 (2006-01-17 13:49) [26]
> ПЛОВ © (16.01.06 14:29) [22]
> http://www.delphikingdom.com/asp/viewitem.asp?catalogid=618
Ссылка интересная и полезная, только одно НО есть.
Скачал демо-проект по ссылке: http://delphi.mtu-net.ru/zip/demotray.zip , откомпилировал, запустил вместо explorer.exe, запускал разные проги, которые создают трэи (FlashGet, TeleportPro.....) - бесполезно, трэи на форме не появляются.....
← →
ПЛОВ © (2006-01-17 14:00) [27]Возможно. Я вообще не вижу где в демке прорисовка иконок на форме, они только в ИмэйджЛист кидаються и все :)
Просто возьми за основу "теорию", остальное напиши сам. Данные об иконках твоему приложению система передает, в чем проблема то?..
Что ли тоже заняться написанием своего shell"a? :)
← →
DVM © (2006-01-17 16:06) [28]
> Shell_NotifyIconW просто ищет окно с классом "Shell_TrayWnd"
> и посылает в него сообщение WM_COPYDATA. в качестве данных
> выступает простая структура TNIDMessage. возвращаясь к топику:
> если создать свое окно с классом "Shell_TrayWnd" и обрабатывать
> входящие сообщения WM_COPYDATA, то можно написать полный
> аналог system tray!
Далеко не простая структура, которая меняется от версии к версии виндов, многие поля которой недокументированы вообще и некоторые документированы неправильно, особенно в свете винхп
← →
DVM © (2006-01-17 16:08) [29]Также есть особый класс иконок, которые добавлены в область уведомлений Com-объектами ShellServiceObjects, которые грузит эксплорер (регулятор громкости напр) их надо тоже грузить самому из своей программы.
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2006.04.02;
Скачать: [xml.tar.bz2];
Память: 0.52 MB
Время: 0.046 c