Ejemplo n.º 1
0
        public static bool Enter(string login, string pass)
        {
            IntPtr hLoginWnd;

            hLoginWnd = WinowsFind.FindWindow("#32770", "Идентификация пользователя");

            if (hLoginWnd == IntPtr.Zero)
            {
                hLoginWnd = WinowsFind.FindWindow("#32770", "User identification");
            }

            if (hLoginWnd == IntPtr.Zero)
            {
                return(false);
            }

            if (hLoginWnd != IntPtr.Zero)
            {
                IntPtr nBtnOk = FindWindowByIndex(hLoginWnd, 1, "Button");
                IntPtr hLogin = FindWindowByIndex(hLoginWnd, 1, "Edit");
                IntPtr nPassw = FindWindowByIndex(hLoginWnd, 2, "Edit");

                setWindowText(hLogin, login);
                setWindowText(nPassw, pass);
                WinowsFind.SetFocus(nBtnOk);
                WinowsFind.PostMessage(nBtnOk, BM_CLICK, new IntPtr(0), new IntPtr(0));
            }

            return(true);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Отправить текст в окно с данными пользователя
        /// </summary>
        /// <param name="hWnd"></param>
        /// <param name="text"></param>
        private static void setWindowText(IntPtr hWnd, string text)
        {
            try
            {
                WinowsFind.SetFocus(hWnd);
                WinowsFind.SendMessage(hWnd, WM_SETTEXT, IntPtr.Zero, null);

                foreach (char c in text)
                {
                    Thread.Sleep(50);
                    IntPtr val = new IntPtr((Int32)c);
                    WinowsFind.PostMessage(hWnd, WM_CHAR, val, new IntPtr(0));
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
Ejemplo n.º 3
0
 /// <summary>
 /// Найти дискриптор окна по индексу
 /// </summary>
 /// <param name="hWndParent"></param>
 /// <param name="index"></param>
 /// <param name="type"></param>
 /// <returns></returns>
 private static IntPtr FindWindowByIndex(IntPtr hWndParent, int index, string type)
 {
     if (index == 0)
     {
         return(hWndParent);
     }
     else
     {
         int    ct     = 0;
         IntPtr result = IntPtr.Zero;
         do
         {
             result = WinowsFind.FindWindowEx(hWndParent, result, type, null);
             if (result != IntPtr.Zero)
             {
                 ++ct;
             }
         }while (ct < index && result != IntPtr.Zero);
         return(result);
     }
 }