ठीक है, इसलिए मैंने एक शोध किया और सफल रहा।
कुछ सोच के बाद मैं निष्कर्ष पर आया कि मुझे नहीं पता कि यह कैसे काम करता है :-) यह बस करता है! :-)
पहले « उपयोगी :) मज़ा » पर:
संक्षेप में, सिनैप्टिक्स टचपैड भेजता है ( SendMessage()
या PostMessage()
, उस को इंगित करने के लिए परेशान नहीं करता है) VMware विंडो के लिए सही विंडो संदेश ( WM_MOUSEWHEEL
), लेकिन यह वास्तव में क्या करना चाहिए SendInput()
, सीधे भौतिक माउस का अनुकरण कर रहा है। ऐसा लगता है कि SynTPEnh.exe
फ़ाइल के साथ ड्राइवरों के व्यवहार को नियंत्रित करने का विकल्प था (या, अधिक सटीक, उपयोगकर्ता-मोड प्रोग्राम )
tp4table.dat
। दुर्भाग्य से, यह विकल्प किसी तरह मेरे ड्राइवरों में सक्षम नहीं है (हालांकि एक निष्पादन में इस तरह की एक स्ट्रिंग है)।
इसलिए, मैंने निम्नलिखित कार्य किया - बस .dll
VMware की विंडो प्रक्रिया में इंजेक्ट किया गया (मुझे आशा है कि यह सुरक्षित है और यह भी उम्मीद है कि यह वही प्रक्रिया नहीं है जो VM को निष्पादित करता है), उपवर्गित विंडो प्रक्रिया (जिसका अर्थ है विंडो के संदेशों को इंटरसेप्ट किया गया) और "गलत" का उपयोग करके अनुवाद किया है। SendInput()
।
इसके अलावा , यह नोट किया गया था कि निम्नलिखित समाधान मेरे समाधान के साथ भी लागू करने के लायक है: http://blog.alexou.net/2010/07/scrolling-in-gtk-apps-with-synaptics-driver/ ।
इसलिए, स्रोत कोड और निष्पादनयोग्य (वे केवल वर्कस्टेशन का समर्थन कर रहे हैं, प्लेयर के लिए आगे "UPDATE" में पढ़ें) - टिप्पणी में पूछें कि क्या आपको कुछ नहीं मिला - https://www.dropbox.com/s/ पर हैं gucmyo35heha6g2 / vmware_scroll.zip? dl = 0 ।
मुख्य रिमार्क्स: जब वीएम चल रहा हो तो संबंधित निष्पादन योग्य चलाएं।
एक अन्य प्रमुख REMARK: क्या कदम नहीं hook.dll
और *.exe
बाद स्क्रॉल चालू किया गया है 'है। यदि आप vmware_scroll_stop.exe
अन्य स्थान से शुरू करते हैं तो यह अनलोड नहीं होगा .dll
(यानी स्क्रॉल अक्षम करें)।
अद्यतन : वहाँ एक उन्नत संस्करण है
(यह एंथोनी Prieur द्वारा बढ़ाया गया था, उसके लिए बड़ा धन्यवाद!), जो VMware प्लेयर का भी समर्थन करता है। एक प्रोग्राम जिसे
सरल यूजर इंटरफेस वाला VMWareTrackPadScroller कहा जाता
है, से भी उपलब्ध है।
नोट: कोई संस्करण नहीं होगा जो क्षैतिज स्क्रॉलिंग का समर्थन करता है, दुर्भाग्य से। बात यह है, एक समाधान विचार है, लेकिन मैंने इसे बहुत गंदा मानकर खारिज कर दिया। कार्य पूरा करने के लिए, VMware विंडो क्लासेस के नाम (वे "VMware.GuestWindow" और "MKSEmbedded" या wcsicmp) को संशोधित करने के लिए API (SynTPEnh.exe में) (SynTPEnh.exe में) GetClassNameW () की आवश्यकता होती है ताकि हमेशा "न के बराबर" लौटें। जब किसी एक तर्क का उल्लेख किया जाता है। मुझे लगता है कि यह प्रदर्शन के दृष्टिकोण से गंदा समाधान है, कम से कम (यह वास्तव में एक कमजोर तर्क है क्योंकि प्रदर्शन जुर्माना न्यूनतम होगा)। वैसे भी, वर्तमान समाधान स्वीकार्य है, मुझे लगता है, क्योंकि आपके पास हमेशा क्षैतिज स्क्रॉलिंग क्षमता वाला उपकरण नहीं है और गरीबी में पीड़ित होने की तुलना में उस लक्जरी के बिना रहने के लिए आदी होना बेहतर है। Btw,Shift+Vertical Scroll
क्षैतिज स्क्रॉल करने के लिए।