Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Dessa

#181


Private Sub Command1_Click()

Dim linea As String
Dim PathArchivo As String
PathArchivo = "C:\Archivo.txt"

Open PathArchivo For Input As #1
   While Not EOF(1)
     Line Input #1, linea
     Dim linea2() As String
     linea2() = Split(linea, " ")
     Text1.Text = Text1.Text & "<a href=""" & linea2(1) & """ target=""_blank""><img class=""alignnone"" src=""" & linea2(0) & """ alt="" width=""120"" height=""90"" /></a>" & vbCrLf
   Wend
Close #1

End Sub




#182
Exactamente a eso iva (OrderZA) o sea que el primer Handle que aparece es el del ultimo textbox que se agregó al programar, pero lo mejor era que entiendas ese ordenamiento por vos mismo al listarlo con EnumChildWindows (ahora lo dije bien  :xD), eso te serviría para cuando tengas que modificar aplicaciones con Hwdl de controles no tan dirictos como este.

:D
#183
olve, crea un proyecto nuevo con este code (solo con un button) , debes  cambiar  "Alberto Olvera" por el titulo de la aplicacion externa y decime si se modifica algun textbox de ella .





Option Explicit

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 SendMessage Lib "user32.dll" Alias "SendMessageA" (ByVal hwnd As Long, ByVal Msg As Long, wParam As Any, lParam As Any) As Long
Private Const WM_SETTEXT = &HC
Private Const WM_GETTEXT = &HD

Private Sub Command1_Click()

Dim Hwndl As Long
Dim hwT1 As Long
Dim hwT2 As Long
Dim hwT3 As Long
Dim hwT4 As Long


 Hwndl = FindWindow(vbNullString, "Alberto Olvera")

 hwT1 = FindWindowEx(Hwndl, 0, "ThunderRT6TextBox", vbNullString)

 Call SendMessage(hwT1, WM_SETTEXT, 0, ByVal "Mensaje1")


End Sub



#184


Option Explicit

Private Sub Command1_Click()
Shell (Text1), vbNormalFocus
End Sub

Private Sub Form_Load()
Text1 = "calc"
End Sub


#185
Cita de: the_chaoz en 13 Octubre 2009, 02:51 AM

porque en el evento load del form no se llama a la funcion Leer_Ini, mientras que en el evento Unload del form si se lo hace?

gracias

Private Sub Form_Load()  

   'Path del fichero Ini  
   Path_Archivo_Ini = App.Path & "\config.ini"  

   ' Lee las Key y  Les envia el valor por defecto por si no existe  
   m_Left = Leer_Ini(Path_Archivo_Ini, "Left", 0)  
   m_Top = Leer_Ini(Path_Archivo_Ini, "Top", 0)  
   m_Width = Leer_Ini(Path_Archivo_Ini, "Width", 5000)  
   m_Height = Leer_Ini(Path_Archivo_Ini, "Height", 5000)  

   'Posiciona el formulario con los valores del archivo Ini  
   Move m_Left, m_Top, m_Width, m_Height  

End Sub  

Estas llamando 4 veces a la funcion leer_ini cuyo resultado es : Leer_Ini = Left$(bufer, Len_Value)


PD: Hay que leer_ini  mas   ;)  (va con onda)



#186
Cita de: LeandroA en 12 Octubre 2009, 06:56 AM
Hola a que te referis con el ID del objecto, que es lo que queres hacer,  si buscas el hwnd tambien tenes el api Findwindow y FindWindowEx.

cualquier cosa explica un poco mas detallado lo que andas buscando.

Saludos.-

Hola Leandro: Quiere modificar 4 texbox en una aplicación externa, sin ver como se progamó la ventana seria adivinar, hasta donde pude entender (Y para que evitar el WindowName) creo que lo mejor en su caso seria recorrer los controles con GetWindow  (GW_CHILD y GW_HWNDNEXT) e ir enviando el SendMessage (WM_SETTEXT).
Pero te repito sin ver como se programó la aplicación externa seria adivinar si conviene llegar con FindWindowEx o con GetWindow  


Cita de: seba123neo en 12 Octubre 2009, 04:45 AM
Hola, que yo sepa esa api no existe la que existe se llama EnumChildWindows y la funcion que la implementa se llama EnumChildProc...bajate el api-guide ahi hay un ejempo simple y basico de como se usa..

Seba, el error fue mio.  :silbar:



Cita de: olve en 12 Octubre 2009, 04:17 AM
Alguien puede orientarme de como funciona  de la API Enumchildproc para vb 6.0
Saludos y Gracias.

http://foro.elhacker.net/programacion_vb/listar_nombre_de_ventana_de_los_procesos_no_lo_consigo-t248082.0.html;msg1195299;topicseen#msg1195299









#187
Depende de como se programó el ejecutable, yo uso generalmente APISPY pero a veces llegar a un control es muy "enredado". Prueba con SPY++ y de acuerdo a los datos que obtengas vas sacando concluciones si podes llegar por nombre de clase , por nombre de contol, por ambos,  por "order" en el formulario con GetWindow, etc , etc
Tambien seria bueno que busques ejemplos y aprendas a manejar EnumChildProc


PD: Prueba con SPY++ y saca concluciones, si es un Form simple debería ser facil entrarle (dije debería, te repito que a veces no lo es)

S2


EDIT: Si buscas en el foro hay un buen ejemplo de Seba con EnumChildProc



#188
ejemplo 1)  cambias  la propiedad Text del Text1 (en diseño del segundo exe) por  y

En este tambien tenes que cambiar el mensaje del primer exe:
LsTexto1 = FindWindowEx(Hwndl, 0, vbNullString, "y") ' contenido strng de Text1 en el exe2




ejemplo 2)  cambias  la propiedad Text del Text1 (en diseño del segundo exe) por  "y"

En este otro tambien tenes que cambiar el mensaje del primer exe:
LsTexto1 = FindWindowEx(Hwndl, 0, vbNullString, """y""") ' contenido strng de Text1 en el exe2






#189
A ver, a mi igual que a Seba, los mensajes me llegan en todos los casos y no me tira ningun error.

Olve, si lo que queres (creo) es borrar el contenido de los 3 Text del segundo ejecutable cuando este se inicia:

Deja (en diseño del segundo ejecutable) la propiedad Text tal cual, "Text1" "Text2"  y "Text3" (para que lleguen los mensajes), luego en en load (tambien del del segundo Ejecutable) agregas estas tres lineas:

Text1.Text = ""
Text2.Text = ""
Text3.Text = ""

Nota: en el primer ejecutable no cambias nada, los mensajes siguen siendo para "text1" "Text2" y "text3"


Era eso ???

#190
Seleccionando la ruta con doble click y tecla suprimir ?