CLR: .Net / Mono / Boo / Otros CLR > C#
APIS con C#
Jeysscarr:
Hola, me intrigó tu duda, asi que estuve buscando en algunos articulos y lleve a cabo una prueba---
lo unico que hice fue con la funcion que escribi hace un rato determinar el nombre de la ventana WindowName y pasarselo a la funcion que tu ya usas, FindWindow pero asi:
IntPtr hWnd = FindWindow(null, windowName);
de ahi me dio resultado y me queda lista para trabajar con SendMessage
cob1979:
--- Cita de: "Jeysscarr" ---lo unico que hice fue con la funcion que escribi hace un rato determinar el nombre de la ventana WindowName y pasarselo a la funcion que tu ya usas, FindWindow pero asi:
IntPtr hWnd = FindWindow(null, windowName);
de ahi me dio resultado y me queda lista para trabajar con SendMessage
--- Fin de la cita ---
Sí a mí me trabaja bien desde otra aplicación que no sea un servicio de windows. Me trabaja de maravilla como expuse cuando abrí el tema. Pero la cosa es cuando trato de hacerlo desde un servicio windows. No devuelve el hWnd. Cuando depuro me da cero.
Debe ser que los servicios necesitan algo más, estuve leyendo en la ayuda de Visual Studio, algo como que los servicios trabaja con un escritorio y estación de trabajo diferentes a la del usuario. Pero no estoy muy seguro si ahí está la cosa ahora sigo profundizando en el tema. Gracias de todas formas. Si quieres pudes echar una ojeada a la ayuda windows en el tema: Introducción a las aplicaciones de servicios de Windows
cob1979:
--- Cita de: "cob1979" ---estuve leyendo en la ayuda de Visual Studio, algo como que los servicios trabaja con un escritorio y estación de trabajo diferentes a la del usuario.
--- Fin de la cita ---
Estaba aquí el asunto amigo... Y la solución era tan fácil como ir a la herramienta "Administración de Equipo", en Servicio, buscar las propiedades del servicio (clic derecho sobre el servicio ->propiedades), en la pestaña Iniciar seccion, Selecionar "Cuenta del sistema local" y "Permitir a los servicios interactuar con el escritorio" y ya está.
Que facil ahora... :beer: :beer:
Jeysscarr:
si??.. guardado tu experiencia en mis notas utiles :good:
cob1979:
--- Cita de: "cob1979" ---estuve leyendo en la ayuda de Visual Studio, algo como que los servicios trabaja con un escritorio y estación de trabajo diferentes a la del usuario.
--- Fin de la cita ---
Estaba aquí el asunto amigo... Y la solución era tan fácil como ir a la herramienta "Administración de Equipo", en Servicio, buscar las propiedades del servicio (clic derecho sobre el servicio ->propiedades), en la pestaña Iniciar seccion, Selecionar "Cuenta del sistema local" y "Permitir a los servicios interactuar con el escritorio" y ya está.
Que facil ahora... :beer: :beer:
Navegación
[*] Página Anterior
Ir a la versión completa