Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Visual Basic 2005. Salvar archivos desde Visual Basic.

Estas en el tema de Visual Basic 2005. Salvar archivos desde Visual Basic. en el foro de Visual Basic clásico en Foros del Web. Yo usé esa misma función que pusiste (Comprobar) y me funciona perfectamente. ¿Qué sucede cuando haces click en los botones?. P.S.: danger_cris , usa SetFocus ...

  #31 (permalink)  
Antiguo 25/08/2008, 06:50
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Exclamación Respuesta: Visual Basic 2005. Salvar archivos desde Visual Basic.

Yo usé esa misma función que pusiste (Comprobar) y me funciona perfectamente. ¿Qué sucede cuando haces click en los botones?.

P.S.: danger_cris, usa SetFocus en vez de ShowWindow.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #32 (permalink)  
Antiguo 25/08/2008, 07:08
Avatar de moradazo  
Fecha de Ingreso: julio-2008
Ubicación: [email protected]
Mensajes: 355
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: Visual Basic 2005. Salvar archivos desde Visual Basic.

Cita:
Iniciado por David el Grande Ver Mensaje
Yo usé esa misma función que pusiste (Comprobar) y me funciona perfectamente. ¿Qué sucede cuando haces click en los botones?.
Gracias David por la respuesta.
Primero en el ejemplo que puse a mi me da error en la parte en rojo:

Private Sub Form_Load()

Command1.Caption = " Internet Explorer "
Command2.Caption = " Microsoft Excel "
Command3.Caption = " Microsoft Outlook "
Command4.Caption = " Visual basic "
Command5.Caption = " Bloc de notas "

Command1.Capture = " Internet Explorer "
Command2.Capture = " Microsoft Outlook "
Command3.Capture = " Microsoft Excel "
Command4.Capture = " Bloc de notas "
Command5.Capture = " Visual basic "

End Sub

Y este es el resultado que me da este codigo:



Como pueden ver, el programa me dice que cualquier aplicacion en ese menu esta activo, o esta abierto, cuando es mentira por que Excel en este caso no esta abierto, ni siquiera algun programa de Office. Sera por que cambie el Caption por el Capture?

gracias
  #33 (permalink)  
Antiguo 25/08/2008, 07:27
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Exclamación Respuesta: Visual Basic 2005. Salvar archivos desde Visual Basic.

Ese código me suena a VB6 .

Bueno, habría que ejecutarlo paso a paso para saber qué está sucediendo, dudo mucho que el problema sea con el Capture ya que no está tomando ese valor en la función Capturar.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #34 (permalink)  
Antiguo 25/08/2008, 07:37
Avatar de moradazo  
Fecha de Ingreso: julio-2008
Ubicación: [email protected]
Mensajes: 355
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: Visual Basic 2005. Salvar archivos desde Visual Basic.

Al ejecutarlo paso a paso, hay una parte donde se supone distingue si la ventana existe o no:

Private Sub Comprobar(ByVal clase As String)

Dim ret As Long

' busca la ventana y retorna el Handle
ret = FindWindow(clase, vbNullString)
TextBox1.Text = ret
'si retorna distinto de 0 es porque la encontró
If ret <> 0 Then
MsgBox("La aplicación está abierta", vbInformation + vbOKOnly)
Else
MsgBox("La aplicación NO está abierta", vbInformation + vbOKOnly)
End If

End Sub

Puse un textbox para saber que numeros estaba dando y estos son los resultados:

Internet: 322288895582013560
Excel: 322851845531762688
Outlook: 323696270461894656
Visual Basic: 137922760064304820
Bloc de Notas: 324259220415315968

Jamas me va dar cero, aunque el programa no se este ejecutando. Pero mi pregunta es si en realidad un programa de estos al estar abierto me daria ese numero tan alto? Gracias
  #35 (permalink)  
Antiguo 25/08/2008, 07:43
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Exclamación Respuesta: Visual Basic 2005. Salvar archivos desde Visual Basic.

El hWnd de la ventana no puede ser un número tan grande .
Es raro, porque yo lo he probado y funciona.

