Announcement

Collapse
No announcement yet.

[THẮC MẮC] Gửi ký tự có dấu (tiếng Việt) bằng Postmessage

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • [C#] [THẮC MẮC] Gửi ký tự có dấu (tiếng Việt) bằng Postmessage

    Chào mọi người, hiện tại mình viết 1 chương trình nhỏ để gửi text vào game LOL, mình đã gửi được các ký tự không dấu còn các ký tự có dấu thì mình không gửi được.
    Theo mình tìm hiểu thì các ký tự có dấu của Tiếng Việt nằm trong bảng mã VISCII nhưng .Net không hỗ trợ bảng mã này. Mong mn giúp đỡ. Cám ơn mn.
    Đây là đoạn code mình viết
    Code:
     
            [DllImport("user32.dll")]
            private static extern bool PostMessage(IntPtr hWnd, UInt32 Msg, Int32 wParam, IntPtr lParam);
            private void send_mess()
            {
                IntPtr Window = FindWindow("League of Legends (TM) Client", null);
                IntPtr Class = FindWindowEx(Window, IntPtr.Zero, "RiotWindowClass", null);
    
                
                List<string> str= new List<string> {};
    
                string line;
                StreamReader sr = File.OpenText(@"text.txt");
    
                while ((line = sr.ReadLine()) != null)
                {
                    str.Add(line);
                }
    
                while (true)
                {
                    foreach (string a in str)
                    {
                        PostMessage(Class, WM_KEYDOWN, (int)Keys.Enter, IntPtr.Zero);
                        Thread.Sleep(500);
                        for (int i = 0; i < str.Length; i++)
                        { 
                            PostMessage(Class, WM_CHAR, Convert.ToInt32(a[i]), IntPtr.Zero); 
                            Thread.Sleep(1);
                        }
                        PostMessage(Class, WM_KEYDOWN, (int)Keys.Enter, IntPtr.Zero);
                        Thread.Sleep(500);
                    }       
                }
            }

LHQC

Collapse
Working...
X