隐藏输入法图标的方法有如下:
法一:
SHCreateMenuBar的时候dwFlags置上SHCMBF_HIDESIPBUTTON
在利用SHCreateMenuBar创建菜单的时候,dwFlags 参数要加上SHCMBF_HIDESIPBUTTON这个变量。如:
SHMENUBARINFO mbi;
ZeroMemory(&mbi, sizeof(SHMENUBARINFO));
mbi.cbSize = sizeof(SHMENUBARINFO);
mbi.hwndParent = hDlg;
mbi.hInstRes = hInst;
mbi.dwFlags = SHCMBF_HIDESIPBUTTON|SHCMBF_HMENU;
mbi.nToolBarId=IDR_MENU1;
SHCreateMenuBar(&mbi);
SHMENUBARINFO mbi;
ZeroMemory(&mbi, sizeof(SHMENUBARINFO));
mbi.cbSize = sizeof(SHMENUBARINFO);
mbi.hwndParent = hDlg;
mbi.hInstRes = hInst;
mbi.dwFlags = SHCMBF_HIDESIPBUTTON|SHCMBF_HMENU;
mbi.nToolBarId=IDR_MENU1;
SHCreateMenuBar(&mbi);
法二:
FindWindow找到SIP窗口,把它隐藏。
void SipButtonShow( BOOL bShow )
{
HWND hWnd = ::FindWindow( _T( "MS_SIPBUTTON" ), NULL );
if (hWnd == NULL)
return;
if (bShow)
{
::ShowWindow( hWnd, SW_SHOW );
}
else
{
::ShowWindow( hWnd, SW_HIDE );
}
}
{
HWND hWnd = ::FindWindow( _T( "MS_SIPBUTTON" ), NULL );
if (hWnd == NULL)
return;
if (bShow)
{
::ShowWindow( hWnd, SW_SHOW );
}
else
{
::ShowWindow( hWnd, SW_HIDE );
}
}