ऑटोहोटेक से पहले दृश्य स्टूडियो प्रमुख घटनाओं को क्यों पकड़ रहा है?


82

मैंने हाल ही में एक प्रयोग के रूप में ड्वोरक कीबोर्ड लेआउट पर स्विच किया। संक्रमण के सबसे कठिन हिस्सों में से एक गर्म-कुंजियों के साथ काम कर रहा है। अधिकांश हॉट-की को QWERTY को ध्यान में रखकर डिजाइन किया गया है और, मामलों को बदतर बनाने के लिए, हॉट-की अत्यधिक मांसपेशी मेमोरी बाउंड लगती हैं।

सभी गर्म कुंजियों को फिर से जारी करने के बजाय, मैंने एक ऑटोहोटेकी स्क्रिप्ट लिखी है Ctrl, जब ड्वोरक लेआउट को QWERTY में वापस अनुवाद करना है , जब Alt, या Winकुंजियों को अन्य कुंजियों के साथ संयोजन में दबाया जाता है। विजुअल स्टूडियो '08 को छोड़कर, मैंने हर जगह खूबसूरती से काम किया है। ऐसा लगता है कि ऑटोहोटेक उन्हें अनुवाद करने से पहले कीस्ट्रोक्स पकड़े जा रहे हैं।

ऐसा क्यों हो रहा है और मैं इसे कैसे ठीक करूं?

नीचे मेरी स्क्रिप्ट का एक अंश (शुरुआत से) है:

; control + letter
^;::^z
^q::^x
^j::^c
^k::^v

अपडेट: स्क्रिप्ट Win7 पर ahk, vs08 के साथ ठीक काम करती है, और कोडरेश ताज़ा स्थापित है। जिस मशीन से मुझे परेशानी हो रही है वह विस्टा चल रही है। आगे के निदान के बारे में कोई विचार?

अद्यतन 2: स्क्रिप्ट विस्टा और 2010 बीटा के साथ ठीक काम करती है। सिर्फ 08 + विस्टा के साथ कुछ प्रतीत होता है। आज रात बनाम08 की एक ताजा स्थापना का प्रयास करें।

जवाबों:


176

अहा! मैंने इसका पता लगा लिया है। यदि आहक और लक्ष्य ऐप एक ही विशेषाधिकार (या उपयोगकर्ता) के तहत नहीं चल रहे हैं, तो कीबोर्ड की घटनाओं को ठीक से बाधित / अनुकरण नहीं करेगा। मेरे मामले में, दृश्य स्टूडियो को प्रशासक (उन्नत) विशेषाधिकारों के साथ चलाया गया था, जबकि वर्तमान में लॉग ऑन के रूप में आह स्क्रिप्ट को चलाया गया था।

निम्नलिखित में से किसी ने समस्या हल की:

  • वर्तमान उपयोगकर्ता के रूप में बनाम और आह दोनों चल रहे हैं
  • स्क्रिप्ट संकलित करना और दोनों बनाम और संकलित एप्लिकेशन को व्यवस्थापक के रूप में चलाना

15
बस जोड़ना चाहता था कि इसके विभिन्न अनुमतियों के बारे में नहीं । लेकिन इस तथ्य के बजाय कि एक ऑटोहॉट्की स्क्रिप्ट एक ऐसे अनुप्रयोग पर काम नहीं करेगी जो स्क्रिप्ट की तुलना में उच्च विशेषाधिकार स्तर पर चल रही है । नीचे मेरा जवाब देखें।
हिमांशु पी

2
आप ahk के लिए संदर्भ मेनू में "रन के रूप में व्यवस्थापक" जोड़ सकते हैं। यह एक संकलन चरण को बचाता है। Howtogeek.com/howto/windows-vista/…
एडम बेल

मैंने यहां टास्क शेड्यूलर के माध्यम से उपयोगकर्ता के हस्तक्षेप के बिना प्रत्येक स्टार्टअप पर व्यवस्थापक के रूप में ऑटोहॉटकी स्क्रिप्ट को चलाने के लिए एक स्वच्छ तरीका पाया है: autohotkey.com/boards/viewtopic.php?t=21434
जोस एंटोनियो

उसके लिए चीयर्स
भ्रम

48

बस ओपी द्वारा पाया समाधान के लिए कुछ बिंदुओं को जोड़ना चाहते हैं।

1) समस्या Ahk और वी.एस. के साथ चल रहे के साथ नहीं है अलग अपनी एक में चल रहे एक स्क्रिप्ट के द्वारा बनाई गई हॉटकी सिर्फ इतना है कि - अनुमतियाँ गैर-व्यवस्थापक मोड में चल रहा आवेदनों पर काम नहीं होता व्यवस्थापक मोड, लेकिन वहाँ कोई समस्या नहीं हो सकता है अगर यह है विपरीत स्थिति।

