Mam kod, który jest używany w WinFormpodanie. Ten sam kod jest również używany w usłudze systemu Windows (exe działa jako usługa systemu Windows). Kod chwyta uchwyty do ICON. Ale znalazłem to, że w Task Mangaer (i GDI View), kiedy uruchomiłem aplikację WinForm, aplikacja pokazuje liczbę GDI. Ale kiedy uruchomiłem kod za pośrednictwem usługi systemu Windows, wystąpienie usługi w Menedżerze zadań nie pokazuje żadnego licznika dla GDI. Czy oznacza to, że usługa systemu Windows nigdy nie może obsługiwać uchwytów GDI? Jeśli tak, w jaki sposób działa kod, to jest w jaki sposób kod działa na klamce faktycznie działającej w usłudze systemu Windows.
Odpowiedzi:
1 dla odpowiedzi № 1Usługi są bowiem w stanie tworzyć i używać uchwytów GDI w dokładnie taki sam sposób, jak zwykła aplikacja, z tym wyjątkiem, że powierzchnie wyświetlacza nie są widoczne dla użytkownika.
Menedżer zadań może jednak wysyłać zapytania tylko do tych procesów są w tej samej sesji że jest uruchomiony, i usługi zawsze działają w oddzielnej sesji.
Więc, w zasadzie, tylko fałszywy alarm. :-)