2011-06-21 7 views
6

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

तो मैं एक अजगर प्रोग्राम है जो कीबोर्ड पर ध्यान केंद्रित डालता करना चाहते हैं ट्रे आइकन। मैं पायथन से यह कैसे कर सकता हूं? मैं विंडोज के व्यवहार को नियंत्रित करने के बारे में बहुत कम जानता हूं।

यदि कुछ तैयार किए गए कार्यक्रम हैं जो ऐसा करते हैं, तो मुझे इसके बारे में भी सुनकर खुशी होगी।

उत्तर

1

मुझे 99% यकीन है कि ट्रे अधिसूचना क्षेत्र तक पहुंचने का कोई समर्थित तरीका नहीं है। असल में फोकस करने योग्य तत्व अतिप्रवाह बटन है, ट्रे आइकन स्वयं नहीं - और विंडोज शैल टीम यह गारंटी नहीं देनी चाहती कि यह बटन हमेशा फोकस करने योग्य होगा या यह भी कि यह भविष्य भविष्य के विंडोज संस्करणों में मौजूद होगा। तो इसका उपयोग करने के लिए कोई एपीआई नहीं है। यह यह करने के लिए एक बहुत ही hacky तरीका है, किसी भी समय काम करना बंद कर सकता है - निजी इस्तेमाल केवल (विंडोज 7 पर परीक्षण) के लिए :

import win32gui 
import win32con 
taskbar = win32gui.FindWindow("Shell_TrayWnd", None) 
trayArea = win32gui.FindWindowEx(taskbar, None, "TrayNotifyWnd", None) 
win32gui.SetForegroundWindow(taskbar) 
win32gui.SendMessage(trayArea, win32con.WM_SETFOCUS, 0, 0) 

एक बार फिर, यह एक आवेदन में उपयोग नहीं करते कि अन्य लोग का उपयोग करेंगे। win32gui मॉड्यूल Win32 Extensions का हिस्सा है।

हॉटकी के लिए आप RegisterHotKey का उपयोग कर सकते हैं लेकिन एक्सप्लोरर को संभालने के लिए यह आसान होना चाहिए - स्टार्ट मेनू में अपनी स्क्रिप्ट में एक लिंक जोड़ें और इसके लिए हॉटकी परिभाषित करें।

+0

"ओवरफ़्लो बटन" क्या है? –

+0

स्क्रिप्ट काम करता प्रतीत होता है, लेकिन एक्सप्लोरर (कम से कम एक्सपी पर) से शुरू करने में असमर्थ है - टी। मैं सी # का उपयोग नहीं करता इसलिए रजिस्टरहोटकी मदद नहीं करता है। क्या शॉर्टकट कुंजी को बांधने के लिए कोई उपयोगिता है? –

+0

ठीक है, मैंने बाध्यकारी के लिए ऑटोहॉटकी का उपयोग किया और यह काम करता है! –