2013-10-21 14 views
8

मैंने विजुअल स्टूडियो का उपयोग करके एक कियोस्क शैली सी # एप्लिकेशन लिखा है जो स्टार्टअप पर चल रहा है और पूर्ण-स्क्रीन में विस्तार करना चाहिए और टास्क-बार को कवर करना चाहिए।स्टार्ट-अप टास्कबार पर पूर्ण स्क्रीन सी # एप्लिकेशन

मैं सामान्य सेटिंग बोर्डर शैली को किसी के लिए नहीं कर रहा हूं, और विस्तार भरता हूं और यह पूरी तरह से काम करता है अगर मैं मैन्युअल रूप से एप्लिकेशन लॉन्च करता हूं।

जब एप्लिकेशन स्टार्टअप पर शुरू होता है (स्टार्ट मेनू में स्टार्टअप फ़ोल्डर में शॉर्ट-कट के माध्यम से), कार्य-बार प्रोग्राम के शीर्ष पर समाप्त होता है और फ़ॉर्म पर कहीं भी क्लिक नहीं करता है शीर्ष पर वापस जाएँ।

क्या किसी को भी इस समस्या का सामना करना पड़ा है, या संभावित कामकाज के बारे में पता है।

+0

सुनिश्चित नहीं है लेकिन ओ हो सकता है थर्म प्रोग्राम्स इसे बाधित कर रहा है .. – Rohit

+0

यह विंडोज एक्सपी के एक साफ इंस्टॉल पर है, मुझे याद नहीं है कि कौन सा संस्करण, स्थापित किया गया एकमात्र सामान है .नेट वितरित करने योग्य और यूएसबीसीएएन एडाप्टर के लिए कुछ ड्राइवर। – Hugoagogo

+0

आप किस तकनीक का उपयोग करते हैं? डब्ल्यूपीएफ या WinForms? – galenus

उत्तर

0

वर्कअराउंड: प्रारंभ करते समय, explorer.exe को मारें - आपको इसकी आवश्यकता नहीं है -> टास्कबार गायब हो जाता है। जरूरत पड़ने पर यह कार्य प्रबंधक का उपयोग शुरू

+0

क्या यह जांचने का एक आसान तरीका होगा कि फॉर्म – Hugoagogo

+0

फ़ॉर्म को प्रदर्शित करने से पहले एक्सप्लोरर पूरी तरह से खोला गया है या नहीं? क्या आप अधिक विशिष्ट हो सकते हैं? – Ondrej

+0

टास्क बार में पूरी तरह से खोला जा रहा है ताकि जब फॉर्म शुरू होता है तो यह टास्क बार को ठीक से ओवरले करेगा। – Hugoagogo

3

मैं भी यह एक और समय किया है:

public class Screensize 
{ 
    /// <summary> 
    /// Selected Win AI Function Calls 
    /// </summary> 

    public class WinApi 
    { 
     [DllImport("user32.dll", EntryPoint = "GetSystemMetrics")] 
     public static extern int GetSystemMetrics(int which); 

     [DllImport("user32.dll")] 
     public static extern void 
      SetWindowPos(IntPtr hwnd, IntPtr hwndInsertAfter, 
         int X, int Y, int width, int height, uint flags); 

     private const int SM_CXSCREEN = 0; 
     private const int SM_CYSCREEN = 1; 
     private static IntPtr HWND_TOP = IntPtr.Zero; 
     private const int SWP_SHOWWINDOW = 64; // 0x0040 

     public static int ScreenX 
     { 
      get { return GetSystemMetrics(SM_CXSCREEN); } 
     } 

     public static int ScreenY 
     { 
      get { return GetSystemMetrics(SM_CYSCREEN); } 
     } 

     public static void SetWinFullScreen(IntPtr hwnd) 
     { 
      SetWindowPos(hwnd, HWND_TOP, 0, 0, ScreenX, ScreenY, SWP_SHOWWINDOW); 
     } 
    } 

    /// <summary> 
    /// Class used to preserve/restore state of the form 
    /// </summary> 
    public class FormState 
    { 
     private FormWindowState winState; 
     private FormBorderStyle brdStyle; 
     private bool topMost; 
     private Rectangle bounds; 

     private bool IsMaximized = false; 

     public void Maximize(Form targetForm) 
     { 
      if (!IsMaximized) 
      { 
       IsMaximized = true; 
       Save(targetForm); 
       targetForm.WindowState = FormWindowState.Maximized; 
       targetForm.FormBorderStyle = FormBorderStyle.None; 
       targetForm.TopMost = false; 
       WinApi.SetWinFullScreen(targetForm.Handle); 
      } 
     } 

     public void Save(Form targetForm) 
     { 
      winState = targetForm.WindowState; 
      brdStyle = targetForm.FormBorderStyle; 
      topMost = targetForm.TopMost; 
      bounds = targetForm.Bounds; 
     } 

     public void Restore(Form targetForm) 
     { 
      targetForm.WindowState = winState; 
      targetForm.FormBorderStyle = brdStyle; 
      targetForm.TopMost = topMost; 
      targetForm.Bounds = bounds; 
      IsMaximized = false; 
     } 
    } 

और सिर्फ अपने रूप में कहते हैं:

screensize.Maximize(this) 

मुझे लगता है कि आप इस

मतलब

और अब मुझे लगता है कि यह पोस्ट 2013 से है ...

+0

इसके लिए धन्यवाद, मुझे कुछ हफ्तों तक इसका परीक्षण नहीं करना पड़ेगा, लेकिन यह दोनों अच्छे और साथ ही साथ एक सीधा सीधा समाधान भी दिखता है, अभी के लिए ऊपर दिया गया है और मुझे इसे ठीक करने का मौका मिलने के बाद सही के रूप में चिह्नित किया जाएगा। – Hugoagogo

संबंधित मुद्दे