| |
|
136
|
Programación / Programación VB / Re: winsock downloader con vb6
|
en: 03 Septiembre 2007, 20:38
|
Hmm, que raro, acabe de probar el codigo y me baja perfectamente el archivo, estas bajando el mismo que muestra el ejemplo, o es otro archivo. De todas formas con cualquier tipo de archivo deberia funcionar. Saludos, y si es diferente lo que pones, mostranos tu codigo. 
|
|
|
|
|
137
|
Programación / Programación VB / Re: alguien sabe como puedo capturar la pantalla, mas rapido o mejor???
|
en: 03 Septiembre 2007, 10:18
|
Bueno aca esta el codigo mas rapido, no es lo mejor pero ahi va  Private Declare Sub keybd_event Lib "user32.dll" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long) Private Declare Function GetTickCount Lib "kernel32" () As Long Dim ImagenJpg As cJpeg Dim Calidad%, Milimetros!, Antes&, Despues& Private Sub Command1_Click() keybd_event vbKeySnapshot, 0, 0, 0 End Sub Private Sub Command2_Click() Form1.WindowState = 2 DoEvents Image1.Picture = Clipboard.GetData Picture1.PaintPicture Image1.Picture, 0, 0, 800, 600 ImagenJpg.Quality = Calidad ImagenJpg.SetSamplingFrequencies 1, 1, 1, 1, 1, 1 Antes = GetTickCount If ImagenJpg.SampleHDC(Picture1.hDC, Picture1.ScaleWidth, Picture1.ScaleHeight) = 0 Then DeNuevo: If Dir$("c:\prueba.jpg") <> "" Then Kill "c:\prueba.jpg" GoTo DeNuevo Else ImagenJpg.SaveFile ("c:\prueba.jpg") End If End If Despues = GetTickCount MsgBox "Tiempo total: " & Despues - Antes & " milisegundos" End Sub Private Sub Form_Load() Set ImagenJpg = New cJpeg Calidad = 50 If Calidad < 1 Then Calidad = 1 If Calidad > 100 Then Calidad = 100 Form1.ScaleMode = 3 Picture1.ScaleMode = vbPixels Picture1.Width = 800 Picture1.Height = 600 End Sub En este es necesario, 1 picture, 1 image, y dos commandbutton. Pruebas y tiempos: Modulo CJpeg: Sin Compilar: 2.218 milisegundos Compilado: 0.5 milisegundos Modulo CJpegI: Sin Compilar: 1.906 milisegundos Compilado: 0.375 milisegundos Se puede notar la diferencia, ya que pasamos de una resolucion de 1200 x 800 pixeles, a una de 800 x 600. Saludos 
|
|
|
|
|
139
|
Programación / Programación VB / Re: alguien sabe como puedo capturar la pantalla, mas rapido o mejor???
|
en: 03 Septiembre 2007, 08:02
|
El problema esta en que el modulo CJpeg, al llegar a esta parte: SampleHDC(Picture1.hDC, Picture1.ScaleWidth, Picture1.ScaleHeight) Lo que hace en realidad es esto SampleHDC(Picture1.hDC, 1200, 800), Segun cada resolucion de pantalla, y en el modulo hay varios bucles recorriendo cada pixel del picture, asi que el trabajo se vuelve pesadisimo, y por eso demora tanto en crear. Con un procesador de 2.3ghz, y una resolucion de 1200 x 800, la imagen se me genero en 4.937 segundos, es mucho. Pienso que se puede estrechar la imagen con el mismo modulo,o ponerla a una resolucion mas pequeña, como por ejemplo 800 x 600, pero ahora estoy cansado  . Mañana, digo, ahora mas tarde (por la tarde), retomo a ver y luego te cuento, eso si tengo tiempo. Mientras, ve mirando si se puede acomodar la imagen a una resolucion pequeña, asi yo creo que si podria dar. Es todo. Saludos  Porte: Si te fijas bien en mi codigo, hay una parte donde se indica la ruta del archivo de la imagen: If Dir$("c:\prueba.jpg") <> "" Then Kill "c:\prueba.jpg" GoTo DeNuevo Else ImagenJpg.SaveFile ("c:\prueba.jpg") End If Si aplicas el codigo que te puse ahi, la imagen con la captura de pantalla se guardara en c:\prueba.jpg Saludos de nuevo 
|
|
|
|
|
140
|
Forums Generales / Dudas Generales / Re: Como usar proxy's [Navegar anónimamente]
|
en: 03 Septiembre 2007, 05:35
|
Bueno, me imagino que lo de usar otra ip tambien va con lo de proxy, lo de retransmitir trafico para la red tor es en que version, esa no me sale :S. Tengo la 0.47c. En la version 0.47c: Te vas para preferencias -> Proxy, alli en el frame General, activas la opcion "Activar proxy", como tipo de proxy poner Socks 5, en servidor proxy localhost, y en puerto 9050... Y con respecto a lo de las identidades, no soy un experto en emule xD asi que eso lo responda otra persona  Saludos 
|
|
|
|
|
141
|
Programación / Programación VB / Re: contador en segundos? timer?
|
en: 03 Septiembre 2007, 05:07
|
Okas, mira podes declarar de varias formas las variables, ya te explico, mejor dicho te hago una tablita: Tipo Equivalencia Integer % Long & Single ! Double # Currency @ String $ Asi que: Dim Tiempo& equivale a decir Dim Tiempo As Long Solo los que he mencionado tienen esa equivalencia, los otros tipos de datos no la tiene... Lo hago para ahorrarme el tener que copiar tanto. Por otro lado la instruccion call solo se usa para llamar una funcion. Es equivalente a decir Verificar "10" Es todo  Saludos 
|
|
|
|
|
142
|
Programación / Programación VB / Re: alguien sabe como puedo capturar la pantalla, mas rapido o mejor???
|
en: 03 Septiembre 2007, 04:55
|
Una combinacion entre keybd_event y el modulo CJpeg, apenas vine a conocer este modulo asi que no se mucho como se maneja, pero como le di al codigo quedo perfecto  Dim ImagenJpg As cJpeg Dim Calidad%, Milimetros! Private Declare Sub keybd_event Lib "user32.dll" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long) 'Primero capturas la imagen Private Sub Command1_Click() Call keybd_event(vbKeySnapshot, 1, 0, 0) End Sub 'Luego se maximiza el formulario y mete el picture, le pone la calidad que escojemos en el form_load, y luego lo graba en el archivo prueba.jpg Private Sub Command2_Click() Form1.WindowState = 2 Picture1.Picture = Clipboard.GetData ImagenJpg.Quality = Calidad ImagenJpg.SetSamplingFrequencies 1, 1, 1, 1, 1, 1 DoEvents If ImagenJpg.SampleHDC(Picture1.hDC, Picture1.ScaleWidth, Picture1.ScaleHeight) = 0 Then DeNuevo: If Dir$("c:\prueba.jpg") <> "" Then Kill "c:\prueba.jpg" GoTo DeNuevo Else ImagenJpg.SaveFile ("c:\prueba.jpg") End If End If End Sub Private Sub Form_Load() Set ImagenJpg = New cJpeg Calidad = 50 If Calidad < 1 Then Calidad = 1 If Calidad > 100 Then Calidad = 100 Picture1.Width = Screen.Width Picture1.Height = Screen.Height Picture1.ScaleMode = vbPixels End Sub El inconveniente que encontre en este modulo, es que se demora un buen rato convirtiendo el picture a una calidad menor, o igual segun el caso. Es todo, pruebalo y me decis si te funciono. Saludos 
|
|
|
|
|
143
|
Programación / Programación VB / Re: contador en segundos? timer?
|
en: 03 Septiembre 2007, 03:49
|
see me equivoque  , vi tu code por encima, pero tu tambien te equivocaste  lee: .. utilizando un timer k vaya contando en segundos hasta 10 y que haga algo mientras el tiempo en segundos sea menor a 10 ...
Jeje, saludos  Pdata. No modifiques los post  Si hace eso, entonces si se ejecuta la funcion cada segundo.
|
|
|
|
|
145
|
Forums Generales / Dudas Generales / Re: Como usar proxy's [Navegar anónimamente]
|
en: 03 Septiembre 2007, 01:00
|
Hay que cargarle los datos de proxy a cada programa. Si vas a utilizar un proxy http, que es el que manejan los navegadores web, debes usar el puerto 8118 como puerto de transferencia de datos. Osea, El tor funciona localmente, y haces que los datos que envie tu navegador sean enviado al puerto 8118, de ahi el Tor se encarga de direccionarlos a otro host, hasta que lleva la respuesta, y te manda los datos al navegador por el puerto 8118. Me extendi  Si vas a utilizar un proxy socks (Socks 4, 4A y 5), el puerto que debes manejar es el 9050. Estos puertos lo manejan por ejemplo clientes ftp, irc, messenger. entre otros. Es todo, y saludos 
|
|
|
|
|
146
|
Programación / Programación VB / Re: Enviar a FTP
|
en: 03 Septiembre 2007, 00:48
|
La mayoria de los servidor ftp piden autorizacion para ingresar... A no ser de que contenga un usuario anonimo, podes ingresar con el user anonymous, y una contraseña cualquiera. Saludos 
|
|
|
|
|
147
|
Programación / Programación VB / Re: presionar boton de aplicacion ajena sabiendo su hwnd clase y caption
|
en: 03 Septiembre 2007, 00:46
|
WM_QUIT = &H12 WM_DESTROY = &H2 Tanto el Quit, como el Destroy, sirven unicamente para destruir las ventanas de la aplicacion. El quit se utiliza con el PostMessage y sirve para indicar una peticion de terminar a una aplicacion, por consiguiente no es tu opcion utilizar este mensaje. El destroy se envia primero a la ventana de la aplicacion, primero finaliza la ventana padre, y luego todas las ventanas hijdas, por consiguiente esta tampoco es tu opcion. Podes decir que aplicacion es para yo ensayar? Saludos  Editado: Ensaya con esto: Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long '&H10 = Close '&H2 = Destroy Private Sub Cerrar_Click() HVentana = FindWindow(vbNullString, Titulo.Text) If HVentana <> 0 Then PostMessage HVentana, &H10, 0, 0: PostMessage HVentana, &H2, 0, 0 End Sub
|
|
|
|
|
148
|
Forums Generales / Dudas Generales / Re: Como usar proxy's [Navegar anónimamente]
|
en: 03 Septiembre 2007, 00:15
|
En verdad el Tor hace una cadena de proxies... Mira: "Tor ayuda a reducir los riesgos del análisis de tráfico tanto sencillo como sofisticado distribuyendo tus transacciones entre distintos lugares en Internet, de forma que un único punto no puede enlazarte con tu destino. La idea es similar a usar una ruta sinuosa, difícil de seguir, borrando tus huellas periódicamente para despistar a alguien que está siguiéndote. En lugar de tomar la ruta directa desde el origen al destino, los paquetes de datos en la red Tor toman caminos aleatorios a traves de varios servidores que tapan tu rastro para que ningún observador de un único punto sea capaz de decir de dónde procedian los datos o hacia dónde se dirigían." Podes leer mar sobre esta red en http://tor.eff.org/overview.html.esSaludos 
|
|
|
|
|
149
|
Programación / Programación VB / Re: contador en segundos? timer?
|
en: 03 Septiembre 2007, 00:12
|
Hay mil maneras de hacer eto, aca hay un ejemplo que creo es de lo mas facil
Option Explicit
Private lTime As Long
Private Sub Form_Load() lTime = Timer Timer1.Interval = 1000 Timer1.Enabled = True End Sub
Private Sub Timer1_Timer() Timer1.Enabled = False If lTime + 10 < Timer Then Debug.Print "OK" lTime = Timer End If Timer1.Enabled = True End Sub
Lo que haces aca es ejecutar una funcion cada 1 segundo, y lo que markx pide es ejecutar una funcion mientras el tiempo sea mejor a eso: Voy arreglar tu codigo  Dim Tiempo& Private Sub Form_Load() Timer1.Interval = 1000 Timer1.Enabled = False End Sub Private Sub Timer1_Timer() Tiempo = Tiempo + 1 End Sub PRivate Sub Command1_Click() 'Este empieza a ejecutar las acciones mientras el tiempo sea mejor a 10 segundos Timer1.Enabled = True Tiempo = 0 Call Verificar("10") End Sub Private Sub Verificar(TiempoAVerificar&) While Tiempo <= TiempoAVerificar 'Funciones DoEvents Wend End Sub Listo  creo que puede funcionar asi, me dio pereza sacar el visual, asi que si hay algun error posteadlo. Saludos 
|
|
|
|
|
150
|
Programación / Programación VB / Re: presionar boton de aplicacion ajena sabiendo su hwnd clase y caption
|
en: 02 Septiembre 2007, 20:56
|
Intenta en vez de un SendMessage, un PostMessage: Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Private Sub Cerrar_Click() HVentana = FindWindow(vbNullString, Titulo.Text) If HVentana <> 0 Then PostMessage HVentana, &H10, 0, 0 End Sub Si no te funciona, avisa sigo mirando que se puede hacer  Saludos 
|
|
|
|
|
|
| |
|