मैं अपने विंडोज 7 पीसी पर मिनीफ्रेम द्वारा प्रोग्राम "सॉफ्टएक्सपैंड 2011 डुओ" का उपयोग कर रहा हूं। यह एक कंप्यूटर से दो वर्कस्टेशन बनाता है। यह अतिरिक्त सत्र बनाने के लिए विंडोज में निर्मित टर्मिनल सेवाओं का उपयोग करता है। मैं दो कंप्यूटरों के इस "भ्रम" को बनाने के लिए दो स्क्रीन, दो कीबोर्ड और दो चूहों का उपयोग करता हूं। यह काफी अच्छी तरह से काम करता है और मैं इस सिंगल मशीन से जुड़ी दो स्क्रीन पर दो अलग-अलग 3D गेम भी खेल सकता हूं (8 Gbytes RAM के साथ एक Radeon HD5770 और Core i5 2500k)।
इसके लिए कुछ डाउनसाइड्स हैं। मैंने सिर्फ एक के बारे में पाया जो पहली नज़र में छिपा हुआ है। आपके द्वारा (पहले कार्यस्थान पर भी) सत्र एक टर्मिनल सर्वर सत्र के रूप में पहचाने जाएंगे! अब कुछ प्रोग्राम सीमित प्रभाव (ग्राफिकल) के साथ चलेंगे, और कुछ बिल्कुल नहीं चलेंगे।
इसके परिणामस्वरूप कुछ खेल बिल्कुल नहीं चल रहे थे। वे बस कहते हैं "एक टर्मिनल सर्वर सत्र में नहीं चलाया जा सकता" और बाहर निकलें। मैंने पहले ही साबित कर दिया है कि शीर्ष आधुनिक गेम (डायरेक्टएक्स 10, 11) सॉफ्टएक्सपैंड के बिना एक ही मशीन पर उतना ही अच्छा चलता है, इसलिए यह एक सुंदर कृत्रिम सीमा है!
तो, क्या मैं किसी तरह अपना वर्तमान सत्र हैक कर सकता हूं ताकि यह टर्मिनल सर्वर सत्र की तरह न दिखे? अर्थात।
#include <windows.h>
#pragma comment(lib, "user32.lib")
BOOL IsRemoteSession(void)
{
return GetSystemMetrics( SM_REMOTESESSION );
}
FALSE लौटेगा? (एक प्रोग्रामिंग सवाल नहीं! बस एक उदाहरण है कि कैसे प्रोग्राम का पता लगाता है कि वे टर्मिनल सर्वर सत्र में हैं!