Masaüstü uygulamalarında modern Windows özelliklerini kullanma

Modern Windows özelliklerinden yararlanmak için WPF, Windows Forms veya Win32 uygulamanızı yeniden yazmanız gerekmez. Windows Uygulama SDK'sı ve daha geniş Windows platformu, kendi hızınızda artımlı olarak benimseyebileceğiniz modüler özellikler sunar.

Note

Bu makale, mevcut masaüstü uygulamanıza modern Windows özellikleri eklemeyi kapsar. .NET araç zincirinizi veya C++ derleyicinizi modernleştirmek istiyorsanız bkz. .NET için GitHub Copilot modernleştirme veya C++ taşıma ve yükseltme kılavuzu Microsoft.

Arayüz çerçevenizi taşımak mı istiyorsunuz?

Amacınız uygulamanızın kullanıcı arabirimi katmanını tamamen modernleştirmekse, önerilen yol Windows masaüstü uygulamaları için yerel kullanıcı arabirimi çerçevesi olan WinUI 3'e geçiş yapmaktır. Başlamak için bkz. İlk WinUI 3 uygulamanızı oluşturma .

Kullanıcı arabirimi katmanınızı değiştirmeden mevcut uygulama çerçevenize (WPF, WinForms veya C++ Win32) Windows özellikleri eklemek istiyorsanız okumaya devam edin.

Yaklaşımınızı seçin

Üç modernleştirme yaklaşımı birbirinden bağımsızdır. Aynı uygulamada bir, iki veya üçünü de kullanabilirsiniz.

Approach Size ne verir? Paketleme gerekiyor mu?
WinRT API'leri Herhangi bir .NET veya C++ masaüstü uygulamasından Windows platform API'lerine (bildirimler, Bluetooth, sözleşmeyi paylaşma, algılayıcılar ve daha fazlası) doğrudan erişim Hayır, çoğu API için
Windows Uygulama SDK'sı Modern Windows geliştirme özelliklerini (pencereleme, metin işleme, kaynaklar ve daha fazlası) mevcut uygulamalara getiren bir NuGet paketi Hayır, çoğu özellik için
MSIX paketleme Temiz kaldırma, otomatik güncelleştirmeler ve paket kimliğine sahip modern bir yükleyici; uygulama kaynak kodu değiştirilmeden eklenebilir Yok — paketleme yaklaşımıdır

Tavsiye

Belirli bir Windows platformu API'sini çağırmak istiyorsanız WinRT API'leri ile başlayın. Özelliklerine ihtiyacınız olduğunda Windows Uygulama SDK'sı ekleyin (DWriteCore, MRT Core, pencereleme). Paket kimliğine ihtiyacınız olduğunda veya yükleyicinizi modernleştirmek istediğinizde MSIX paketlemesi ekleyin.

WinRT API'leri

Windows Çalışma Zamanı (WinRT) API'leri uygulama bildirimleri, paylaşım sözleşmesi, Bluetooth ve daha fazlası gibi Windows platform özelliklerini kullanıma sunar. Bu API'leri doğrudan WPF, Windows Forms ve C++ Win32 uygulamalarından çağırabilirsiniz.

Masaüstü uygulamalarında Windows Çalışma Zamanı API'lerini çağırma

Windows Uygulama SDK'sı

Windows Uygulama SDK'sı, mevcut projenize eklediğiniz bir NuGet paketi olarak modern Windows geliştirme özellikleri sunar. UI çerçevenizi değiştirmeniz gerekmez.

MSIX paketleme ve paket kimliği

MSIX paketleme, mevcut yükleyicinizin yerini alır ve uygulama paketi kimliğinizi verir. Arka plan görevleri, başlangıç görevleri, dosya ilişkilendirmeleri ve Windows AI Foundry gibi bazı Windows özellikleri, çalışma zamanında paket kimliği gerektirir. Mevcut yükleyicinizi kullanmaya devam etmek istiyorsanız, tam MSIX paketlemesi olmadan da paket kimliği verebilirsiniz — bu yaklaşım bazen dış konumla paketleme veya seyrek paket olarak adlandırılır.

Çerçeveye özgü başlangıç noktaları

Çerçeveniz Önerilen başlangıç noktası
WPF Mevcut bir projede Windows Uygulama SDK'sını kullanma
WinForms Mevcut bir projede Windows Uygulama SDK'sını kullanma
C++ Win32 Mevcut bir projede Windows Uygulama SDK'sını kullanma
C++/WinRT Masaüstü uygulamaları için WinRT API'leri

Özellik kataloğu

Aşağıdaki tabloda yaygın modernleştirme özellikleri ve bunların Windows Uygulama SDK'sı veya paket kimliği gerekip gerekmediği listelenmiştir.

AI

Özelliği Windows Uygulama SDK'sı gerekli? Paket kimliği gerekli mi?
Windows AI Foundry No Yes

Kullanıcı arabirimi ve metin

Özelliği Windows Uygulama SDK'sı gerekli? Paket kimliği gerekli mi?
Bir masaüstü uygulamasında WinUI 3 bileşenleri Yes No
DWriteCore ile metin işleme Yes No
Win32 uygulamalarına Mica veya Akrilik uygulama No No
Yuvarlatılmış köşeleri uygula No No
Windows temaları uygulama No No

Uygulama yaşam döngüsü

Özelliği Windows Uygulama SDK'sı gerekli? Paket kimliği gerekli mi?
Arka plan görevleri (Windows Uygulama SDK'sı) Yes Yes
Başlangıç görevleri No Yes

Windows ile tümleştirme

Özelliği Windows Uygulama SDK'sı gerekli? Paket kimliği gerekli mi?
Paylaşım sayfası entegrasyonu No No
Cihazlar Arası Kişiler API'si No No
Dosya ilişkilendirmeleri No Yes
Windows Pencere Öğeleri No Yes

Security

Özelliği Windows Uygulama SDK'sı gerekli? Paket kimliği gerekli mi?
Kimlik Doğrulama Kasası No No
OAuth 2.0 No No
parmak izi biyometri No No
akıllı kartlar No No
Şifreleme No No

Resources

Özelliği Windows Uygulama SDK'sı gerekli? Paket kimliği gerekli mi?
MRT Core kaynak yönetimi Yes No

Masaüstü uygulamalarında kullanılabilen özelliklerin tam listesi için bkz. Windows uygulama geliştirme özellikleri.

Yapay zeka destekli modernleştirme

GitHub Copilot modernleştirme aracısı masaüstü çözümünüzü analiz edebilir ve modern Windows özellikleri ekleyen veya uygulamanızı daha yeni bir .NET sürümüne yükselten çekme istekleri oluşturabilir. Ayrıntılar için bkz. Yapay zeka destekli modernleştirme.

Ayrıca bakınız

Sonraki Adımlar

Masaüstü uygulamalarında Windows Çalışma Zamanı API'lerini çağırma