BCB不讓應用程序顯示在任務欄上的方法

 Windows規定,如果一個窗口是浮動的工具類型窗口時,它就不在任務欄上顯示了。要爲窗口設置這個屬性,可以利用API函數SetWindowLong。該函數用來改變窗口的一些特徵它的定義如下:

 

 ////////////////////////////////////////////////////////////////////////////////////////
LONG SetWindowLong(
     HWND,hWnd                ////窗口句柄
     int nIndex,                      ////值的偏移設置量
     LONG dwNewLong     ////新值
);
/////////////////////////////////////////////////////////////////////////////////////////////
參數nIndex的取值見下表:
#define GWL_WNDPROC         (-4) ////爲窗口過程設置新地址
#define GWL_HINSTANCE       (-6) ////設置一個新的應用程序實例句柄
#define GWL_HWNDPARENT      (-8) ////
#define GWL_STYLE           (-16) ////設置新窗口類型
#define GWL_EXSTYLE         (-20) ////設置新窗口擴展類型
#define GWL_USERDATA        (-21) ////爲窗口設置一個相聯繫的32位值,每一個窗口都有一個32位值,應用程序產生這個窗口時要利用這個值
#define GWL_ID              (-12)////爲窗口設置一個新的識別號
如果hWnd參數爲對話框,nIndex還可以取如下三個值:
DWL_DLGPROC ////爲對話框過程設置新地址
DWL_MSGRESULT ////爲對話框設置返回值
DWL_USER ////爲應用程序設置新的額外信息
//////////////////////////////////////////////////////////////////////////////////////////////

這樣,要使應用程序不顯示在任務欄上,則在窗口的構造函數中寫下面一句就可以了:
/////////////////////////////////////////////////////////////////////////////////////////////
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
  SetWindowLong(Application->Handle,GWL_EXSTYLE,WS_EX_TOOLWINDOW);
}
/////////////////////////////////////////////////////////////////////////////////////////////

 

發佈了37 篇原創文章 · 獲贊 1 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章