Test Foro de elhacker.net SMF 2.1

Programación => Programación General => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: 70N1 en 6 Noviembre 2011, 23:51 PM

Título: Como puedo saber si un nombre de proceso o un handled es el foco,ventana activa
Publicado por: 70N1 en 6 Noviembre 2011, 23:51 PM
No encuentro informacion al respecto. quiero saber algo asi:



if process.processname = focus then


end if



Sabeis como seria?
Título: Re: Como puedo saber si un nombre de proceso o un handled es el foco,ventana activa
Publicado por: Novlucker en 9 Noviembre 2011, 04:09 AM
Yo diría que es al revés, primero encontramos la ventana activa, luego el id de proceso, y por último el nombre de la aplicación para ese id :P ... algo así;
Código (csharp) [Seleccionar]
    class Program
    {
        static void Main(string[] args)
        {
            uint pid = 0;
            System.Threading.Thread.Sleep(5000); //solo para darte 5 segundos a poner el foco en otra ventana ;)
            uint i = Importados.GetWindowThreadProcessId(Importados.GetForegroundWindow(), out pid);
            System.Diagnostics.Process p = System.Diagnostics.Process.GetProcessById(Convert.ToInt32(pid));
            Console.WriteLine(p.ProcessName);
            Console.Read();
        }
    }
    public class Importados
    {
        [DllImport("user32.dll")]
        public static extern IntPtr GetForegroundWindow();

        [DllImport("user32.dll")]
        public static extern uint GetWindowThreadProcessId(IntPtr hWnd, out uint lpdwProcessId);
    }


Saludos


Título: Re: Como puedo saber si un nombre de proceso o un handled es el foco,ventana activa
Publicado por: rosado78 en 14 Marzo 2012, 12:37 PM
Es muy interesante lo que dices.... justamente estoy buscando hacer eso pero en JAVA. ¿No tendrás idea no? Gracias.