소프트웨어 테스트에는 FindWindowByClassNameAndRegex P/Invoke 호출을 사용하여 특정 창이 열려 있는지 확인하는 테스트가 있습니다. 우리가 얻을 수있는 문제는 특정 숫자 이상의 특수 문자로 창이 열리면 항상 IntPtr.Zero를 반환합니다. 이 문제와 관련하여 알려진 문제가 있습니까? 여기에 우리가 창을 찾기 위해 사용하는 코드의 일부입니다 : 윈도우의 제목이 ~`[email protected]#$%^&*()_-+={[}]|:;'<,>.?/\"àëÉùÙâÏûâÏûÊÛçîÀË«éïÂλœÇÔêôÈŒ\
인 경우 Regex windowTitleRegex = new Regex(Regex.Escape(fullWindowTitle).Replace("\?", "."), RegexOptions.IgnoreCase | RegexOptions.ECMAScript); curWindowHandle = NativeMethods.FindWindowByClassNameAndRegex("MozillaUIWindowClass", windowTitleRegex);
FindWindowByClassNameAndRegex 문제 (특수 문자 포함)
(는 파이어 폭스 윈도우의이 경우)
(실제 라인 그냥 형식 일이 깰있다)
'FindWindowByClassNameAndRegex' 란 무엇입니까? – Tergiver
@Tergiver : Windows의 네이티브 함수 호출로 Window 클래스 이름과 주어진 정규식과 일치하는 창 핸들을 반환합니다. –
인코딩 문제가있을 수 있습니다. –