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 - el_c0c0

#161
Cita de: aaronduran2 en 26 Enero 2009, 18:20 PM
Ya conseguí loguearme y obtener la cookie, pero de momento no me funciona. Me da error en el socket. Intentaré ver cual es el problema.

EDITO: nada, no soy capaz. Esto es lo que me muestra la ventana de debug:

OK Subclass memory allocated at: 103816704
OK Winsock service initiated
OK Created socket: 1272
Winsock buffer size for sends: 8192
Winsock buffer size for receives: 8192
OK Created socket collection
OK Created winsock message window 6816708
OK Registered events from socket 1272
STATE: sckResolvingHost
Resolving host http://es.youtube.com/ with handle 3
STATE: sckError


Saludos.

Es que no te podes conectar a una direccion que empieza con "http://" .. es solo el host!
ahi seria es.youtube.com como te pase en mi ejemplo!

saludos
#162
Cita de: aaronduran2 en 26 Enero 2009, 17:04 PM
Vale, gracias. Intentaré lo de las cookies.

EDITO: encontré este código para leer o establecer una cookie.

Código (vb) [Seleccionar]
Public Declare Function InternetSetCookie Lib "wininet.dll" Alias "InternetSetCookieA" _
        (ByVal lpszUrlName As String, _
        ByVal lpszCookieName As String, _
        ByVal lpszCookieData As String) As Boolean

Public Declare Function InternetGetCookie Lib "wininet.dll" _
        Alias "InternetGetCookieA" _
        (ByVal lpszUrlName As String, _
        ByVal lpszCookieName As String, _
        ByVal lpszCookieData As String, _
        lpdwSize As Long) As Boolean


Public Function SetCookie(ByVal UrlName As String, ByVal CookieName As String, ByVal CookieData As String)
  Dim blnReturn As Boolean

  blnReturn = InternetSetCookie(UrlName, CookieName, CookieData)

  If blnReturn = False Then MsgBox "Make Cookie Operation Failed!", vbCritical
End Function

Public Function GetCookie(ByVal UrlName As String, ByVal CookieName As String) As String
   Dim strCookieText As String * 256
   Dim blnReturn As Boolean

   blnReturn = InternetGetCookie(UrlName, CookieName, strCookieText, 255)
   
   If blnReturn = False Then
     MsgBox "Get Cookie Operation Failed", vbCritical
     GetCookie = "Error"
   Else
     MsgBox strCookieText, vbInformation
     GetCookie = strCookieText
   End If
End Function





Esta bien, eso es para hacerlo desde el IE.. lo que podes hacer es loguearte ahi desde el IE y sacar la cookie con ese codigo...

saludos
#163
Cita de: aaronduran2 en 26 Enero 2009, 12:01 PM
Muchísimas gracias, lo probaré e intentaré hacerlo.

EDITO:

CitarstrFormH = strFormH & "Referer: http://es.youtube.com/" & strRef & "\n"

La variable "strRef", ¿para qué se utiliza?

Y lo de la cookie, ¿sirve si ya estoy logueado en YouTube con Firefox? Conseguí obtener acceso a la cuenta desde un WebBrowser que hay en el formulario.

Saludos y perdón por las molestias.

Saludos  ;)

en el strRef metes la pagina en la que estas, POR LAS DUDAS, nose si hace falta... pero metelo
y las cookies de los exploradores NO sirven, tenes que hacer alguna funcion para que te devuelva la COOKIE logueandote desde tu programa!
esto pasa porque no usa nada de los objetos del sistema, esto es DIRECTO!

saludos
#164
Cita de: aaronduran2 en 25 Enero 2009, 22:53 PM
Hola. Estoy creando un programa para enviar invitaciones de amigo a usuarios de YouTube en VB 6. Conseguí obtener la lista de usuarios a partir de la página que estás viendo, pero no soy capaz de automatizar el proceso de envío de la invitación. Estuve viendo el código fuente, pero no encuentro nada. Tenía pensado crearlo en HTML.

