ऐसा लगता है कि आपने नाथन के अपने प्रश्न का उत्तर दिया है ;-)
"GetLastInputInfo" जाने का रास्ता है।
एक चाल यह है कि यदि आपका एप्लिकेशन डेस्कटॉप पर चल रहा है, और उपयोगकर्ता वर्चुअल मशीन से कनेक्ट होता है, तो GetLastInputInfo कोई गतिविधि रिपोर्ट नहीं करेगा (क्योंकि मेजबान मशीन पर कोई गतिविधि नहीं है)।
उपयोगकर्ता इनपुट को लागू करने के तरीके के आधार पर यह आपके इच्छित व्यवहार से भिन्न हो सकता है।