One minute
Klavye veya mouse takılı mı değil mi?
Yazgeliştir forumlarında bir soruya rastladım. Programatik olarak klavye ve mouse un takılı olup olmadığını anlayabilir miyiz diyordu özetle. Kafama takıldı, biraz araştırdım. En sağlam yol WMI ile sorgulamak diyorum. Ama hala kafamda P/Invoke ile bir API’den öğrenebilir miyiz sorusu var. Kod örneği aşağıda.
using System;
using System.Collections.Generic;
using System.Text;
using System.Management;
namespace ListHardwareWMI
{
class Program
{
static void Main(string\[\] args)
{
System.Management.ManagementScope mScope = new ManagementScope("\\\\\\\\BURSARMOBILE\\\\root\\\\cimv2");
ObjectQuery query = new ObjectQuery("SELECT DeviceID,Status FROM Win32\_Keyboard");
ManagementObjectSearcher mSearcher = new ManagementObjectSearcher(mScope,query);
ManagementObjectCollection Devices = mSearcher.Get();
Console.WriteLine("Klavyeler----\\n");
foreach (ManagementObject Device in Devices)
{
Console.WriteLine(Device.GetPropertyValue("DeviceID") + "\\t" + Device.GetPropertyValue("Status"));
}
query.QueryString = "Select DeviceID,Status from Win32\_PointingDevice";
mSearcher.Query = query;
Devices = mSearcher.Get();
Console.WriteLine("\\nFareler----\\n");
foreach (ManagementObject Device in Devices)
{
Console.WriteLine(Device.GetPropertyValue("DeviceID") + "\\t" + Device.GetPropertyValue("Status"));
}
Console.ReadLine();
}
}
}
Laptopuma fare takmadan zor kullanıyorum. Yazdığım uygulamayı, usb fareyi çıkararak test ettim. Çalışıyor. Aslında birileri PS/2 cihazlarında test edip sonucu paylaşırsa sevinirim.
Read other posts