¿Alguien sabe como se puede conseguir?

Encontré esto, pero como no soy de programación web, no se como tratarlo.

Código (html4strict) [Seleccionar]
<form name="friending" method="post" action="/profile?user=NOMBREUSUARIO">
<div class="smallText">
<input type="hidden" value="invite_user" name="action_friending">
<a id="aProfileAddFriend" href="#" onclick="document.friending.submit(); return false;"><img src="http://s.ytimg.com/yt/img/pixel-vfl73.gif" id="profileAddFriend" class="icnProperties" alt="Añadir como amigo">Añadir como amigo</a>
</div>
</form>


Gracias de antemano.

(Esto mismo lo publiqué en el foro de programación web, pero como trabajo con VB, pues también lo pongo aquí.)


Podes hacerlo de 2 formas: via socket o via objeto XMLHTTP.

te dejo una idea de como es:
para la forma via socket haces asi

Código (vb) [Seleccionar]

    strParams = "action_friending=invite_user"
    strFormH = "POST /profile?user=" & strUSER & " HTTP/1.1\n"
    strFormH = strFormH & "Host: es.youtube.com\n"
    strFormH = strFormH & "User-Agent: Mozilla/5.0 (Windows NT 5.1;)\n"
    strFormH = strFormH & "Accept-Language: es-ar,es;q=0.8,en-us;q=0.5,en;q=0.3\n"
    strFormH = strFormH & "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\n"
    strFormH = strFormH & "Connection: close\n"
    strFormH = strFormH & "Referer: http://es.youtube.com/" & strRef & "\n"
    strFormH = strFormH & "Cookie: " & strCookie & ";\n"
    strFormH = strFormH & "Content-Type: application/x-www-form-urlencoded\n"
    strFormH = strFormH & "Content-Length: " & Len(strParams) & "\n\n"
    strFormH = strFormH & strParams & "\n\n"
    strFormH = Replace(strFormH, "\n", vbCrLf)

    objSocket.Connect "es.youtube.com", 80
    WaitTilSock2 7
    objSocket.SendData strFormH
    WaitTilSock2 8
    objSocket.CloseSck


Para eso vas a requerir tener un objeto CSockMaster llamado objSocket. Tene en cuenta que necesitas saber el cookie del login (eso puede ser jodido) y la pagina web de donde estas actualmente para usar de referente!. Ademas necesitas esta porcion de codigo (sirve para bloquear la ejecucion del codigo, pero sin que no responda la aplicacion):

Código (vb) [Seleccionar]
Public Declare Function WaitMessage Lib "user32" () As Long

Public Sub WaitTilSock2(lngStateF As Long)
    If objSocket.State = lngStateF Then Exit Sub
    Do While Not (objSocket.State = lngStateF)
        WaitMessage
        DoEvents
    Loop
End Sub



y via objeto XMLHTTP no te sabria decir, pero es mas o menos lo mismo.


Saludos!
#165
Cita de: .Shizuka. en 25 Enero 2009, 19:44 PM
bueno como dice el nuevo tema soy nueva y me registre hace un instante, porque veo que me puede ayudar conocer y conversar con programadores xD
La verdad yo estoy empezando a ver esto de la programación con visual basic y me pase por el foro viendo unos ejercicios pero que no estan resueltos y me gustaria mucho su ayuda

en la universidad me mandaron un ejercicio de registro sistematizado de una escuela basica, pero yo  no se como hacerlo o.O, ni se lo mas basico como usuario y su clave, me pordrian decir donde encontrar el codigo super sencillo de esto, y si se usa access

recuerden no se mucho y estoy empezando
muchas gracias a todos los que me ayuden ^^


como dice cΔssiΔnі, aca NO se hacen tareas.

