Dodanie zmieniającej się pozycji w menu kontekstowym


(kamil_w) #1

Chciałbym dodać w menu kontekstowym pulpitu pozycję, która będzie odpowiadać za włączanie i wyłączanie usługi.

  • wiem jak dodać nową pozycję w menu kontekstowym

  • wiem jakie polecenia są do wykonania

Problem w tym, że nie wiem jak (i czy w ogóle tak się da) zrobić, żeby pozycja menu zmieniała się w zależności od stanu usługi. Ma to wyglądać tak:

  • gdy usługa jest wyłączona w menu kontekstowym pulpitu ma być pozycja włącz usługę

  • gdy usługa jest włączona ma tam być pozycja wyłącz usługę.

Ma ktoś pomysł jak to zrobić?


(Drobok) #2

Można by się odwoływać do bat / exe. W nim uruchomić usługę i podmienić pozycję w menu kontekstowym.


(kamil_w) #3

Albo inaczej. Zrobić dwa wpisy:

  • Włącz usługę (odnośnik do pliku *.bat z poleceniem: net start "nazwa usługi")

  • Wyłącz usługę (odnośnik do pliku *.bat z poleceniem: net stop "nazwa usługi")

Tylko jak zrobić, by pierwszy odnośnik był widoczny tylko wtedy gdy usługa jest wyłączona, a drugi - gdy jest ona włączona? Jakiś pomysł?


(Drobok) #4

Ja raczej myślałem nad uruchamianiem usługi z poziomu programu:

Dodałbym wpis w rejestrze http://www.howtogeek.com/howto/windows- ... -in-vista/

a potem tym http://msdn.microsoft.com/en-us/magazine/cc164252.aspx (pkt 4), uruchamiał usługę (program ma autostart, usługa nie) oraz podmieniał samą nazwę w wpisie z poprzedniego linku po zmianie stanu. Zawsze można by się też pokusić o http://msdn.microsoft.com/en-us/library ... 43(v=vs.85.aspx (zamiast zmian w rejestrze, bo mogą być problemy z odświeżaniem po zmianie wpisu)

Niestety nie mam windows'a, by to sprawdzić ;/ Ale jak uda mi się zdać semestr to z pewnością do tego wrócę :slight_smile:


(kamil_w) #5

Póki co okazało się, że takie rozwiązanie nie jest mi na razie potrzebne, ale wydaje mi się, że warto nad tym się zastanowić, bo prędzej czy później może się to przydać.