Korzystanie z nowoczesnych funkcji Windows w aplikacjach na komputerach stacjonarnych

Nie musisz ponownie pisać WPF, Windows Forms ani aplikacji Win32, aby korzystać z nowoczesnych funkcji Windows. Platforma Zestaw SDK do aplikacji systemu Windows i szersza platforma Windows oferują możliwości modułowe, które można wdrażać przyrostowo we własnym tempie.

Note

W tym artykule opisano dodawanie nowoczesnych funkcji Windows do istniejącej aplikacji klasycznej. Jeśli chcesz zmodernizować swój zestaw narzędzi .NET lub kompilator C++, zobacz modernizację platformy .NET z GitHub Copilot lub przewodnik firmy Microsoft dotyczący przenoszenia i uaktualniania w języku C++.

Migrowanie struktury interfejsu użytkownika?

Jeśli twoim celem jest w pełni zmodernizowanie warstwy interfejsu użytkownika aplikacji, zalecaną ścieżką jest migracja do interfejsu WinUI 3 — natywnej platformy interfejsu użytkownika dla aplikacji klasycznych Windows. Zobacz Tworzenie pierwszej aplikacji WinUI 3 , aby rozpocząć pracę.

Jeśli chcesz dodać funkcje Windows do istniejącej struktury aplikacji (WPF, WinForms lub C++ Win32) bez zmiany warstwy interfejsu użytkownika, kontynuuj czytanie.

Wybierz swoje podejście

Trzy podejścia do modernizacji są niezależne. Możesz użyć jednej, dwóch lub wszystkich trzech w tej samej aplikacji.

Approach Co to daje Wymaga pakowania?
interfejsy API WinRT Bezpośredni dostęp do interfejsów API platformy Windows, takich jak powiadomienia, Bluetooth, funkcja udostępniania, czujniki i inne, z poziomu dowolnej aplikacji klasycznej .NET lub C++ Nie, dla większości interfejsów API
Zestaw SDK aplikacji systemu Windows Pakiet NuGet, który udostępnia nowoczesne funkcje programowania Windows (okna, renderowanie tekstu, zasoby i inne) do istniejących aplikacji Nie, w przypadku większości funkcji
Pakowanie MSIX Nowoczesny instalator z możliwością czystego odinstalowania, automatycznymi aktualizacjami i identyfikatorem pakietu; można dodać bez zmiany kodu źródłowego aplikacji Nie dotyczy — pakietowanie to podejście

Wskazówka

Zacznij od interfejsów API WinRT, jeśli chcesz wywołać określony interfejs API platformy Windows. Dodaj Zestaw SDK do aplikacji systemu Windows, gdy potrzebujesz jej funkcji (DWriteCore, MRT Core, okno). Dodaj pakiet MSIX , gdy potrzebujesz tożsamości pakietu lub chcesz zmodernizować instalatora.

WinRT API

interfejsy API środowisko wykonawcze systemu Windows (WinRT) udostępniają Windows funkcje platformy, takie jak powiadomienia aplikacji, kontrakt udostępniania, Bluetooth i inne. Te interfejsy API można wywoływać bezpośrednio z aplikacji WPF, Windows Forms i C++ Win32.

Zestaw SDK do aplikacji systemu Windows

Zestaw SDK do aplikacji systemu Windows zapewnia nowoczesne funkcje programowania Windows jako pakiet NuGet dodany do istniejącego projektu. Nie musisz zmieniać struktury interfejsu użytkownika.

Pakowanie MSIX i tożsamość pakietu

Pakowanie MSIX zastępuje istniejącego instalatora i zapewnia tożsamość pakietu aplikacji. Niektóre funkcje Windows — w tym zadania w tle, zadania uruchamiania, skojarzenia plików i Windows AI Foundry — wymagają tożsamości pakietu w czasie wykonywania. Jeśli chcesz zachować istniejący instalator, nadal możesz nadać pakietowi tożsamość bez pełnego spakowania w formacie MSIX — podejście to jest czasami nazywane pakowaniem z lokalizacją zewnętrzną lub pakietem rzadkim.

Punkty początkowe specyficzne dla platformy

Twoja struktura Zalecany punkt początkowy
WPF Użyj Zestaw SDK do aplikacji systemu Windows w istniejącym projekcie
Windows Forms Użyj Zestaw SDK do aplikacji systemu Windows w istniejącym projekcie
C++ Win32 Użyj Zestaw SDK do aplikacji systemu Windows w istniejącym projekcie
C++/WinRT Interfejsy API WinRT dla aplikacji klasycznych

Katalog funkcji

W poniższej tabeli wymieniono typowe funkcje modernizacji oraz to, czy wymagają one tożsamości Zestaw SDK do aplikacji systemu Windows czy pakietu.

AI

Funkcja Zestaw SDK do aplikacji systemu Windows wymagane? Czy identyfikator pakietu jest wymagany?
Odlewnia AI systemu Windows No Yes

Interfejs użytkownika i tekst

Funkcja Zestaw SDK do aplikacji systemu Windows wymagane? Czy identyfikator pakietu jest wymagany?
Składniki winUI 3 w aplikacji klasycznej Yes No
Renderowanie tekstu za pomocą funkcji DWriteCore Yes No
Stosowanie micy lub akrylu do aplikacji Win32 No No
Stosowanie zaokrąglonych narożników No No
Stosowanie motywów Windows No No

Cykl życia aplikacji

Funkcja Zestaw SDK do aplikacji systemu Windows wymagane? Czy identyfikator pakietu jest wymagany?
Zadania w tle (Zestaw SDK do aplikacji systemu Windows) Yes Yes
Zadania uruchamiania No Yes

integracja Windows

Funkcja Zestaw SDK do aplikacji systemu Windows wymagane? Czy identyfikator pakietu jest wymagany?
Integracja arkusza udostępniania No No
Interfejs API użytkowników między urządzeniami No No
Skojarzenia plików No Yes
widżety Windows No Yes

Zabezpieczenia

Funkcja Zestaw SDK do aplikacji systemu Windows wymagane? Czy identyfikator pakietu jest wymagany?
Schowek poświadczeń No No
OAuth 2.0 No No
biometryczne odciski palców No No
Karty inteligentne No No
#kryptografia No No

Resources

Funkcja Zestaw SDK do aplikacji systemu Windows wymagane? Czy identyfikator pakietu jest wymagany?
Zarządzanie zasobami platformy MRT Core Yes No

Aby uzyskać pełną listę funkcji dostępnych w aplikacjach klasycznych, zobacz Funkcje tworzenia aplikacji Windows.

Modernizacja wspomagana przez sztuczną inteligencję

Agent modernizacji GitHub Copilot może analizować rozwiązanie desktopowe i generować pull requesty, które dodają nowoczesne funkcje systemu Windows lub aktualizują aplikację do nowszej wersji platformy .NET. Aby uzyskać szczegółowe informacje, zobacz Modernizacja wspomagana przez sztuczną inteligencję.

Zobacz także

Następne kroki