P.S.: ¿Cuál es el valor de vbNullString en VB.NET?
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #36 (permalink)  
Antiguo 25/08/2008, 07:46
Avatar de moradazo  
Fecha de Ingreso: julio-2008
Ubicación: [email protected]
Mensajes: 355
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: Visual Basic 2005. Salvar archivos desde Visual Basic.

Cita:
Iniciado por David el Grande Ver Mensaje
El hWnd de la ventana no puede ser un número tan grande .
Es raro, porque yo lo he probado y funciona.

P.S.: ¿Cuál es el valor de vbNullString en VB.NET?
En este caso es nulo, nada, no devuelve valores, le puse textbox1.text = vbNullString y ningun valor aparece...
  #37 (permalink)  
Antiguo 25/08/2008, 07:48
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Pregunta Respuesta: Visual Basic 2005. Salvar archivos desde Visual Basic.

¿El vbNullString no hay que declararlo?
http://msdn.microsoft.com/es-es/libr...ullstring.aspx
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #38 (permalink)  
Antiguo 25/08/2008, 07:52
Avatar de moradazo  
Fecha de Ingreso: julio-2008
Ubicación: [email protected]
Mensajes: 355
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: Visual Basic 2005. Salvar archivos desde Visual Basic.

No creo por que incluso el .Net pide un valor

Public Const vbNullString As String

(Constants must have a value)
  #39 (permalink)  
Antiguo 25/08/2008, 08:01
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Pregunta Respuesta: Visual Basic 2005. Salvar archivos desde Visual Basic.

Bueno, aquí no tengo VB.NET para probarlo. Pero es muy extraño el comportamiento del FindWindow.

¿Has probado con la aplicación esa que mencionaste al principio?
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #40 (permalink)  
Antiguo 25/08/2008, 08:08
Avatar de moradazo  
Fecha de Ingreso: julio-2008
Ubicación: [email protected]
Mensajes: 355
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: Visual Basic 2005. Salvar archivos desde Visual Basic.

Gracias David, por cierto ahi me disculpan y agradezco su paciencia por estas consultas tan amplias de mi parte, pero es que dependen de mi trabajo! (Estoy de prueba)
He tenido muchos enredos pero gracias a este foro los he solucionado y lo mas importante, he aprendido mucho de verdad.

El codigo que puse al principio es el mismo de estas partes que he puesto en los ultimos post, estaba intentando ver si me funcionaba el del danger_cris, pero me da error en retval = ShowWindow(hinst, SW_MINIMIZE) pero igual lo declare como string y como integer y no me funciona, igual puse tu sugerencia de cambiar a SetFocus y mi visual me dice que SetFocus no esta declarado.

Tengo estas dudas igual investigaré y si se algo lo posteo aca. Gracias!
  #41 (permalink)  
Antiguo 25/08/2008, 08:15
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
De acuerdo Respuesta: Visual Basic 2005. Salvar archivos desde Visual Basic.

SetFocus también es de la API .
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #42 (permalink)  
Antiguo 25/08/2008, 08:24
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
De acuerdo Respuesta: Visual Basic 2005. Salvar archivos desde Visual Basic.

Por cierto, prueba con esto para FindWindow:
Código PHP:
<System.Runtime.InteropServices.DllImport("user32.dll")> _
Private Shared Function FindWindow_
    ByVal lpClassName 
As String_
    ByVal lpWindowName 
As String) As System.IntPtr
End 
Function 
Código PHP:
ret FindWindow("Clase"Nothing
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #43 (permalink)  
Antiguo 25/08/2008, 08:57
Avatar de moradazo  
Fecha de Ingreso: julio-2008
Ubicación: [email protected]
Mensajes: 355
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: Visual Basic 2005. Salvar archivos desde Visual Basic.

Gracias David, ahora el resultado es al contrario, para cualquier boton que ejecuto me dice que la ventana no esta abierta, y ret para cualquier boton siempre me esta dando cero.

Este es el codigo:

Código PHP:
Public Class Form1 

    
Const MSOutlook "OpusApp"
    
Const MSExcel "XLMAIN"
    
Const MSIExplorer "IEFrame"
    
Const MSVBasic "wndclass_desked_gsk"
    
Const NotePad "Notepad.txt"
    
Const MyVBApp "ThunderForm"


    
<System.Runtime.InteropServices.DllImport("user32.dll")> _
Private Shared Function FindWindow_
    ByVal lpClassName 
As String_
    ByVal lpWindowName 
As String) As System.IntPtr
    End 
