मैं GetKeyboardLayoutName() और GetKeyboardLayout() वर्तमान कुंजीपटल लेआउट प्राप्त करने के लिए की कोशिश की है नहीं मिल सकता है, लेकिन वे दोनों मेरे डिफ़ॉल्ट लेआउट और लेआउट बदलने उत्पादन को प्रभावित नहीं करता दे!वर्तमान कुंजीपटल लेआउट
while(1)
{
Sleep(5);
for(int i = 8; i < 191; i++)
{
if(GetAsyncKeyState(i)&1 ==1)
{
TCHAR szKeyboard[KL_NAMELENGTH];
GetKeyboardLayoutName(szKeyboard);
if(GetAsyncKeyState(i)&1 ==1)
{
TCHAR szKeyboard[KL_NAMELENGTH];
GetKeyboardLayoutName(szKeyboard);
cout << szKeyboard << endl ;
}
}
}
}
यह हमेशा मुझे "00,000,409" जब डिफ़ॉल्ट लेआउट अंग्रेजी के लिए सेट है देता है, जबकि मैं इसे जब मैं फारसी के लेआउट बदलने "00,000,429" होने की उम्मीद।
मेरा पहला सवाल, मैं सिर्फ खोज करके अपने सभी उत्तरों को ढूंढता था। लेकिन अभी मैं चारों ओर खोज करने और कुछ भी प्राप्त करने के घंटों के बाद पागल गाड़ी चला रहा हूं ...
सुनिश्चित नहीं हैं कि इस में मदद मिलेगी .. यदि लेआउट आप चाहते हैं कम से कम लोड हो जाने को देखने के लिए GetKeyboardLayoutList प्रयास करें .. http://msdn.microsoft.com/en-us/library /windows/desktop/ms646297(v=vs.85).aspx –
@ मोहम्मदनूर: पहले से ही कोशिश की गई है और यह लोड हो गया है। – EmJiHash
मुझे वह कोड नहीं दिख रहा है जो कीबोर्ड लेआउट बदलता है। मैं केवल अनुमान लगा सकता हूं कि यह विफल हो गया है और आपने इसका त्रुटि कोड नहीं देखा है। – Jay