writing software for windows