objective c - saltarse - Cómo pedir una ventana al frente si no está en la Aplicación en Objective-C
recaptcha evadir (4)
Applescript sería una manera trivialmente fácil de hacer que tu aplicación sea más atractiva. Aunque no hará ninguna animación.
tell application "System Events" to set frontmost of process "My Application" to true
¿Hay alguna manera de hacer un "makeKeyAndOrderToFront" sin estar en la aplicación?
Si estoy en Safari y en la Barra de menú hay un elemento de menú en mi aplicación, después de presionar esto, quiero mostrar una ventana de mi aplicación en el frente (makeKeyAndOrderToFront hace esto solo si estás en la aplicación).
¿De qué manera puedo usar? Y cómo puedo animar esta ventana (como Tweeties Add new Tweet -> atebits.com).
¡Gracias!
Como ha descubierto, cambiar el orden de las ventanas dentro de su aplicación no tiene ningún impacto sobre qué aplicación está activa. Puede poner su aplicación en primer plano activándola:
[NSApp activateIgnoringOtherApps:YES];
Si su aplicación tiene un icono de dock, el comportamiento sería similar al de un usuario al hacer clic en él.
Quizás la mejor manera de lograr lo que desea, si entiendo la pregunta correctamente, es hacer que su aplicación responda a un evento de Apple que le envíe después de que se seleccione su elemento de menú, lo que traerá su aplicación y ventana deseada al frente.
Siempre que su aplicación tenga una conexión con el servidor de SetFrontProcess()
que lo hará si usa AppKit o Carbon), puede usar la función de Servicios Principales SetFrontProcess()
para ponerlo en primer plano. SetFrontProcessWithOptions()
se puede usar para SetFrontProcessWithOptions()
solo la ventana frontal no flotante de su aplicación. Estas funciones parecen estar disponibles para las aplicaciones de 64 bits, pero si tiene como objetivo 10.6+, es mejor que utilice la clase NSRunningApplication
. Algo como
[[[NSRunningApplication
runningApplicationsWithBundleIdentifier:ident] lastObject]
activateWithOptions:0]
debería hacer el truco.