PDA

View Full Version : بدست آوردن اطلاعات Keyboard



tthenry14plus
دوشنبه 14 مرداد 1387, 01:55 صبح
توی MSDN دنبال روش بدست آوردن اطلاعات کیبورد گشتم
به این صفحه از MSDN برخوردم :
ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.KB.v10.en/enu_kbwinmil/winmil/304614.htm

اونجا یه key از رجیستری رو معرفی کرده (HKEY_LOCAL_MACHINE\System\CurrentControlSet\Contr ol\Nls\Codepage ) و گفته اطلاعات کیبورد رو میشه از اونجا استخراج کرد اما خیلی پراکندس و نمیشه تمامی اطلاعات رو ازش گرفت

آیا روش دیگری هم شما سراغ دارید که بشه از اون طریق به اطلاعاتی از کیبورد از قبیل Keyboard Layout,Country Code,SN,Keyboard Type و غیره دسترسی داشت ؟؟؟؟

H2K
دوشنبه 14 مرداد 1387, 04:14 صبح
سلام اين فكر كنم كمى كمك كُنه


http://www.codeproject.com/KB/system/rawinput.aspx

tthenry14plus
سه شنبه 15 مرداد 1387, 02:18 صبح
ممنون از توجه و راهنماییتون ولی اون بیشتر ورودی های کیبورد رو کنترل میکنه تا اون خواسته هایی رو که من دارم ...
در هر صورت ممنونم

Zaparo
سه شنبه 15 مرداد 1387, 08:13 صبح
چه اطلاعاتی مثلا"؟ از WMI استفاده کن

tthenry14plus
چهارشنبه 16 مرداد 1387, 00:42 صبح
گفتم که: اطلاعاتی از کیبورد از قبیل Keyboard Layout,Country Code,SN,Keyboard Type و غیره
می تونید یه مثال از کاربرد همین WMI بزنید؟

tthenry14plus
چهارشنبه 16 مرداد 1387, 17:55 عصر
با تشکر از راهنماییتون
من تونستم یه چیزایی از WMI بدست بیارم ولی هنوز کامل نیست ...
برای مثال نمیتونه بگه دقیقا کیبورد چند کلید داره ، میگه 102 یا 101 یا 103 ..!!!


string query = "SELECT * FROM Win32_Keyboard";
ManagementObjectSearcher searcher = newManagementObjectSearcher(query);
foreach (ManagementObject wmi_HD in searcher.Get())
if (wmi_HD["Layout"] != null)
MessageBox.Show(wmi_HD["Layout"].ToString());


سایر اطلاعاتی هم که میشه بدست آورد اینهاست :


classWin32_Keyboard : CIM_Keyboard
{
uint16 Availability;
string Caption;
uint32 ConfigManagerErrorCode;
boolean ConfigManagerUserConfig;
string CreationClassName;
string Description;
string DeviceID;
boolean ErrorCleared;
string ErrorDescription;
datetime InstallDate;
boolean IsLocked;
uint32 LastErrorCode;
string Layout;
string Name;
uint16 NumberOfFunctionKeys;
uint16 Password;
string PNPDeviceID;
uint16 PowerManagementCapabilities[];
boolean PowerManagementSupported;
string Status;
uint16 StatusInfo;
string SystemCreationClassName;
string SystemName;
};

ولی هنوز جوابگویی خواسته هام نیست...