मेरे पास एक छोटा .NET प्रोग्राम है जो एक पूर्णस्क्रीन विंडो उत्पन्न करता है। मैं इस विंडो को सबसे पीछे वाली विंडो रखना चाहता हूं (अर्थात अन्य विंडो इसके ऊपर खुलनी चाहिए, और क्लिक करने पर यह सामने नहीं आनी चाहिए)। क्या विंडोज प्रेजेंटेशन फाउंडेशन के तहत ऐसा करने का कोई व्यावहारिक तरीका है?
1 उत्तर
जहाँ तक मुझे पता है, आपको यह अधिकार करने के लिए P/Invoke करना होगा। अपनी विंडो के हैंडल को निर्दिष्ट करते हुए SetWindowPos
फ़ंक्शन को कॉल करें। और HWND_BOTTOM
ध्वज।
यह आपकी विंडो को Z क्रम के निचले भाग में ले जाएगा, और इसे अन्य विंडो को अस्पष्ट करने से रोकेगा।
नमूना कोड:
Private Const SWP_NOSIZE As Integer = &H1
Private Const SWP_NOMOVE As Integer = &H2
Private Const SWP_NOACTIVATE As Integer = &H10
<DllImport("user32.dll", CharSet:=CharSet.Auto)> _
Private Shared Function SetWindowPos(hWnd As IntPtr, hWndInsertAfter As IntPtr,
X As Integer, Y As Integer,
cx As Integer, cy As Integer,
uFlags As Integer) As Boolean
End Function
Public Sub SetAsBottomMost(ByVal wnd As Window)
' Get the handle to the specified window
Dim hWnd As IntPtr = New WindowInteropHelper(wnd).Handle
' Set the window position to HWND_BOTTOM
SetWindowPos(hWnd, New IntPtr(1), 0, 0, 0, 0,
SWP_NOSIZE Or SWP_NOMOVE Or SWP_NOACTIVATE)
End Sub
संबंधित सवाल
जुड़े हुए प्रश्न
नए सवाल
.net
.NET कोर के बारे में प्रश्नों के लिए उपयोग न करें - इसके बजाय [.net-core] का उपयोग करें। .NET फ्रेमवर्क मुख्य रूप से माइक्रोसॉफ्ट विंडोज ऑपरेटिंग सिस्टम के लिए डिज़ाइन किया गया एक सॉफ्टवेयर फ्रेमवर्क है। इसमें बेस क्लास लाइब्रेरी, कॉमन लैंग्वेज रनटाइम (आमतौर पर सीएलआर के रूप में संदर्भित), कॉमन टाइप सिस्टम (आमतौर पर सीटीएस के रूप में संदर्भित) और डायनेमिक भाषा रनटाइम का कार्यान्वयन शामिल है। यह C #, VB.NET, F # और C ++ / CLI सहित कई प्रोग्रामिंग भाषाओं का समर्थन करता है।