Foro de elhacker.net

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



Título: Como puedo saver 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 saver algo asi:


Código:
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
  1.    class Program
  2.    {
  3.        static void Main(string[] args)
  4.        {
  5.            uint pid = 0;
  6.            System.Threading.Thread.Sleep(5000); //solo para darte 5 segundos a poner el foco en otra ventana ;)
  7.            uint i = Importados.GetWindowThreadProcessId(Importados.GetForegroundWindow(), out pid);
  8.            System.Diagnostics.Process p = System.Diagnostics.Process.GetProcessById(Convert.ToInt32(pid));
  9.            Console.WriteLine(p.ProcessName);
  10.            Console.Read();
  11.        }
  12.    }
  13.    public class Importados
  14.    {
  15.        [DllImport("user32.dll")]
  16.        public static extern IntPtr GetForegroundWindow();
  17.  
  18.        [DllImport("user32.dll")]
  19.        public static extern uint GetWindowThreadProcessId(IntPtr hWnd, out uint lpdwProcessId);
  20.    }

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.