Некоторое время назад я задал здесь вопрос о том, как запустить приложение как поток в пространстве памяти другого приложения, а не как новый процесс: Выполнение программы как потока, а не как процесса
В продолжение этого вопроса, я думаю, у меня есть теория о том, как я могу сделать это, чтобы понять, что я пытаюсь сделать. Прежде всего, позвольте мне сказать, причина, по которой я это делаю, заключается в том, что я пытаюсь создать приложение тестового стенда, которое может «тестировать» другие приложения, но контролировать их, чтобы, если они получают исключение, мое приложение тестового стенда могло завершить поток и восстановите его автоматически.
Моя теория о том, как это сделать, состоит в том, чтобы создать интерфейс, называемый, например, ITestBed, и сделать так, чтобы основной класс в моем приложении реализовывал это. Реализация будет содержать один метод, например, TestApp (). Все, что мне нужно сделать из моего тестового приложения, это вызвать этот метод, и этот метод на стороне приложения может просто отражать конструктор моего текущего объекта? Будет ли это работать?
По сути, я пытаюсь изобразить, как работает Visual Studio. Если вы установили точку останова в своей программе, нажмите, чтобы запустить приложение в Visual Studio, ваше приложение работает как дочерний элемент приложения Visual Studio. Чтобы проверить это, вы можете закрыть приложение Visual Studio, и ваше приложение также будет завершено. Как я могу достичь этого?