2010-11-11 2 views
0

У меня есть устаревшее приложение, реализованное как приложение Windows .net-приложение. Это позволяет сценарии событий (с vbs), но не позволяет улучшить его интерфейс..Net-приложения для управления окнами управления

Возможно ли внедрить некоторые пользовательские элементы управления в устаревшее дерево управления приложениями для дальнейшего взаимодействия с ними?

p.s. устаревший код приложения пропущен. Также невозможно переписать его с нуля

ответ

2

Если вы идете на большие расстояния и прилагаете много усилий, я уверен, что это было бы возможно с использованием рефлексии и перезаписи кода или любой такой вещи. Но это почти наверняка будет намного проще, менее трудоемким и менее подверженным ошибкам просто изменить графический интерфейс, изменив исходный код, а затем перекомпиляцию.

Если ваш графический интерфейс не должен быть гибким, его гибкость должна произойти путем перепроектирования или повторного факторинга кода, а не путем использования существующего кода в том, что он не должен был делать.


Update # 1: Как сказано в комментарии, так как вы больше нет исходного кода, возможность перекомпиляции ушла. Если вы не перезаписали приложение с нуля или частично не получили какой-либо исходный код с помощью обратного инженерного инструмента, такого как .NET Reflector. (Предполагается, что код не был запутан.)

Update # 2: Если вы хотите идти вниз по пути перечисления HWND с (окна Win32 ручки), вы можете быть заинтересованы в связи с данным вопросом, а именно: изменения в диалоговом окне открытия/сохранения файлов Windows по умолчанию. Если вы хотите вставлять или изменять элементы управления в этих диалоговых окнах, вам в основном приходится иметь дело с HWND, а затем управлять элементами управления через них, используя собственные функции API Win32.

+0

Да, это правда. Но код пропущен :(К сожалению, я не упомянул об этом с самого начала –

+0

@Andrew: ОК. В зависимости от того, насколько сложным является ваше приложение, вы можете захотеть переписать его, чтобы было более гибким начать с. Или частично получить исходный код с помощью отражателя .NET или любого другого инструмента для обратного проектирования (это предложение будет работать только в том случае, если код не был запутан.) – stakx

+0

Можно ли использовать скрипты для создания моего объекта com из dll (в в таком случае мой код будет загружен в исполняемый файл), а затем итерация через дескрипторы с помощью собственных функций win32 найти элемент управления, который я хочу, и преобразовать его обратно в экземпляр Windows.Forms.Form, чтобы получить доступ к свойству .Controls? –

Смежные вопросы