कोई ऐसा फ़ंक्शन नहीं है जिसे मैं जानता हूं कि एक वर्ण को वर्चुअल कुंजी कोड में मैप करेगा। हालांकि, आप इस तरह के मैपिंग के निर्माण के लिए निम्न तालिका का उपयोग कर सकते हैं।
http://msdn.microsoft.com/en-us/library/dd375731(v=VS.85).aspx।
ध्यान दें कि आपको कुंजीपटल जानने की आवश्यकता होगी, जो आप उल्लेख करते हैं '\' यह VK_OEM_5 वर्चुअल कुंजी है जो यूएस कीबोर्ड के लिए '\' स्थानांतरित नहीं होता है और '|' यदि स्थानांतरित हो जाता है, तो आपके फ़ंक्शन को कीबोर्ड का उपयोग करने की आवश्यकता होगी।
बेशक यदि आप एक वर्चुअल कुंजी कोड से किसी चरित्र में मैप करना चाहते हैं तो आप MapVirtualKeyEx फ़ंक्शन को कॉल करने के लिए interop का उपयोग कर सकते हैं।
अद्यतन आपकी टिप्पणी के आधार पर यह आपको वह चाहिए जो आपको चाहिए।
[DllImport("user32.dll")]
static extern int MapVirtualKey(int uCode, uint uMapType);
const uint MAPVK_VK_TO_CHAR = 0x02;
private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
int key = MapVirtualKey((int)e.KeyCode, MAPVK_VK_TO_CHAR);
if (key == (int)'\\')
{
}
}
स्रोत
2010-05-24 17:24:59
क्या आपने कभी इसे सफलतापूर्वक हल किया है? क्या आपको अभी भी इसके साथ मदद चाहिए? – jcolebrand
क्या आपने यह जवाब देखा है? http://stackoverflow.com/questions/318777/c-how-to-translate-virtual-keycode-to-char – jcolebrand
हां। मुझे चार से int में परिवर्तित करने की आवश्यकता है। और मुझे एक मंच-अपरिपक्व समाधान की आवश्यकता है। WM_Messages के बिना ... –