Как написать эмулятор ПО?
Ну во-первых эмулируют не ПО, а железо, на котором это ПО запускается.
Делают это при помощи реверс-инжиниринга.

А то что вы описываете - это просто разработка нового ПО, которое визуально повторяет оригинал.
Разрабатывают его как обычно. (в том числе и так, как вы описываете, только скрины нужны будут разработчику, чтобы сверстать что-то похожее)
Если это open source, то изучайте исходники. Если это windows forms,  то через windows api можно посмотреть все элементы интерфейса и как они упакованы.