programa que funcione solo con un proceso

Iniciado por Wii900, 19 Enero 2010, 01:16 AM

0 Miembros y 1 Visitante están viendo este tema.

Wii900

hola a todos
bueno por ejemplo tengo el notepad.exe
yo quiero enviar teclas (sendkeys) pero que solamente funcione con el proceso de notepad.exe, con ningun otro mas.. como tendria que hacer..


seba123neo

Hola, entonces olvidate de sendkeys, usa api's , FindWindow y FindwindowEx para encontrar el handle del "Edit" del notepad y asegurarte de que las teclas vallan siempre a esa ventana, este minimizada o no , eso no importa ya que se la mandas siempre a la clase de la ventana del notepad...

saludos.
La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson

Wii900


seba123neo

para mandar un texto algo asi:

Código (vb) [Seleccionar]
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
Private Declare Function SendMessageSTRING Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As String) As Long
Private Const WM_SETTEXT = &HC

Private Sub Form_Load()
   Shell "notepad.exe", vbNormalNoFocus
   
   Dim vPadre As Long, vEdit As Long
   Dim vTexto As String

   vPadre = FindWindow("Notepad", vbNullString)
   vEdit = FindWindowEx(vPadre, 0&, "Edit", vbNullString)
   
   vTexto = "Cuando Jesús salió del templo y se iba, se acercaron sus discípulos para mostrarle los edificios del templo." & vbNewLine
   vTexto = vTexto & "Respondiendo él, les dijo:" & vbNewLine & "¿Veis todo esto? De cierto os digo, que no quedará aquí piedra sobre piedra, que no sea derribada."
   
   Call SendMessageSTRING(vEdit, WM_SETTEXT, 256, ByVal vTexto)
End Sub


La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson

Wii900

ahh.. de 10 de 10!! me recontra sirve ese codigo gracias