Obtener una lista de ventanas abiertas en .Net Framework en Windows fue relativamente fácil . ¿Cómo puedo hacer lo mismo en .Net Core/.Net 5 o posterior en macOS?
Para aclarar, estoy buscando una forma de recuperar una lista de todas las ventanas abiertas propiedad de cualquier aplicación/proceso en ejecución. No tengo mucha experiencia en el desarrollo de macOS, soy un desarrollador de Windows, pero he intentado usar NSApplication como lo sugiere esta respuesta .
Creé una aplicación de consola .Net 6.0 en VS2022 en macOS Monterey (12.2), agregué una referencia a Xamarin.Mac y libxammac.dylib como se describe aquí , que describe hacer esto en Xamarin en lugar de .Net, pero no veo ninguna otra opción para crear una aplicación de consola. Con el código sencillo:
static void Main(string[] args) { NSApplication.Init(); }obtengo la salida
Xamarin.Mac: error de dlopen: dlsym (RTLD_DEFAULT, mono_get_runtime_build_info): símbolo no encontrado
No tengo idea de lo que esto significa. Ni siquiera estoy seguro de que este enfoque tenga algún mérito.
¿Alguien sabe si es posible usar NSApplication desde una aplicación .Net Core/6.0 y, de ser así, si NSApplication me permitirá leer una lista de ventanas abiertas de todo el sistema? Si no, ¿hay otra manera de lograr esto?
Esto es solo para mi propio uso interno, no necesita ser portátil o estable de ninguna manera fuera de mi propio entorno.