2009-06-09 13 views
26

Nie chcę dostosowywać ikony wyświetlanej na pasku zadań Windows 7. Gdy moja aplikacja jest uruchomiona, mogę to zrobić, zmieniając ikonę głównego okna, ale po przypięciu aplikacji wyświetlana jest ikona exe.Zmiana przypiętej ikony na pasku zadań (Windows 7)

Jak ustawić ikonę paska zadań dla mojej aplikacji na ikonę inną niż osadzona w exe?

Nie testowany, ten solution może działać, ale wygląda na brudny.


Edit:

Nasza aplikacja jest kompilowany raz, ale w zależności od pliku config, funkcje są włączone, czy nie, więc jest to produkt lub innej. Nie chcemy kompilować jednego exe dla każdego produktu.

Powyższe rozwiązanie może nie działać, ponieważ wiele instancji mojej aplikacji może być zainstalowanych w różnych paskach (tak kończy się z tą samą nazwą pliku exe, ale innymi ikonami!), Czy ten klucz rejestru jest źle zaprojektowany lub czy brakuje mi czegoś ?

+0

Założę się, że nie byłoby na to poparcia, tylko dlatego, że jeśli przypięłam ikonę, założyłbym, że ikona nie zmieni się później w coś innego. Nakładki, które mogłem zrozumieć, ale nie ikona IE zmieniająca się w ikonę Firefoksa po kliknięciu. –

+0

zobacz: http://stackoverflow.com/questions/1285798/is-it-possible-to-change-a-console-windows-icon-from-net –

Odpowiedz

24

EDIT Poniższa informacja jest nieco przestarzały; wszystkie nowe bity Windows 7 są teraz dostępne jako zarządzane API, dostępne tutaj: http://code.msdn.microsoft.com/WindowsAPICodePack

Na interfejsie API paska zadań jest series of articles przez guru debugowania Sasha Goldshtein. Powinieneś rzucić okiem na Overlay Icons and Progress Bars API.

Możesz pobrać przykładowy kod z Windows 7 Taskbar Developer Resources na kodzie Microsoft. Co szukasz jest IMClient próbki:

Próbka IMClient demonstruje jak pasku zadań ikony nakładki i pasek zadań paski postępu może się zapalić przycisk paska zadań danej aplikacji zamiast polegać na dodatkowym oknie lub na ikona w powiadomieniu systemowym obszar (podajnik).

alt text alt text alt text

Wierzę, że to powinno pomóc w osiągnięciu tego, co chcesz.

+0

Wiem o tym, już używam nakładek ikon/pgbar w mojej aplikacji, ale nakładka to nie to samo, co ikona aplikacji. Nakładka nie jest wyświetlana, gdy aplikacja jest przypięta i zamknięta ... –

0

Spójrz na this blog. Robi serię blogów na temat programowania paska zadań Windows 7, więc może to wskaże ci właściwy kierunek.

1

Można to zrobić za pomocą biblioteki o nazwie "Windows 7 Bridge", która jest oparta na "Windows Vista Bridge".

Są to zarządzane opakowania po wszystkich rodzimych funkcjach systemu Vista i Windows 7.

Więcej informacji można znaleźć here

+0

Znam tę bibliotekę, czy możesz podać więcej informacji (przykład ...) o tym, jak to osiągnąć? –

1

ja nie wiem, czy mam zrozumienia problemu, ale ..

Jeśli utworzyć aplikację i umieścić właściwość ikonę głównego okna, które pojawi się ikona na pasku zadań również. Ale jeśli przypniesz go do paska zadań, ikona zniknie. Czy mam rację?Jeśli tak, przejdź do właściwości projektu i na karcie aplikacji, umieść ikonę, która ma być dla exe. Teraz zobaczysz tę ikonę na pasku zadań po przypięciu.

używam tej samej ikony dla obu rzeczy: P

+0

Masz rację dla pierwszej części. Ale ikona mojego głównego okna nie jest taka sama, niezależnie od tego, czy plik konfiguracyjny jest obecny, czy nie. Chcę, aby ta ikona pozostała, nawet gdy aplikacja jest przypięta, bez kompilowania jednego pliku exe dla każdej konfiguracji. –

+0