una cosa que SIEMPRE me queda la duda, si van a la facultad, a seguir programacion como carrera, como le van a pedir ALGO QUE NO SABEN.. yo creo que estas cosas las deberian saber o por lo menos entender de que se trata, pero NO les deben prestar atencion a los profesores en clase; y ademas se creen que registrandose aca o en otros foros, les van a resolver los problemas.

si algun profesor TE PIDE ALGO QUE NO SABES, y NO TE EXPLICA COMO BUSCARLO (y te dice arreglate vos o algo asi), MANDALO A LA PVTA MADRE QUE LO PARIO. Pero dudo que sea asi, para mi la culpa es del que pregunta y no del profesor.

y como me dijo un amigo recien: "que deje esa carrera, por que ya empezo mal"

>:( >:( >:( >:( >:(
saludos!
#166
Hola.

Hoy les presento, con ayudita de leandro y xkiz, este control de usuario.
Es un control nativo de Windows XP (commcontrols 6!).
Seguro ya lo conocen de antes:


No vi nunca este control en VB. Desde la pagina del control en MSDN dicen que no tiene propiedades de color de fondo, ni de color de fuente, pero simplemente se setean como propiedad basandose en el control pariente (en este caso el usercontrol). Lo de la fuente fue mas o menos lo mismo, pero con algunos mensajes, pudimos setearle la fuente como si nada. Ademas tiene un soporte muy basico de transparencia (el cual no recomiendo usar, es el mismo del checkbox).

Unos screens:



El picturebox de atras esta para ver si es transparente el control.
Es muy simple obtener los clicks: tiene un solo evento el control, LinkClick.

Para mas informacion, pueden ver el codigo del frmMain para ver como estan puestos los links y como es tratado cada click.


y lo descargas de aca: http://santiagohssl.googlepages.com/SL_REL.rar

comenten y saludos!
#167
Cita de: seba123neo en 20 Enero 2009, 00:34 AM
Hola,basta solo con cambiar de path de el ejecutable y ya la funcion es inutil...hay un modulo que posteo Cobein que impedia esto...igualmente probalo haber que tal...

saludos.

fijate este code del API Guide, se supone que no importa que cambie el .exe :

Código (vb) [Seleccionar]

'Code by Adam Verwijs
Const ERROR_ALREADY_EXISTS = 183&
Private Declare Function CreateMutex Lib "kernel32" Alias "CreateMutexA" (lpMutexAttributes As Any, ByVal bInitialOwner As Long, ByVal lpName As String) As Long
Private Declare Function ReleaseMutex Lib "kernel32" (ByVal hMutex As Long) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
Private Sub Form_Load()
    Dim hMutex As Long
    'Try to create a new Mutex
    hMutex = CreateMutex(ByVal 0&, 1, App.Title)
    'Did the mutex already exist?
    If (Err.LastDllError = ERROR_ALREADY_EXISTS) Then
        'Clean up
        ReleaseMutex hMutex
        CloseHandle hMutex
        'More than one instance detected
        MsgBox "No se puede ejecutar 2 veces lo mismo"
        End
    Else
        MsgBox "Todo En Orden"
    End If
End Sub


saludos
#168
Si, con el api sendmessage... buscas el hwnd del boton por ejemplo y le envias mousedown y mouseup y asi generas un click!

saludos
#169
Yo lo use para un programita que estoy desarrollando, que va por buen camino. Ahora estoy terminandole la parte del GUI por eso necesitaba hacerlo transparente y bueno...

pongo la imagen completa porque sino el degradado no se nota:


saludos!
#170
Cita de: Freeze. en 19 Enero 2009, 03:37 AM
Ahh, "muy util" :xD

Bueno no se a mi no me parece tan util porque nunca he usado imagenes y por encima uncheckbox :P
no es exactamente sobre una imagen la idea principal, sino que sobre un difuminado para que tenga mas estilo. es lo mismo, yo lo necesitaba transparente si o si.

y bueno si no te parece utilo no lo uses... q se yo, queda en vos

saludos