2010-03-03 2 views
8

Я хочу настроить приложение на рабочий стол, например, Windows Gadgets. Можно ли это достичь?Напротив "always on top"

Вещь, у меня есть приложение без полей, которое я хочу запустить на рабочем столе.

Я попытался найти вариант, но я нашел только «всегда сверху», что противоположно тому, чего я хочу достичь.

+4

Есть ли причина, что вы не можете написать его в качестве окна гаджет – Richard

+2

Всегда НЕ сверху;) – Younes

+2

Когда вы изобрести новый шаблон UI для вашего приложения, вы» скорее всего, вас будут ненавидеть ваши пользователи. «Почему этот член сделал это приложение без полей? Я не могу его изменить, его так мало на экране монстра. Какой дебил!» Лучше всего найти общий шаблон пользовательского интерфейса (например, гаджет, приложение на основе значка на трее, услугу Windows, запланированную задачу, приложение, которое сворачивает в лоток и отображает всплывающие окна и т. Д. И т. Д.), Что люди, используй это. – Will

ответ

0

Я думаю, что нет способа сделать это так же, как всегда сверху. вы хотите запустить приложение под значками? единственный способ сделать действительно фоновое приложение - заменить explorer.exe, но тогда вы не увидите значков и панель задач.

+0

Да, гаджеты могут быть сверху, если вы так выбираете, как любое окно. –

+0

Я хочу, чтобы мое приложение находилось на том же уровне, что и значки на рабочем столе, а не под ними. – Danijel

3

Записать приложение так, чтобы оно выполнялось как служба в фоновом режиме, а затем реализовать фактический гаджет Windows в качестве интерфейсного?

6

Старый добрый SetWindowPos поддерживает HWND_BOTTOM, чтобы разместить ваше приложение в качестве последнего в заказе. Чтобы использовать его в C#, посмотрите на PInvoke.Net.

0

Вы можете реализовать фактический гаджет Windows, используя WPF, создав XBAP. Просто добавьте файл gadget.xml и .html-файл, содержащий только IFRAME, который загружает XBAP. Таким образом, ваше приложение WPF будет на самом деле гаджетом и будет автоматически следовать всем правилам.

Другой вариант - использовать Windows Sidebar Styler. Это требует дополнительного программного обеспечения для установки рядом с вашим, но также позволяет делать то, что вы не можете сделать в изолированной среде XBAP без сертификатов подписи кода, авторизации пользователя и т. Д.

Третьим вариантом является создание гаджета, который использует что-то распознаваемый в HTML (например, конкретный цвет фона), затем, когда ваш .exe запускается, отсканируйте hWnd в разделе «Проводник», у которого есть атрибуты, которые вы ищете, внедряйте себя в процесс Explorer.exe и задайте свое окно как ребенок этого.

Вариант третьего варианта заключается в том, чтобы не вводить в Explorer.exe, а поддерживать Z-индекс и местоположение (используя SetWindowPos) для отслеживания индекса Z и местоположения найденного вами hWnd.

Так много вариантов ...

Смежные вопросы