Co masz na myśli mówiąc "kompilując jeden exe dla każdej konfiguracji"? W systemie Windows 7 ikona paska zadań i ikona tytułu systemu Windows są takie same (za pomocą właściwości Ikona w oknie głównym). Ale przypiętą ikoną jest ikona .exe. Jeśli masz tylko jeden .exe i chcesz go przypiąć, umieść ikonę tego pliku .exe, a gdy aplikacja zostanie przypięta, zobaczysz tę ikonę. W skrócie, użyj tej samej ikony dla obu rzeczy. –

+0

Pracuję nad 3 wersją aplikacji (lite, normal, pro). Marketing prosi nas o ustawienie różnych ikon dla każdej wersji. Wersja jest określana na podstawie config + klucz seryjny i nie chcemy tworzyć jednego exe dla każdej wersji tylko w celu zmiany ikony. Wiem, że można zmienić ikonę (zobacz link w moim pytaniu), ale ponieważ jest to oparte na nazwie exe, nie powiedzie się, jeśli użytkownik ma zainstalowane dwie lub więcej wersji. Myślę, że nie jest to możliwe i musimy pozostać przy jednej ikonie lub skompilować wiele plików EXE. –

0

nie mogę przetestować to teraz niestety, ale może po prostu tworząc regularny, stary dobry skrót może rozwiązać ten problem? Utwórz skrót do aplikacji, zmień ikonę, a następnie przypnij skrót zamiast samej aplikacji?

Czy mogę sprawdzić kiedy następny uzyskać dostęp do mojego Windows 7 maszynie ...

16

Kiedy przypiąć aplikację do paska zadań, po prostu tworzy skrót w następującym katalogu:

C:\Users\<User Name>\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar 

Powinieneś być w stanie rozpoznać, gdzie znajduje się skrót (np. Dostać KnownFolders i pracować z. UserAppData powinien być tym), a następnie za pomocą P/Invoke (IShellLink), możesz zmienić ikonę, której skrót jest skonfigurowany do użycia. Aby to zadziałało, urządzenie może wymagać ponownego uruchomienia, ale powinno działać.

Przytrzymując Shift podczas klikania prawym przyciskiem myszy na przypiętej aplikacji i wybierz Właściwości, możesz zobaczyć przycisk Zmień ikonę dla skrótu. Jest to w zasadzie to, co musisz emulować za pomocą kodu.

Wszystkie te rzeczy można z pewnością zrobić za pomocą kodu, ale to, czy uważasz, że są lepsze od ustawień rejestru, zależy od Ciebie.

+0

Niestety nie mogę sobie z tym poradzić, gdy sam użytkownik próbuje przypiąć aplikację. Może z zegarkiem w katalogu ... naprawdę brudny! –

+4

Pasek szybkiego uruchamiania powinien zwykle być uważany za ograniczony do aplikacji jako część preferencji użytkownika, dlatego należy pozostawić użytkownika do zarządzania tym obszarem. –

+0

Doskonała informacja, nawet jeśli ktoś nie próbuje tego zrobić w kodzie. Dzięki. – mlibby

1

O ile wiem, z jakiegoś powodu nie można zmienić ikony programu, który jest już przypięty do paska zadań. Aby to zrobić, wystarczy odpiąć program, zlokalizować go w menu startowym, kliknąć prawym przyciskiem myszy - właściwości - zmienić ikonę. następnie ponownie przypnij go do paska zadań i będzie miał nową ikonę!

0

Kliknij prawym przyciskiem myszy przypiętą ikonę, w wyskakującym okienku pojawi się tytuł programów, kliknij prawym przyciskiem myszy i przejdź do właściwości. Tam możesz zmienić ikonę, klikając przycisk "Zmień ikonę". Dla mnie to wymagało ponownego uruchomienia, aby zakończyć zmiany.

-1

Jeśli chcesz mieć skrót na pasku zadań, który trafia bezpośrednio do czegoś użytecznego, takiego jak katalog "Moje dokumenty". Łatwa naprawa. . .

Upuść folder na pasku zadań (który tworzy skrót do obrazów). Przejdź do katalogu, w którym znajduje się ten skrót, kliknij prawym przyciskiem myszy skrót i wybierz "Właściwości", aby zmienić cel. Wybierz kartę "Ogólne", aby zmienić nazwę skrótu. Skrót został umieszczony tutaj:

C: \ Users [user] \ AppData \ Roaming \ Microsoft \ Internet Explorer \ Quick Launch \ User podpięty \ Pasek zadań

Można przejść do tego katalogu i edytować właściwości skrót "images".

Powiązane problemy