您的位置:首页 > 其它

win8让触摸键盘透明

2015-07-18 13:02 381 查看
C#的实现方法

[DllImport("user32.dll", CharSet = CharSet.Ansi, EntryPoint = "SetWindowLongA", ExactSpelling = true, SetLastError = true)]
private static extern long SetWindowLong(IntPtr hWnd, int nIndex, int dwNewLong);
[DllImport("User32.Dll", CharSet = CharSet.Auto, SetLastError = true)]
private static extern int GetWindowLong(IntPtr hWnd, int nIndex);
[DllImport("User32.Dll", CharSet = CharSet.Auto, SetLastError = true)]
private static extern int SetLayeredWindowAttributes(IntPtr Handle, int crKey, byte bAlpha, int dwFlags);
[DllImport("User32.Dll", CharSet = CharSet.Auto, SetLastError = true)]
private static extern IntPtr FindWindow(String sClassName, String sAppName);

const int WS_EX_LAYERED = 0x80000;
const int LWA_ALPHA = 0x2;
const int GWL_EXSTYLE = -20;

void SetScreenKeyboardOpacity(int opacity)
{
if(opacity<0||opacity>100)return;
IntPtr Handle=FindWindow("IPTip_Main_Window", null);
if (Handle != IntPtr.Zero)
{
SetWindowLong(Handle, GWL_EXSTYLE, (GetWindowLong(Handle, GWL_EXSTYLE) | WS_EX_LAYERED));
SetLayeredWindowAttributes(Handle, 0, (byte)(255*(opacity)/100), LWA_ALPHA);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  win8-触摸键盘