Получить текст из определенного элемента управления в другом окне - PullRequest
0 голосов
/ 18 апреля 2019

Я очень стараюсь понять, как получить текст из элемента управления в окне другого приложения.Короче говоря, я пытаюсь автоматизировать процесс проверки, запущено ли другое приложение, а затем, если оно найдено, получение текста из того, что я считаю, является одним из первых элементов управления в окне.

не отображаются какие-либо дочерние окна в приложении.Я не могу найти какие-либо дочерние элементы управления с помощью Spy ++.

Я могу получить заголовок окна и дескриптор приложения, используя

 IntPtr handle = FindWindow(null, "Zuercher Mobile");

Кажется, я не могу найти способ перебрать дочерние элементы управления и получить их текст.Примеры, как правило, показывают, как получить текст из Блокнота, но вы знаете, что имя элемента управления - «РЕДАКТИРОВАТЬ».Я не знаю имя элемента управления, в котором есть текст, который я пытаюсь получить.

В качестве примера я попытался

   private void GetAllText(IntPtr handle)
        {

            IntPtr Handle = Marshal.AllocHGlobal(100);
            IntPtr ChildHandle = IntPtr.Zero;
            int NumText = (int)SendMessage(handle, WM_GETTEXT, (IntPtr)50, Handle);


            // Loop through all the textboxes that are children of Hwnd.
            int childNo = 0;
            while ((ChildHandle = FindWindowEx(handle, ChildHandle, "Zuercher Mobile", "")) != IntPtr.Zero)
            {
                IntPtr Hndl = Marshal.AllocHGlobal(200);

                NumText = (int)SendMessage(ChildHandle, WM_GETTEXT, (IntPtr)200, Hndl);
                Text = Marshal.PtrToStringUni(Hndl);
                textBox1.Text += "(Child Number " + childNo + ") " + Text + Environment.NewLine;
                Marshal.FreeHGlobal(Hndl);

                childNo++;
            }
        }

, который показывает только 0 дочерних элементов управления.

Как это можно сделать?Я пытался. Проблемы с получением текста из элемента управления в другом окне и Не удается получить текст из другого приложения (окна)

без успеха.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...