Function


    Private 
Sub Comprobar(ByVal clase As String)

        
Dim ret As Long
        ret 
FindWindow("Clase"Nothing)
        If 
ret <> 0 Then
            MsgBox
("La aplicación está abierta"vbInformation vbOKOnly)
        Else
            
MsgBox("La aplicación NO está abierta"vbInformation vbOKOnly)
        
End If

    
End Sub

    
Private Sub Form_Load()
        
Button1.Capture " Internet Explorer "
        
Button2.Capture " Microsoft Outlook "
        
Button3.Capture " Microsoft Excel "
        
Button4.Capture " Bloc de notas "
        
Button5.Capture " Visual basic "
    
End Sub

    
Private Sub Button4_Click(ByVal sender As System.ObjectByVal e As System.EventArgsHandles Button4.Click
        Comprobar
(NotePad)
    
End Sub

    
Private Sub Button1_Click(ByVal sender As System.ObjectByVal e As System.EventArgsHandles Button1.Click
        Comprobar
(MSIExplorer)
    
End Sub

    
Private Sub Button3_Click(ByVal sender As System.ObjectByVal e As System.EventArgsHandles Button3.Click
        Comprobar
(MSExcel)
    
End Sub

    
Private Sub Button2_Click(ByVal sender As System.ObjectByVal e As System.EventArgsHandles Button2.Click
        Comprobar
(MSOutlook)
    
End Sub

    
Private Sub Button5_Click(ByVal sender As System.ObjectByVal e As System.EventArgsHandles Button5.Click
        Comprobar
(MSVBasic)
    
End Sub
End 
Class 
Aqui el cambio que hice fue .caption por .capture, donde se esta cargando el form, ya que si dejo caption, el programa me da un error de que Caption no es miembro de Systems.Windows.Forms.Button
  #44 (permalink)  
Antiguo 25/08/2008, 09:06
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
De acuerdo Respuesta: Visual Basic 2005. Salvar archivos desde Visual Basic.

Cambia esto:
Código PHP:
ret FindWindow("Clase"Nothing
Por:
Código PHP:
ret FindWindow(claseNothing


P.S.: Me equivoqué, con SetFocus no funciona . Mejor con SetActiveWindow http://msdn.microsoft.com/en-us/libr...11(VS.85).aspx
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #45 (permalink)  
Antiguo 25/08/2008, 09:22
Avatar de moradazo  
Fecha de Ingreso: julio-2008
Ubicación: [email protected]
Mensajes: 355
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: Visual Basic 2005. Salvar archivos desde Visual Basic.

David mira:

Hace unas semanas me compré este libro:

Visual Basic 2005 de Anaya Multimedia, de Guillermo Guille Som Cerezo me costo 38000 colones, en dólares son $70, y te juro me ha sido más útil el foro y vos que este libro (No digo que el libro sea malo, más bien es muy bueno, eso da más méritos a todo el foro)

Oye David, gracias me ha funcionado, creo que ya identificadas las ventanas podré aplicar lo de salvar en el programa seleccionado.

Ahora mi duda es:

En base a este programa que probamos para ver si identificaba las ventanas, se habían declarado previamente unas constantes que servían para que los botones los llamaran:

Const MSOutlook = "OpusApp"
Const MSExcel = "XLMAIN"
Const MSIExplorer = "IEFrame"
Const MSVBasic = "wndclass_desked_gsk"
Const NotePad = "Notepad"
Const MyVBApp = "ThunderForm"

Esos son programas definidos pero como te mencionaba de un principio tengo un programa que no es ninguno de esos, como hago para declararlo?

Asi es el programa:



Necesito tener el encabezado cierto? pero el encabezado cambia por el numero de caso, solo se mantiene al inicio donde dice Treat3

Gracias.
  #46 (permalink)  
Antiguo 25/08/2008, 09:41
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Visual Basic 2005. Salvar archivos desde Visual Basic.

Como te dije, hay un programa que se llama Spy ++ que te permite saber cuál es la clase de la ventana.

Otra opción que tienes es con FindWindow coloca primeramente el nombre exacto que tienes en la barra de título de esa ventana, después con GetClassName (pasándole el hWnd obtenido) ya sabrás cuál es la clase de la ventana.

P.S.: En este caso debemos usar la clase de la ventana porque como dijiste el título varía.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #47 (permalink)  
Antiguo 25/08/2008, 10:39
Avatar de moradazo  
Fecha de Ingreso: julio-2008
Ubicación: [email protected]
Mensajes: 355
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: Visual Basic 2005. Salvar archivos desde Visual Basic.

Gracias David, dos cosas:

Tienes algún link que me pueda explicar claramente el GetClassName, o sea, para declararlo precisamente en ese código que estoy trabajando.

Y la segunda consulta es: El hWnd que me mencionas es el mismo ret que me diste en el código?

Gracias
  #48 (permalink)  
Antiguo 25/08/2008, 10:45
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
De acuerdo Respuesta: Visual Basic 2005. Salvar archivos desde Visual Basic.

Si descargas el Spy++ te ahorrarás todo ese trabajo .

http://msdn.microsoft.com/en-us/library/ms633582(VS.85).aspx.
http://www.recursosvisualbasic.com.a...ame-parent.htm
El hWnd al que me refiero es el obtenido con el FindWindow.

Explico, lo que necesitamos saber es la clase de la ventana de tu programa, para obtenerlo primero obtendremos su hWnd pasando al FindWindow como parámetro el título completo de la ventana. Después de obtener el hWnd lo pasamos a GetClassName y obtendremos su clase. Cuando ya tengamos la clase ya no necesitaremos saber cuál es el título exacto de la ventana, solo pasaremos el nombre de la clase como parámetro a FindWindow.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #49 (permalink)  
Antiguo 25/08/2008, 11:14
Avatar de moradazo  
Fecha de Ingreso: julio-2008
Ubicación: [email protected]
Mensajes: 355
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: Visual Basic 2005. Salvar archivos desde Visual Basic.

Una pregunta David, el Spy++ me dice como se llaman las ventanas dentro del Sistema Operativo? Ya lo baje se llama "WinIDSetup3-1.exe" supongo que es ese. Ya obtenido el nombre de la ventana entonces la funcion quedaria asi:

ret = findwindow ("Treat3",el nombre que busco)

es asi o ando perdido?
  #50 (permalink)  
Antiguo 25/08/2008, 11:37
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Exclamación Respuesta: Visual Basic 2005. Salvar archivos desde Visual Basic.

El Spy++ te permite obtener la clase de la ventana.

Inicia el Spy++, presiona Ctrl+F, va a abrir una ventana de búsqueda, arrastra el ícono que aparece en el medio sobre la ventana del programa, van a aparecer algunos datos, entre ellas la clase de la ventana, esa clase deberás pasar al FindWindow, así:
Código PHP:
ret FindWindow("Clase_Ventana"Nothing
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #51 (permalink)  
Antiguo 25/08/2008, 11:42
Avatar de moradazo  
Fecha de Ingreso: julio-2008
Ubicación: [email protected]
Mensajes: 355
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: Visual Basic 2005. Salvar archivos desde Visual Basic.

Ok perdona David de verdad tanta preguntadera. Mi computadora tiene derechos de administrador asi que estoy esperando para que me la desbloqueen, es mas facil asi supongo. Cualquier cosa aca te aviso, gracias por el tiempo.
  #52 (permalink)  
Antiguo 25/08/2008, 12:11
Avatar de moradazo  
Fecha de Ingreso: julio-2008
Ubicación: [email protected]
Mensajes: 355
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: Visual Basic 2005. Salvar archivos desde Visual Basic.

Bien David, ya estoy usando el programa pero me parece que es otro al que tu describes, igualmente baje donde me decian Spy ++

Me ha funcionado bien con todas las ventanas, en el sentido de que efectivamente me da los nombres de las clases como el de Internet (IEFrame) el de excel (XLMain), etc. El de mi programa me da un codigo largo (Afx:400000:8:10011:0:3b0a87) y si me funciono, lo malo es que cada vez que abro ese programa, ese nombre de clase cambia los ultimos 6 caracteres, por que sera?

este es el programa que baje:



Gracias!
  #53 (permalink)  
Antiguo 25/08/2008, 12:32
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Exclamación Respuesta: Visual Basic 2005. Salvar archivos desde Visual Basic.

Bueno, no es exactamente ese el programa que yo uso pero por lo visto tiene la misma utilidad.

Es que el ClassName es definido por el programa, así que algunos programas pueden hacer que varíe.

Por ahora no veo otra alternativa que listar todas las ventanas y ver cuál contiene en el título el nombre "Treat3".
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #54 (permalink)  
Antiguo 25/08/2008, 13:24
Avatar de moradazo  
Fecha de Ingreso: julio-2008
Ubicación: [email protected]
Mensajes: 355
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: Visual Basic 2005. Salvar archivos desde Visual Basic.

Gracias por tu respuesta.
Ya entendí, es buscar la manera de ver todas las ventanas que tenga activas en ese momento y elegir la que diga "Treat3" bueno algo asi pensaba:

Código PHP:
 Private Sub Comprobar(ByVal clase As String)
        
Dim ret As Long
        ret 
FindWindow(Nothing"Treat3")
        If 
ret <> 0 Then
            MsgBox
("La aplicación está abierta"vbInformation vbOKOnly)
        Else
            
MsgBox("La aplicación NO está abierta"vbInformation vbOKOnly)
        
End If
    
End Sub 
Con éste código me va buscar exclusivamente las ventanas que sean llamadas solo por Treat3, pero se me ocurre pensar que busque más bien las que empiezan o contengan el "Treat3".

Yo pensé algo así:

Código:
Private Sub Comprobar(ByVal clase As String)
        Dim A As String ="Treat3"
        Dim ret As Long
        ret = FindWindow(Nothing, A.Contains("Treat3"))
        If ret <> 0 Then
            MsgBox("La aplicación está abierta", vbInformation + vbOKOnly)
        Else
            MsgBox("La aplicación NO está abierta", vbInformation + vbOKOnly)
        End If
    End Sub
Pero más bien ahi estoy preguntando si el titulo contiene el mismo título, es una idea que quize probar y no pude. Alguna otra forma para saber el nombre de la ventana?

Última edición por moradazo; 25/08/2008 a las 21:27
  #55 (permalink)  
Antiguo 26/08/2008, 06:38
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
De acuerdo Respuesta: Visual Basic 2005. Salvar archivos desde Visual Basic.

Bueno, con FindWindow no podremos listar todas las ventanas, yo me refería a usar GetWindow para obtener una lista de todas las ventanas en ese momento y luego en esa lista ver si alguna de ellas comienza con la palabra "Treat3". Mira este ejemplo:
http://www.recursosvisualbasic.com.a...api/api-39.htm
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #56 (permalink)  
Antiguo 26/08/2008, 07:10
Avatar de moradazo  
Fecha de Ingreso: julio-2008
Ubicación: [email protected]
Mensajes: 355
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: Visual Basic 2005. Salvar archivos desde Visual Basic.

Gracias David una pregunta:

Es que el código me parece que es de Visual Basic 6, y tengo un par de errores (Es que no conozco nada de Visual 6)

Código:
'Procedimiento que lista las ventanas visibles de Windows   
    Private Sub Listar()
        Dim buf As Long, handle As Long, titulo As String, lenT As Long, ret As Long
        List1.Items.Clear()

        'Obtenemos el Hwnd de la primera ventana, usando la constante GW_HWNDFIRST   
        handle = GetWindow(hWnd, GW_HWNDFIRST)
        'Este bucle va a recorrer todas las ventanas.   
        'cuando GetWindow devielva un 0, es por que no hay mas   
        Do While handle <> 0
            'Tenemos que comprobar que la ventana es una de tipo visible   
            If IsWindowVisible(handle) Then
                'Obtenemos el número de caracteres de la ventana   
                lenT = GetWindowTextLength(handle)
                'si es el número anterior es mayor a 0   
                If lenT > 0 Then
                    'Creamos un buffer. Este buffer tendrá el tamaño con la variable LenT   
                    titulo = String$(lenT, 0)
                    'Ahora recuperamos el texto de la ventana en el buffer que le enviamos   
                    'y también debemos pasarle el Hwnd de dicha ventana   
                    ret = GetWindowText(handle, titulo, lenT + 1)
                    titulo$ = Left$(titulo, ret)
                    'La agregamos al ListBox   
                    'List1.AddItem(titulo$)
                    List1.Items.Add(titulo) 'Puse esta linea pensando que es lo mismo que la anterior                
              End If
            End If
            handle = GetWindow(handle, GW_HWNDNEXT)
        Loop
    End Sub
handle = GetWindow(hWnd, GW_HWNDFIRST)
El hWnd ya estaba declarado en las funciones del ejemplo que me mandaste de esa pagina, igual me dice que no esta declarado.

titulo = String$(lenT, 0)
Me dice que String es un tipo y no se puede usar como expresión

titulo$ = Left$(titulo, ret)
Public Property Left() As Integer' has no parameters and its return type cannot be indexed.

$
Type character '$' does not match declared data type 'Integer'.

Estos tipos de codigos me han salido en muchos programas pero no se como cambiarlos. Si me puedes decir nada mas con que los arreglo, gracias.
  #57 (permalink)  
Antiguo 26/08/2008, 07:36
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
De acuerdo Respuesta: Visual Basic 2005. Salvar archivos desde Visual Basic.

Prueba cambiando esto:
Código PHP:
        handle GetWindow(hWndGW_HWNDFIRST
Por:
Código PHP:
        handle GetWindow(0GW_HWNDFIRST
Esto:
Código PHP:
titulo String$(lenT0
Por:
Código PHP:
titulo Space(lenT
Y esto:
Código PHP:
titulo$ = Left$(tituloret
Por:
Código PHP:
titulo Microsoft.VisualBasic.Left(tituloret
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #58 (permalink)  
Antiguo 26/08/2008, 08:01
Avatar de moradazo  
Fecha de Ingreso: julio-2008
Ubicación: [email protected]
Mensajes: 355
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: Visual Basic 2005. Salvar archivos desde Visual Basic.

David muchas gracias, ahi tambien habia averiguado el de left, el ultimo que me diste muchas gracias de verdad. Este codigo me tiene loco ahora me hizo un error que no comprendo por que:



Que podra ser? Inicialice titulo como "", el lenT = 0 por aquello de basura que quede en estas variables. Igual sin ser inicializados me da el error, no comprendo por que, claramente la funcion de Space dice que dentro llevara un integer y todo sera al final un String.

Intente cambiar los valores Long, por Integer y al final me marca el mismo error pero en handle = GetWindow(0, GW_HWNDFIRST). Disculpa la insistencia, gracias.

El numero que me da el handle es: 8975933078237085696 o sea necesariamente debe ser Long
  #59 (permalink)  
Antiguo 26/08/2008, 08:14
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Pregunta Respuesta: Visual Basic 2005. Salvar archivos desde Visual Basic.

Prueba poniendo:
Código PHP:
titulo Microsoft.VisualBasic.Space(lenT
Por cierto, ¿cuál es el valor de lenT?
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #60 (permalink)  
Antiguo 26/08/2008, 09:11
Avatar de moradazo  
Fecha de Ingreso: julio-2008
Ubicación: [email protected]
Mensajes: 355
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: Visual Basic 2005. Salvar archivos desde Visual Basic.

Gracias David por la respuesta.

El valor de LenT de un inicio esta declarado como Long, trate de ver su valor pero me traba el programa:

lenT = GetWindowTextLength(handle)
TextBox1.Text = lenT


El problema esta ahi, necesariamente una variable tipo Long debe obtener el valor de GetWindowTextLenght(Handle) ?

Lo declare como string pero tampoco funciono, que seria?
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:21.