| Код | Window window = VisualStudioWraper.Instance.GetDTEWindow("Solution Explorer", true, Application); if (window == null) throw new AdapterOperationException(" Window not find!"); UIHierarchy solutionExplorer = Application.ToolWindows.SolutionExplorer; UIHierarchyItem uiHierarchyItem = VisualStudioWraper.Instance.FindUIHierarchyItem(nameItem, window); if (uiHierarchyItem == null) throw new AdapterOperationException(" Item not find!"); uiHierarchyItem.Select(vsUISelectionType.vsUISelectionTypeSelect);
|
Кто падскажет как эмулируется нажатие на клавиатуре клывиши вызова контекстного меню, аналог правой кнопки мышки. Или как еше можно выкрутится из сложившейся ситуации. На коде выше, я добераюсь до "Solution Explorer", и там мне нужно вызвать контекстное меню, дабы проверить наличие некоторых пунктов. Но снавигировать туда мышку я не могу, так как, я не знаю как получить координаты данного "UIHierarchyItem", так ак это COM объект и к чему нить вразумительному его не прикастить :( и соответственно получить его координаты я не могу. Зато можно его заселектить(как в коде выше). осталось дело за малым, съэмулировать нажатие на клавиатуре клавиши вызова контекстного меню-- но как :( SendKey.SendWait ввроде как не подходит, так как там нет кода нанной клавиши, и комбинаций таких тоже нет :( |