Даже после остановки тем на моем Win7, я не могу автоматизировать калькулятор через это приложение. Тем не менее я получаю ручку дочерних кнопок как ноль.

ужно обработать другое приложение Windows программно, поиск в Google, я нашел образец, который обрабатывает Windows калькулятор с помощью атрибута DLLImport и импортировать функции user32.dll в управляемые функции в C #.

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

Я попытался использовать SetLastError = True для DLLImport и обнаружил, что я получаю код ошибки 127 «Процедура не найдена».

Это ссылка, откуда я взял пример приложения:

http://www.codeproject.com/script/Articles/ArticleVersion.aspx?aid=14519&av=34503

Пожалуйста, помогите, если кто-нибудь знает, как это решить.

ОБНОВЛЕНИЕ: DLLImport является:

[DllImport("user32.dll", SetLastError = true)]
        public static extern IntPtr FindWindowEx(IntPtr parentHandle, IntPtr childAfter, string className,  string  windowTitle);

Код, который не работает:

hwnd=FindWindow(null,"Calculator"); // This is working, I am getting handle of Calculator

// The following is not working, I am getting hwndChild=0 and err = 127
hwndChild = FindWindowEx((IntPtr)hwnd,IntPtr.Zero,"Button","1");

                Int32 err = Marshal.GetLastWin32Error();

Ответы на вопрос(3)

Ваш ответ на вопрос