2) आवश्यक रूप से स्क्रिप्ट को संकलित करने की आवश्यकता नहीं है, बस व्यवस्थापक मोड में चलाने के लिए ऑटोहोटेके। Exe सेट करें (जो मैं करता हूं), या वैकल्पिक रूप से विशेष स्क्रिप्ट के लिए एक शॉर्टकट बनाएं और इसे हमेशा व्यवस्थापक मोड में चलाने के लिए सेट करें। (btw, केवल इंगित करने के लिए, AHK स्क्रिप्ट के संकलित संस्करण को चलाने से कोई प्रदर्शन लाभ नहीं होता है, क्योंकि कोड अभी भी व्याख्या किया गया है - इसकी बस अब दुभाषिया निष्पादित निष्पादन योग्य में एम्बेडेड है)


3

यह उपयोगकर्ता इंटरफ़ेस विशेषाधिकार अलगाव (UIPI) नामक एक सुरक्षा सुविधा के कारण है , जो उपयोगकर्ता खाता नियंत्रण (UAC) का हिस्सा है।

एफएक्यू में सूचीबद्ध कई वर्कअराउंड हैं:

मैं उपयोगकर्ता खाता नियंत्रण (UAC) के कारण होने वाली समस्याओं के बारे में कैसे काम करूं?

सामान्य वर्कअराउंड निम्नानुसार हैं:

  • AutoHotkey सेटअप में संदर्भ मेनू विकल्प में 'यूआई के साथ रन जोड़ें' सक्षम करें । प्रारंभ मेनू से AutoHotkey सेटअप को फिर से चलाकर AutoHotkey को पुन: स्थापित किए बिना इस विकल्प को सक्षम या अक्षम किया जा सकता है। इसे सक्षम करने के बाद, अपनी स्क्रिप्ट फ़ाइल को राइट-क्लिक करके और UI एक्सेस के साथ रन का चयन करके लॉन्च करें , या जैसे कमांड लाइन का उपयोग करें"AutoHotkeyU32_UIA.exe" "Your script.ahk" (लेकिन पूर्ण पथ शामिल करें)।
  • स्क्रिप्ट को व्यवस्थापक के रूप में चलाएँ। ध्यान दें कि यह स्क्रिप्ट द्वारा व्यवस्थापक के रूप में चलाने के लिए लॉन्च किए गए किसी भी प्रोग्राम का कारण बनता है, और स्क्रिप्ट को लॉन्च करते समय उपयोगकर्ता को अनुमोदन प्रॉम्प्ट को स्वीकार करने की आवश्यकता हो सकती है।
  • स्थानीय सुरक्षा नीति "व्यवस्थापक अनुमोदन मोड में सभी प्रशासक चलाएँ" (अनुशंसित नहीं) को अक्षम करें।
  • UAC को पूरी तरह से अक्षम करें। यह अनुशंसित नहीं है, और विंडोज 8 या बाद के संस्करण पर संभव नहीं है।

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

बेशक, मैं पिछले दो विकल्पों की भी सिफारिश नहीं करता हूं। यह केवल UI एक्सेस के साथ चलता है , जिसे ऊपर वर्णित के रूप में सक्षम और उपयोग किया जा सकता है।


0

जाहिर तौर पर इसके लिए वर्कअराउंड है।

डॉक्स प्रोग्राम से .htm # Installer_uiAccess
लेक्सिको द्वारा फोरम थ्रेड

अंश:

EnableUIAccess

UAC सक्षम होते हुए भी स्क्रिप्ट को निम्न करने की अनुमति देने के लिए AutoHotkey.exe को संशोधित करता है:

व्यवस्थापक के रूप में स्क्रिप्ट को चलाने के बिना प्रशासनिक कार्यक्रमों की खिड़कियों के साथ बातचीत करें। SendPlay का उपयोग करें। सीमाएं हैं; कृपया इस स्क्रिप्ट का उपयोग करने से पहले पोस्ट पढ़ें।

Ahk फ़ाइल का डाउनलोड लिंक फ़ोरम पर टूट गया है, लेकिन मुझे यह Github: EnableUIAccess.ahk पर मिला


आप EnableUIAccess.ahk को क्यों देख रहे हैं? यह अप्रचलित है। AutoHotkey इंस्टॉलर में निर्मित विकल्प के बारे में बताने के लिए आपके द्वारा जोड़ा गया दस्तावेज़। इंस्टॉलर में वह सब कुछ होता है जिसकी आपको आवश्यकता होती है। (मैंने उत्तर के रूप में अधिक विवरण भी पोस्ट किया है।)
लेक्सिकोस
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.