打开软键盘



WIN32的话话,要是这几个函数SIPINFO、SHSIPINFO、SIPSETINFO、SIPGETINFO
.NET底下有个INPUTPANEL设置他的ENABLE就OK了。

//隐藏输入面板
BOOL LowerSip()
{
BOOL fRes = FALSE;
SIPINFO si;
memset( &si, 0, sizeof( si ) );
si.cbSize = sizeof( si );
if( SHSipInfo( SPI_GETSIPINFO, 0, &si, 0 ) )
{
si.fdwFlags &= ~SIPF_ON;
fRes = SHSipInfo( SPI_SETSIPINFO, 0, &si, 0 );
}
return fRes;
}

//升起输入面板
BOOL RaiseSip( void )
{
BOOL fRes = FALSE;
SIPINFO si;
memset( &si, 0, sizeof( si ) );
si.cbSize = sizeof( si );
if( SHSipInfo( SPI_GETSIPINFO, 0, &si, 0 ) )
{
si.fdwFlags |= SIPF_ON;
fRes = SHSipInfo( SPI_SETSIPINFO, 0, &si, 0 );
}
return fRes;
}
再试试下面这些:
//SHSipPreference(m_hWnd, SIP_UP);//弹出输入面板
//SHSipPreference(m_hWnd, SIP_DOWN);//隐藏输入面板(有一个时延)
//SHSipPreference(m_hWnd, SIP_FORCEDOWN );//隐藏输入面板(立即)
//SHSipPreference(m_hWnd, SIP_UNCHANGED );
//一般只用在调用SIP_DOWN时的的后面,使这个命令无效
posted @ 2008-11-12 14:20  javawebsoa  Views(186)  Comments(0Edit  收藏  举报