का उपयोग करके मैं एक कुंजी दबाए जाने पर एक बुलियन ईवेंट टॉगल करना चाहता हूं। विशेष रूप से, 'कुंजी' कुंजी। मुझे GetKeyState() फ़ंक्शन की ओर इशारा किया गया है, जो माना जाता है कि Win32 API के अंतर्गत काम करता है। मैं पत्र 'एस' 115 है के लिए ASCII कोड को समझते हैं, और इसलिए मेरे कोड इस प्रकार है के रूप में:GetKeyState()
if (GetKeyState(115) == 1)
{
<EVENT>
}
बहरहाल, यह काम नहीं करता। क्यूं कर? यहाँ MSDN संदर्भ है: http://msdn.microsoft.com/en-us/library/ms646301%28v=vs.85%29.aspx ... "कम आदेश बिट 1 है, तो कुंजी चालू किए जाने पर"
धन्यवाद, मैंने यह कोशिश की है लेकिन फिर भी जब मैं प्रेस करता हूं तो मेरा ईवेंट नहीं होता है। कार्यक्रम हालांकि ठीक है हालांकि। मैं Win32 एपीआई का उपयोग कर रहा हूँ, क्या मुझे कुछ और याद आ रही है? संकलक स्पष्ट रूप से फ़ंक्शन को पहचानता है ... – CaptainProg
शायद आप [GetAsyncKeyState] (http://msdn.microsoft.com/en-us/library/ms646293) चाहते हैं। कीबोर्ड ईवेंट के जवाब में 'GetKeyState' को कॉल किया जाना है। –
अक्षर कुंजी के लिए वर्चुअल कुंजी कोड ऊपरी केस अक्षरों के ASCII कोड से मेल खाते हैं। और आप 'int' के बजाय 'char' का भी उपयोग कर सकते हैं जो कोड को और अधिक पठनीय बनाता है। तो 'GetKeyState (' S ')' – kiw