C#操縱系統菜單基礎分析
在向大家詳細介紹C#操縱系統菜單方法之前,首先讓大家了解下C#操縱系統菜單簡介,然后全面介紹C#操縱系統菜單方法。
.NET框架是Windows應用領域中一個非常新的技術,可以肯定在未來的一段時間內,.NET應用必須與現存的Windows技術交互作用。這種交互作用主要體現在兩個領域:COM和應用編程接口(API)。為此,.NET框架在Windows API之上提供了一個OO層,但是有時候可能需要使用一個.NET不可到達的API調用。在這種情況下,可以使用.NET平臺調用(P/Invoke)機制從.NET中調用C或C++函數。因為Windows API函數在DLL中,所以,P/Invoke為從.NET代碼調用DLL中的C或C++函數提供了一種通用機制。
本文針對C#.NET中沒有提供直接的類似SystemMenu的屬性或類似GetSystemMenu的成員函數的實際,編寫了一個C#類SystemMenu,從而實現了傳統的對于系統菜單的操作,這是通過調用本地Windows API來完成的。
C#操縱系統菜單簡介
當你單擊窗口圖標或右擊窗口標題欄時系統菜單即彈出。它包含當前窗口的默認行為。不同窗口的系統菜單看起來有些不同,如一個正常的窗口的系統菜單看起來與一個工具欄子對話框窗口的菜單就不一樣。
修改系統菜單的好處:
◆添加應用程序自己定義的菜單項。
◆在WW被最小化時,SS是一個很好的地方來放置動作,可以被存取,因為SS可以顯示,通過在任務欄窗口圖標上單擊右鍵。
◆使某菜單項失去能力,如從系統菜單中移去“最大化”,“最小化”“關閉”等。由于這種改動還影響到窗口右上角的三個按鈕,所以這是一個使窗口右上角“X”失去能力的不錯的辦法。
C#操縱系統菜單方法
通過調用 API函數GetSystemMenu,你就檢索到了系統菜單的一個拷貝。該函數的第二個參數指明是否你要復位系統菜單到它的缺省狀態。再加上另外幾個API菜單函數如AppendMenu, InsertMenu等,你就能實現對于系統菜單的靈活控制。
【編輯推薦】