BCB不讓應用程序顯示在任務欄上的方法
發表時間:2024-06-10 來源:明輝站整理相關軟件相關文章人氣:
[摘要]Windows規定,如果一個窗口是浮動的工具類型窗口時,它就不在任務欄上顯示了。要為窗口設置這個屬性,可以利用API函數SetWindowLong。該函數用來改變窗口的一些特征它的定義如下://////////////////////////////////////////////////////...
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);
}
/////////////////////////////////////////////////////////////////////////////////////////////