public static void Main(string[] args)
        {
            string testChars = "Aéש";
            Keys   key;

            foreach (var culture in (new string[] { "he-IL", "en-US", "en-IE" }).Select(code => CultureInfo.GetCultureInfo(code)))
            {
                Console.WriteLine(culture.Name);
                using (var keyboard = new KeyboardPointer(culture))
                    foreach (char test in testChars)
                    {
                        Console.Write(test);
                        Console.Write('\t');
                        if (keyboard.GetKey(test, out key))
                        {
                            Console.WriteLine(DescribeKey(key));
                        }
                        else
                        {
                            Console.WriteLine("No Key");
                        }
                    }
            }
            Console.Read();//Stop window closing
        }
Пример #2
0
        public static uint SendMessage(string message)
        {
            List <Input> list = new List <Input>();

            using (var keyboard = new KeyboardPointer(CultureInfo.CurrentCulture))
            {
                foreach (var c in message)
                {
                    var   vkc = (uint)keyboard.GetVirtualKeyValue(c);
                    var   sc  = MapVirtualKey(vkc, 0x00);
                    Input msg = new Input();
                    msg.Type = InputType.Keyboard;
                    msg.Data.Keyboard.dwFlags = KeyEventFlags.ScanCode;
                    msg.Data.Keyboard.wScan   = (ScanCode)sc;
                    list.Add(msg);
                }
            }

            //if (list.Count > 0)
            //{
            //    Input enter = new Input();
            //    enter.Type = InputType.Keyboard;
            //    enter.Data.Keyboard.dwFlags = KeyEventFlags.Unicode;
            //    enter.Data.Keyboard.wVk = VirtualKeyCode.RETURN;
            //    enter.Data.Keyboard.time = 0;
            //    list.Add(enter);
            //}

            return(SendInput(list.Count, list.ToArray(), Input.Size));
        }