मैंने देखा है कि setforegroundwindow बहुत flaky हो सकता है - कोई फर्क नहीं पड़ता कि आप इसे कैसे करते हैं।यूआई ऑटोमेशन स्विच विंडो
मैंने देखा है कि जहां संभव हो, यूआईयूटोमेशन का उपयोग करके चीजों में सुधार होता है।
उदाहरण के लिए:
WindowPattern हो रही है और की तरह कुछ का उपयोग कर: मेरे सवालों
windowPattern.SetWindowVisualState(WindowVisualState.Normal);
windowPattern.SetWindowVisualState(WindowVisualState.Maximized);
अब है:
मुझे कैसे पता चलेगा कि क्या मैं यह अधिकतम या सामान्य बनाना चाहिए है। कार्य प्रबंधक, और स्वाभाविक रूप से दोनों ड्रैगन बोलते हैं कि यह कैसे करना है। यदि यह पिछले अधिकतम किया गया था, और फिर कम किया गया था, तो जब मैं इसे स्विच करता हूं तो मैं खिड़की को अधिकतम करना चाहता हूं। अगर इसे पहले अधिकतम नहीं किया गया था, तो मैं इसे "सामान्य" बनाना चाहता हूं।
कोई विचार?
यह कुछ हद तक उपयोगी है, लेकिन मुझे पता है कि क्या visualState उपयोग करने के लिए के रूप में में पारित करने के लिए की आवश्यकता होगी। तो मान लें कि मैं एक कार्य स्विच आवेदन कर रहा हूं। मेरे पास hwnd है, और फिर उस विंडो के लिए ऑटोमेशन एलीमेंट जो वर्तमान में टास्कबार में कम हो गया है। मुझे नहीं पता कि खिड़की पहले अधिकतम या सामान्य स्थिति में क्या थी। तो मुझे नहीं पता कि मुझे इस समारोह में "सामान्य" या "अधिकतम" में गुजरना चाहिए या नहीं। – Derek
@ डेरेक मैंने अपना जवाब अपडेट कर दिया है, और मुझे लगता है कि यह वही करता है जो आप बेहतर खोज रहे हैं। मैंने कुछ बहुत ही बुनियादी परीक्षण किया, और ऐसा लगता है कि कार्य प्रबंधक में "स्विच टू" काम किया गया था। – Gray