KeyRoutedEventArgs.DeviceId Properti
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mendapatkan ID unik untuk perangkat input yang menghasilkan peristiwa kunci ini.
Gunakan DeviceId untuk membedakan antara semua perangkat yang terhubung yang dapat menghasilkan peristiwa utama, seperti beberapa pengontrol game.
DeviceId tidak didukung untuk semua perangkat input.
public:
property Platform::String ^ DeviceId { Platform::String ^ get(); };
winrt::hstring DeviceId();
public string DeviceId { get; }
var string = keyRoutedEventArgs.deviceId;
Public ReadOnly Property DeviceId As String
Nilai Properti
Pengidentifikasi unik untuk perangkat input yang terkait dengan peristiwa kunci, atau string kosong untuk perangkat yang tidak didukung. Perangkat yang sama dapat diberi ID yang berbeda setiap kali tersambung.
Persyaratan Windows
Rangkaian perangkat |
Windows 10 Anniversary Edition (diperkenalkan dalam 10.0.14393.0)
|
API contract |
Windows.Foundation.UniversalApiContract (diperkenalkan dalam v3.0)
|
Keterangan
Beberapa perangkat, seperti Xbox, mengizinkan beberapa pengguna masuk untuk satu sesi interaktif. Properti DeviceId ini berguna untuk mengambil info untuk akun pengguna tertentu yang terkait dengan perangkat input.
Di Windows 10 dan yang lebih baru, aplikasi Platform Windows Universal (UWP) tidak memiliki akses ke informasi pengguna tanpa persetujuan pengguna eksplisit (tidak seperti Windows 8, di mana izin diberikan secara default).
aplikasi Platform Windows Universal (UWP) yang mengakses informasi pengguna harus menyatakan kemampuan userAccountInformation (Windows.System.UserDeviceAssociation.FindUserFromDeviceId, Windows.System.User.FindAllAsync dan User.GetPropertiesAsync dapat digunakan untuk mendapatkan data).
Ketika kemampuan ini dideklarasikan, pengguna yang menginstal aplikasi diminta untuk mengizinkan akses ke informasi mereka. Jika pengguna mengizinkan aplikasi untuk mengakses informasi, aplikasi akan muncul tercantum di halaman Privasi aplikasi Pengaturan Windows 10 (Info Akun Privasi > Pengaturan>).
private async void OnKeyDown(object sender, KeyRoutedEventArgs e)
{
User user =
Windows.System.UserDeviceAssociation.FindUserFromDeviceId(e.DeviceId);
string displayName =
(string)await user.GetPropertyAsync(KnownUserProperties.DisplayName);
System.Diagnostics.Debug.WriteLine(displayName);
}
Terkadang, peristiwa OnKeyDown mungkin tidak diaktifkan karena peristiwa sudah ditangani oleh kontrol. Dalam hal ini, panggil metode GetCurrentKeyEventDeviceId dari handler KeyDownCoreWindow, seperti yang ditunjukkan di sini.
public MainPage()
{
this.InitializeComponent();
Windows.UI.Core.CoreWindow.GetForCurrentThread().KeyDown += OnKeyDown;
}
private async void OnKeyDown(Windows.UI.Core.CoreWindow sender, Windows.UI.Core.KeyEventArgs args)
{
string device = Windows.UI.Core.CoreWindow.GetForCurrentThread().GetCurrentKeyEventDeviceId();
User user = Windows.System.UserDeviceAssociation.FindUserFromDeviceId(device);
string displayName = (string)await user.GetPropertyAsync(KnownUserProperties.DisplayName);
System.Diagnostics.Debug.WriteLine("OnKeydown:" + displayName);
}