文章原創,轉載請註明,謝謝。
PPC中,輸入法顯示時,界面可供用戶操作的空間變小。如何使得界面能自適應輸入法狀態呢?
SIPINFO si = {0};
si.cbSize = sizeof(si);
SHSipInfo(SPI_GETSIPINFO, 0, &si, 0);
BOOL bShow = si.fdwFlags&SIPF_ON;
此時,bShow爲真則表示輸入法處於顯示狀態,否則是隱藏。
SIPINFO是這樣定義的:
typedef struct tagSIPINFO
{
DWORD cbSize;
DWORD fdwFlags;
RECT rcVisibleDesktop;
RECT rcSipRect;
DWORD dwImDataSize;
void *pvImData;
} SIPINFO;
由rcVisibleDesktop和rcSipRect可以算出我們需要的界面大小。
dwImDataSize和pvimData的作用,沒做深究,可能在做輸入法的時候會用到?