Puedes usar el módulo Twain, al crear tu programa si te resulta cómodo usar interfaz gráfica incluso para probarlo , pués lo haces, luego bastará que en ejecución esté siempre invisible, arranca la aplicación desde un módulo con 'sub main' y desde ahí chequea la línea de comando, siempre podrás tener una opción para hacer aparecer un posible formulario o no, eso ya a tu gusto...