none
win10 环境下 sendmessgae 无法发送顶级消息使注册表立即生效 RRS feed

  • 问题

  • 这是一个 快捷关闭 触摸板的 程序 

         RegistryKey hkcu = Registry.CurrentUser;
                RegistryKey cu = hkcu.CreateSubKey(@"Software\Microsoft\Windows\CurrentVersion\PrecisionTouchPad");
                cu.SetValue("LeaveOnWithMouse",0x00);
                cu.Close();
                hkcu.Close();
                IntPtr result1;
                SendMessageTimeout(
                new IntPtr(HWND_BROADCAST),
                WM_SETTINGCHANGE,
                IntPtr.Zero,
                IntPtr.Zero,
                SendMessageTimeoutFlags.SMTO_NORMAL,
                1000,
                out result1);

                Console.Write(result1);

    在win7 下修正Endabled 注册表信息 可以快速关闭触摸板  

    但在win10下Endabed 是失效的  使用procmon观察 发现加入了LeaveOnWithMouse 项

    有鼠标自动关闭触摸板 项值: 0x00       启动

                                           0xffffffff   关闭

    但是SendMessage返回 0 无法立即生效

    重启可以生效

    应该如何处理 

    2018年8月21日 0:14