對於我們的軟件測試,我們有一個測試,讓我們檢查某些窗口是否打開使用FindWindowByClassNameAndRegex P/Invoke調用。我們得到的問題是當我們打開超過一定數量的特殊字符的窗口時,我們總是將IntPtr.Zero作爲返回值。有沒有任何已知的問題呢?下面是一些我們使用查找窗口的代碼(在這種情況下,它是一個Firefox窗口) Regex windowTitleRegex = new Regex(Regex.Escape(fullWindowTitle).Replace("\?", "."), RegexOptions.IgnoreCase | RegexOptions.ECMAScript); curWindowHandle = NativeMethods.FindWindowByClassNameAndRegex("MozillaUIWindowClass", windowTitleRegex);
FindWindowByClassNameAndRegex問題與特殊字符
凡窗口的標題是~`[email protected]#$%^&*()_-+={[}]|:;'<,>.?/\"àëÉùÙâÏûâÏûÊÛçîÀË«éïÂλœÇÔêôÈŒ\
(有沒有實際的行打破它只是一個格式化的東西)
什麼是FindWindowByClassNameAndRegex? – Tergiver 2011-01-24 17:00:32
@Tergiver:這是Windows中的本地函數調用,它將窗口句柄返回到與Window類名稱和給定正則表達式匹配的窗口。 – 2011-01-24 17:02:52