Implemented by C++, using WinAPI