자동 설치 프로그램을 작성해야합니다. 시작하는 프로그램 일 뿐이며 사용자가 아무 것도 건드리지 않고 설치 마법사를 통해 스스로 진행해야합니다.FindWindowEx가 내 버튼을 모두 찾지 않는 이유는 무엇입니까?
지금 제가하고있는 프로그램을 Cygwin이라고합니다. 그리고 내가하고 싶은 일은 설치가 끝날 때까지 "다음"버튼을 계속 클릭하는 것입니다. 나는 VBS를 사용할 수 있고 C#을 사용할 수 있다는 것을 알고 있으며 그것은 나를 위해 삶을 좀 더 쉽게 만들어 줄 것입니다. 그러나 나는 다른 프로그램에서 어떻게 작동하는지 예제를 가지고 있으며 C++에서 Cygwin을 위해이 프로그램을 적용하려고합니다.
HWND WINAPI FindWindowEx(
_In_opt_ HWND hwndParent,
_In_opt_ HWND hwndChildAfter,
_In_opt_ LPCTSTR lpszClass,
_In_opt_ LPCTSTR lpszWindow
);
이것은 버튼을 찾기 위해 사용하는 기능이며 다음 단계에서는 클릭해야합니다. 나는 hwndParent에있는 프로그램 창이 있고 잘 작동합니다. hwndChildAfter 및 lpszClass는 "NULL"이고 lpszWindow는 단추의 이름입니다. Button "Abbrechen"(취소 용 독일어)에서 작동합니다. 그러나 그 이름을 "Weiter"(독일어는 Next)로 변경하면 더 이상 작동하지 않습니다. 그는 단지 그것을 발견하지 못한다. "Weiter"가 쓰여지는 방식과 관련이 있다고 생각합니다. 그것의 유일한 단어가 아닙니다. 전체 표현식은 "Weiter>"입니다. 물론 "Abbrechen"과 마찬가지로 lpszWindow에 전체 표현식을 ""둘러 쌉니다. 하지만 내가 말했듯이, 그는 그것을 발견하지 못합니다. 나는 그것을 작성하는 모든 변형을 시도했지만 작동하지 않습니다.
">"또는 ""(공백)이 문제인지 알기 때문에 누구든지 그 문제로 읽을 수 없습니다. 만약 그렇다면, 거기에 몇 가지 방법이 있습니까? 또는 마우스 클릭 설정 위치를 프로그램에 알리는 데 사용할 수있는 유사한 ID 또는 유사한 ID를 가져올 수 있습니까?
제가 말했듯이, C++은 실제로이 작업을위한 최상의 언어는 아니지만 결국에는 다른 것으로 바꿀 것입니다. 하지만 "Abbrechen"에서 왜 작동하는지, "Weiter>"에서는 효과가없는 이유를 알고 싶습니다.
누군가가 해결책을 가지고 있다면 매우 감사 할 것입니다. 감사!
spy ++를 사용하여 정확한 텍스트를 얻은 다음 핸들을 찾기 위해 사용하십시오. – JosephH