Beberapa waktu lalu saya ingin membuat aplikasi desktop namun yang juga dapat berjalan di console. Jadi, ketika memanggil file executable aplikasi tersebut tanpa argumen maka akan menjalankan versi GUI dari aplikasi tersebut, namun bila memanggil file executable aplikasi tersebut dengan argumen maka akan menjalankan versi Console dari aplikasi tersebut (atau versi GUI namun dengan form yang berbeda dengan form utama, tergantung dari argumen dan parameter yang diberikan).