输入面板隐藏的问题
我想在我的窗体里把输入面板隐藏起来,但我执行了下面的代码还是不能隐藏,请高手指教一下
BOOL CVcpDlg::OnInitDialog()
{
CDialog::OnInitDialog();
............
// 隐藏命令栏
HWND hWnd = SHFindMenuBar(m_hWnd);
::CommandBar_Show(hWnd, FALSE);
//如果对话框不在最前面,那么SHFullScreen()函数会失败
SetForegroundWindow();
// 隐藏任务栏,任务栏是屏幕最上边的一条
SHFullScreen(m_hWnd, SHFS_HIDETASKBAR | SHFS_HIDESIPBUTTON | SHFS_HIDESTARTICON);
// Resize the window over the taskbar area.
CRect rcScreen;
rcScreen.SetRect( 0,
0,
GetSystemMetrics( SM_CXSCREEN ),
GetSystemMetrics( SM_CYSCREEN ));
MoveWindow(&rcScreen, TRUE);
// 隐藏输入面板
SIPINFO si;
memset(&si, 0, sizeof(SIPINFO));
si.cbSize = sizeof(SIPINFO);
SHSipInfo(SPI_GETSIPINFO, 0, &si, 0);
if (si.fdwFlags & SIPF_ON)
{
si.cbSize = sizeof(SIPINFO);
si.fdwFlags = SIPF_OFF;
SHSipInfo(SPI_SETSIPINFO, 0, &si, 0);
}
............
特别是在SHSipInfo(SPI_GETSIPINFO, 0, &si, 0); 后si.fdwFlags的值是SIPF_DOCKED
这是把面板附属于任务栏呀,但已经隐藏了任务栏呀
我把代码改成这面的也不行
// 隐藏输入面板
SIPINFO si;
memset(&si, 0, sizeof(SIPINFO));
si.cbSize = sizeof(SIPINFO);
SHSipInfo(SPI_GETSIPINFO, 0, &si, 0);
{
si.cbSize = sizeof(SIPINFO);
si.fdwFlags = SIPF_OFF;
SHSipInfo(SPI_SETSIPINFO, 0, &si, 0);
}