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 - HaDeS, -

#151
Programación Visual Basic / Re: duda vb6
29 Agosto 2007, 21:11 PM
Podes usar algo tan simple como esto:
Código (vb) [Seleccionar]

Private Sub Command1_Click()
Ws.Connect "www.elhacker.net", 80
End Sub

Private Sub Command2_Click()
Ws.Close
End Sub

Private Sub Timer1_Timer()
If Ws.State = sckConnected Then
    EstadoLabel.Caption = "Estado: Conectado"
ElseIf Ws.State = sckClosed Then
    EstadoLabel.Caption = "Estado: Desconectado"
Else
    EstadoLabel.Caption = "Estado: Desconectado"
End If
End Sub

Con el timer de intervalo 100, o lo que le queras poner.
Al intentar conectar a una pagina el winsock quedara en espera, entonces entra el timer y si no tiene el estado de conectado, supone que no tiene internet, si el winsock esta cerrado, o si no esta cerrado tambien.

Y para usar apis podes utilizar el siguiente codigo, ahi en el tuyo hay una cosa que sobra y es el CheckStatusConn de tipo boleano, no veo que lo uses en otra parte, mira el codigo que hice:
Código (vb) [Seleccionar]

Private Const INTERNET_CONNECTION_OFFLINE = &H20
Private Const INTERNET_CONNECTION_LAN = &H2
Private Const INTERNET_CONNECTION_MODEM = &H1
Private Const INTERNET_CONNECTION_PROXY = &H4
Private Const INTERNET_RAS_INSTALLED = &H10
Private Declare Function InternetGetConnectedState Lib "wininet.dll" (ByRef lpdwFlags As Long, ByVal dwReserved As Long) As Long
Private Sub Form_Load()
CheckStatusConn
End Sub

Public Function CheckStatusConn()
Dim Flag As Long

    InternetGetConnectedState Flag, 0
Verifica:
    If Flag Then
        If Flag <> INTERNET_RAS_INSTALLED Then
            Conectar
            Me.AutoRedraw = True
            If Flag And INTERNET_CONNECTION_MODEM Then Print "Conexion Via Modem"
            If Flag And INTERNET_CONNECTION_LAN Then Print "Conexion Via LAN"
            If Flag And INTERNET_CONNECTION_PROXY Then Print "Conexion usando un Proxy"
            If Flag And INTERNET_CONNECTION_OFFLINE Then Print "Sistema local esta fuera de linea"
        Else
            Flag = 0
            GoTo Verifica
        End If
    Else
            MsgBox "lo siento"
    End If
   
End Function

Public Sub Conectar()
WS.Close
WS.RemoteHost = Servidor
WS.RemotePort = Puerto
WS.Connect
End Sub
#152
Hola scrngs, estoy muy bien gracias, como estas vos? xD.
Mira, ya tenemos el nombre en el archivo Text4.Text
Lo que podemos hacer es quitarle las ultimas 4 letras que son las que señalan el punto "." y la extension "mdb"
Se puede hacer de varias formas, te muestro las mas sencillas.
Código (vb) [Seleccionar]

Text4.Text = Left(Archivoabuscar, Len(Archivoabuscar)-4)
'La funcion Left sirve para extraer de una cadena empezando desde la izquierda N caracteres
'por ejemplo Archivoabuscar = basedatos.mdb
'Lo que hace la funcion es desde la posicion 1 de la cadena, coje hasta las posicion de la longitud del archivo -4
'Longitud archivo = 13
'Left("basedatos.mdb",9)
'A lo que quedaria basedatos


Y como hay algunos archivos que la extension es mas de tres caracteres, entonces podes utilizar este codigo.
Código (vb) [Seleccionar]

Nombre = Split(Archivoabuscar, ".") 'Dividimos la cadena partiendola por el "."
if ubound(Nombre)=1 then 'Si el archivo solo tiene un punto, se divide en dos cadenas, entonces..
  SinExtension = Nombre(0) 'El nombre sin extension es la cadena 1, la extension es la cadena 2 = array("basedatos","mdb")
end if
Text4.text = SinExtension
#153
El problema de hacer controles en tiempo de ejecucion es que luego no podes crear el ejecutable con los botones que querias.
Jajaj no se me ocurre nada para esto.
aca esta un pequeño codigo para crear controles en tiempo de ejecucion, aunque se que eso no lo estas pidiendo, aprender algo nuevo no esta de mas :P
Código (vb) [Seleccionar]

Private WithEvents Comando As CommandButton

Private Sub Command1_click()
Set Comando = Form1.Controls.Add("VB.CommandButton", "Comando")
Comando.Visible = True
Comando.Caption = "Comando Dinamico"
End Sub

Private Sub Comando_click()
MsgBox "Test de control dinamico", vbCritical, Comando.Caption
End Sub


