PDA

Показать полную графическую версию : dll для Управления WindowsBlinds 6 через свойства


.:[invisible]:.
25-11-2009, 21:43
Здравствуйте все кто читает эту тему!

У меня появилась идея, но воплотить в реальность не умею .
Нужно сделать дополнительное меню в свойствах экрана ,для управления WindowBlind (выбор тем, прозрачность, включить - отключить и тд.)

вот нарисованые скрины: http://i069.radikal.ru/0911/50/1e87c4f7e6f9t.jpg (http://radikal.ru/F/i069.radikal.ru/0911/50/1e87c4f7e6f9.jpg.html)http://s48.radikal.ru/i121/0911/ab/abf34f8e80fdt.jpg (http://radikal.ru/F/s48.radikal.ru/i121/0911/ab/abf34f8e80fd.png.html)


P.S. забыл дорисовать кнопки добавить и удалить тему.

Сам WindowsBlinds должен находится: %Windir%\WB


:spy:

Admiral
26-11-2009, 00:45
Spe, приветствую.
Действительно нужно писать DLL, для проведения процесса инъекции функций в приведённое на первом скрине окно. Достаточно не тривиальная задача.
По этому, порекомендую искать материал на тему DLL injection
Например DLL Injection and function interception tutorial (http://www.codeproject.com/KB/DLL/DLL_Injection_tutorial.aspx) (англ.)

Насколько часто планируется регулирование через вкладку в меню свойств экран?
Быть может есть смысл ограничится отдельным окном приложением (с функционалом со второго скрина).

ganselo
26-11-2009, 12:53
Видел как с помощью длл инъекций изменялся интерфейс таск манагера (диспетчер задач). Если найду эту статью, то скину. Если не изменяет склероз, то кажись там были и исходники на C.

.:[invisible]:.
26-11-2009, 16:08
Admiral, вы имеете ввиду сделать вот так : http://i038.radikal.ru/0911/7e/51fb78dfa0b3t.jpg (http://radikal.ru/F/i038.radikal.ru/0911/7e/51fb78dfa0b3.jpg.html) ???

Admiral
27-11-2009, 15:34
Spe имею ввиду пока не связываться с окнами чужых приложений (не со свойством экрана, не с расширенным управлением драйвера видеокарт AMD/ATI Radeon), а построить отдельное приложение для управление процессами со второго скрина первого поста.
http://s60.radikal.ru/i169/0911/7e/e98394e75b5c.png
По идеи сначала так и надо делать - отлаживать в своём, а уже потом его внедрять дополнительной вкладкой в Свойства экрана.

.:[invisible]:.
27-11-2009, 16:10
Admiral, С кнопкой в свойства экрана, но отдельное окно ?

Admiral
27-11-2009, 16:19
Spe, без кнопочки в (окне чужой программе) Свойствах экрана, а просто отдельное приложение. Понимаю, это не то, что хотелось получить в теме с таким названием, вот потому и в оффтопе и по тому сказал что пока, на данном этапе.
Добавить кнопочку, хоть и ценной повисшего своего приложение, не сложно.
А вот что б это сделать корректно, нужно его внедрить, а это несколько сложнее технологически.

.:[invisible]:.
27-11-2009, 16:58
нужно его внедрить, а это несколько сложнее технологически. »
Мне это и нужно :wizard:

Virtyaluk
24-01-2010, 21:08
.:[invisible]:., ну и всем кому интересно
чтобы осуществить ваше предложение программно можно идти по одному из 2 путей:
-(1) написать отдельное приложение(exe, com);
-(2) написать Компонент Панели Управления(CPL) т.е. то что вы хотите сделать;
-*---*-

Для написания сценария Компонента Панели Управления используется Delphi (но не C#/C++).В самой среде даже есть опция создания такого приложения,
во вкладке File --> New File --> Other --> Control Panel Application.

Хотя, начиная c CodeGear RAD Studio 2007,в C++ Builder есть такая же опция, но наличие ее на работоспособность еще не проверял
т.к. все cpl для Windows написаны именно на Делфи.

Сам хочу написать Панель Управления для своего проекта, но познания в программированию, пока что, этого не позволяют.
Если че можем помочь один-одному умными мыслями и не только.В принципе найдешь, у меня в профайле, аську.

Admiral
24-01-2010, 22:12
qE+, сторонние cpl может и написанные на Делфи, но собственные точно не на нём, так как в МС не используют сторонних средств (а собственного современного компилятора Делфи в МС нет).
При написании ОС Виндовс используют Ассемблер, С, С++, а начиная с последних версий ещё и С#.
Иван Рузанов: Windows – как создается операционная система (http://video.google.com/googleplayer.swf?docid=-4597734813052467672)




© OSzone.net 2001-2012