VC 显示软键盘、关闭软键盘

void SHOWOSK()
{
    //KillOSK();
    HWND hwnd = ::FindWindow(NULL, _T("屏幕键盘"));
    if(hwnd != NULL && (::IsWindowVisible(hwnd) == false))
        KillOSK();
    //HWND hwnd = ::FindWindow(NULL, _T("IPTip_Main_Window"));
    if (hwnd == NULL  || (hwnd != NULL && (::IsWindowVisible(hwnd) == false)))
    {
        PVOID OldValue = NULL;
        BOOL f = Wow64DisableWow64FsRedirection(&OldValue);
        //WinExec("osk.exe", SW_SHOWNORMAL);
        ShellExecute(NULL, L"open", L"osk.exe", NULL, NULL, SW_SHOWNORMAL);
        //ShellExecute(NULL, L"open", L"C:\\Program Files\\Common Files\\microsoft shared\\ink\\TabTip.exe", NULL, NULL, SW_SHOWNORMAL);//SW_SHOWNORMAL);
        if (f)
            Wow64RevertWow64FsRedirection(OldValue);
    }
}

void HideOSK()
{
    HWND hwnd = ::FindWindow(NULL, _T("屏幕键盘"));
    //HWND hwnd = ::FindWindow(NULL, _T("IPTip_Main_Window"));
    
    //if (hwnd)
    if(hwnd != NULL && ::IsWindowVisible(hwnd))
    {
        //::SendMessage((HWND)hwnd, WM_CLOSE, 0, 0);
        PostMessage(hwnd, WM_SYSCOMMAND, SC_CLOSE, 0);
    }
#if 1
    //KillOSK();
#endif
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值