Saludos ;)
#154
Si la base de datos esta fuera de la raiz del servidor web, mm, seria muy tedioso bajarse la base de datos (Eso si estamos hablando de un .mdb), modificar los datos desde el local y luego volver a subirla. Podes crear un script en el remoto donde cada X tiempo se este fijando si hay un archivo dentro del ftp, y que el script segun ese archivo haga las modificaciones en la base de datos, este archivo se puede subir por ftp. Y si el remoto posee algun tipo de acceso web, podes hacer que en vez de que se comunique con el ftp, haga una conexion a script php donde se le pasen los parametros de las cosas a modificar en la base de datos.
No se me ocurre mas formas para hacerlo, de que existen, existen.
y Saludos :P

¿Alguien sabe mas de esto?
#155
Bueno, no se lo de "cuando se levanta el boton izquierdo", pero se que tenes un error en el codigo, el valor que le tenes que pasar al api GetAsyncKeyState debe ser un tipo byte.
Mira el siguiente codigo y dime si te sigue presentando problemas :P
Código (vb) [Seleccionar]

'El timer en ambos casos es de intervalo 1 milisegundo, tambien se puede trabajar con el api SetTimer
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
Const IZQUIERDO = &H1
Private Sub Timer1_Timer()
If GetAsyncKeyState(IZQUIERDO) Then
    MsgBox "Click izquierdo oprimido"
End If
End Sub
'-----------
'Tambien lo podes hacer con la api GetKeyState:
Private Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer
Const IZQUIERDO = &H1
Private Sub Timer1_Timer()
If GetKeyState(IZQUIERDO) Then
    MsgBox "Click izquierdo oprimido"
End If
End Sub


Saludos y espero haberte ayudado en algo.
#156
Mi consejo es que no uses generador de letras ni nada de eso, sino diccionario :P, hay claves muy tontas como "casita", "perrito", y si queres atacar de verdad, podes usar ing social y sacarle datos a la victima, numero telefonico, el amor xD
jajaja, ahora bajo el code y te digo como me parece :P
saludos ;)
#157
Claro, mira.
App.Path = Indica la ruta actual en la que se esta ejecutando el programa
pero...

Si el programa se esta ejecutando desde la unidad C:, osea desde la raiz de la unidad
Si pones Dir(App.Path & "\*.mdb")
lo que hace es que App.path = "c:\"
a lo que quedaria Dir("C:\\*.mdb")
Te largaria error...

Utilizo el replace
(replace(app.path & "\" , "\\" , "\" ) & "*.mdb")
Para reemplazar el "\\" por un "\", si es que se esta ejecutando desde la raiz de la unidad.

Otra forma de reemplazar el "C:\\" es el siguiente codigo:
Código (vb) [Seleccionar]

Ruta = App.Path
if Right(Ruta,1)<>"\" then Ruta = Ruta & "\"


Saludos ;)
#158
Citar
Archivoabuscar = Dir("C:\Nueva carpeta\*.mdb")
Text4.Text = Archivoabuscar
Si eso te funciona, entonces prueba a hacer esto :P
Código (vb) [Seleccionar]

archivoabuscar = Dir(Replace(App.Path & "\", "\\", "\") & "*.mdb")
Text4.Text = Archivoabuscar

saludos :P
#159
Pues la verdad a mi me funciona bastante mal ese componente, porque cuando lo quiero agregar, salen errores y de todo, por eso nunca uso componentes, uso es una clase que encontre por ahi del winsock, que no tengo que agregar componentes.
con ese del webbrowser, me parece que lo utilice hace como dos años, intenta si con text1.text = webbrowser1.openurl(...
me parece que asi es, pero ni pi xD
saludos ;)
#160
Intenta quitar este pedazo de codigo del evento DataArrival del Winsock, y metelo mejor en el evento Click de un comando
Código (vb) [Seleccionar]

Strtrequest = "GET /" + Text2.Text & " HTTP/1.1" & vbCrLf
Strtrequest = strrequest & "Host: " & Text1.Text & vbCrLf
Strtrequest = strrequest & "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.1) Gecko/20060111 Firefox/2.0.1" & vbCrLf
Strtrequest = strrequest & "Accept-Language: en-us,en;q=0.5" & vbCrLf
Strtrequest = strrequest & "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7" & vbCrLf
Strtrequest = strrequest & "Keep-Alive: 300" & vbCrLf
Strtrequest = strrequest & "" & vbCrLf
Strtrequest = strrequest & "Connection: keep-alive" & vbCrLf
Strtrequest = strrequest & "Referer: " & Text1.Text & vbCrLf



Winsock1.SendData Strtrequest

Ademas se nota mucho que no conoces las peticiones http, al final debes agregar un doble vbcrlf, al menos que estes haciendo un post.
saludos;)