Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > .NET для новичков > Эмуляция нажатия клавиши


Автор: Crimp 4.3.2008, 16:15
Код

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 ввроде как не подходит, так как там нет кода нанной клавиши, и комбинаций таких тоже нет :( 

Автор: Fish 6.3.2008, 08:54
SHIFT+F10. smile 

Автор: Crimp 6.3.2008, 10:30
я не знаю как у тебя, но у меня эта комбинация не работает smile я сделал через API

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)