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

#21
Cita de: smokehack_ en 30 Agosto 2007, 20:34 PM
Aun asi el ordenador no podria estar apagado del todo no ??


Leeeddd.................!!!!!

¿Qué es Wake on LAN?

Wake on Lan, en adelante WOL, es una tecnología mediante la cual un ordenador que este apagado puede ser encendido desde otro PC de la LAN.


¿Cómo funciona básicamente?

La tarjeta de red permite quedarse "dormida" mientras el PC esta apagado completamente. Un software envía una señal a ese PC y la tarjeta de red, que esta conectada a la placa base, enciende el PC. Tener en cuenta que solo sirve para encender y no para apagar, apagar lo podeis hacer con el Remote Administrator (ver sección).


¿Cómo se usa?

1. Primero hay que conectar la tarjeta de red a la placa base por medio de un cable WOL. Tanto la tarjeta de red, como la placa base han de estar preparados para esta tecnología. Este cable suele venir incluido en las tarjetas de red. Para saber el lugar exacto donde debes conectar el cable, deberás consultar en los manuales de ambos dispositivos, pero será una pequeña conexión de 3 pin que ponga WOL, tanto en la placa como en la tarjeta de red. Ver fotos.

2. Una vez conectados, debes introducirte en la BIOS de tu sistema y habilitarlo (normalmente lo encontraras dentro de la sección de "power management" de la BIOS). Para entrar en la BIOS pulsa la tecla 'Supr' después de encender el PC.

3. Ahora necesitas un software que envié una señal que encienda el PC apagado. Supongo que habrá muchísimos, gratis y de pago, pero yo de momento he encontrado 2. Si descubrís alguno interesante, podéis enviármelo. En el PC que vamos a encender no hace falta instalar ningún software, este es para el PC de la LAN desde el cual vamos a encender el otro PC (el que envía la señal).

Posibles usos

Las utilidades son cualquiera que se pueda ocurrir. Yo lo veo útil por ejemplo:

- si tienes un Cyber o una PYME, puedes encender todos los ordenadores a la vez, y no ir uno por uno.

- dejar una tarea que encienda el PC a una hora determinada e incluso dejar otra en el PC encendido para que se ponga a hacer cualquier tipo de operación.

- yo tengo un "pequeño" servidor en mi LAN encendido 24h/día, desde cualquier sitio puedo acceder por Internet al servidor por medio del Remote Administrator y desde el servidor encender mi PC por WOL y coger algún documento o lo que sea. (jajajajajajaja ojala....!!!!! estas palabras fuesen mias...)
#22
Wake on Lan (WOL) es un estándar que permite encender un ordenador desde otra ubicación a través de una conexión de red[/b]
Buscando y consultando con Mr. Google

encontre algo muy interesante: (seri bueno insertarlo en un  code de HAR)

Dim ret As Integer
Private Type datos
a As String * 2
b As String * 2
c As String * 2
d As String * 2
e As String * 2
f As String * 2
nombre As String * 10
End Type
Dim valores As datos
Private Sub Command1_Click()
Dim buffer() As Byte
Dim numero As Byte
ReDim buffer(101) As Byte

Dim VAR(0 To 6) As String
VAR(0) = "&h" & Text1(0)
VAR(1) = "&h" & Text1(1)
VAR(2) = "&h" & Text1(2)
VAR(3) = "&h" & Text1(3)
VAR(4) = "&h" & Text1(4)
VAR(5) = "&h" & Text1(5)

For numero = 0 To 5
buffer(numero) = &HFF
Next
For numero = 6 To 101 Step 6
buffer(numero) = VAR(0)
buffer(numero + 1) = VAR(1)
buffer(numero + 2) = VAR(2)
buffer(numero + 3) = VAR(3)
buffer(numero + 4) = VAR(4)
buffer(numero + 5) = VAR(5)
Next
Winsock1.RemoteHost = "255.255.255.255"
Winsock1.RemotePort = 54323
Winsock1.SendData buffer
End Sub



Private Sub Command2_Click()
ret = Label1
ret = ret + 1
Open "C:\base.xfg" For Random As #1 Len = Len(valores)
valores.nombre = Text2
valores.a = Text1(0)
valores.b = Text1(1)
valores.c = Text1(2)
valores.d = Text1(3)
valores.e = Text1(4)
valores.f = Text1(5)
List1.AddItem Text2
Put #1, ret, valores
Close #1
Label1 = ret
ret = 0
End Sub

Private Sub Command3_Click()
ret = List1.ListIndex + 1
Open "C:\base.xfg" For Random As #1 Len = Len(valores)
valores.nombre = Text2
valores.a = Text1(0)
valores.b = Text1(1)
valores.c = Text1(2)
valores.d = Text1(3)
valores.e = Text1(4)
valores.f = Text1(5)
Put #1, ret, valores
Close #1
Label1 = ret
End Sub

Private Sub Command4_Click()
End
End Sub

Private Sub Form_Load()
Dim W As Integer
Open "C:\base.xfg" For Random As #1 Len = Len(valores)
Label1 = LOF(1) / 22
For W = 1 To Label1
Get #1, W, valores
List1.AddItem valores.nombre
Next
Close #1
End Sub

Private Sub List1_Click()
ret = List1.ListIndex + 1
Open "C:\base.xfg" For Random As #1 Len = Len(valores)
Get #1, ret, valores
Text1(0) = valores.a
Text1(1) = valores.b
Text1(2) = valores.c
Text1(3) = valores.d
Text1(4) = valores.e
Text1(5) = valores.f
Text2 = valores.nombre
Close #1
End Sub

Private Sub Text1_KeyPress(Index As Integer, KeyAscii As Integer)
If KeyAscii = 13 Then
Index = Index + 1
If Index > 5 Then
Command1.SetFocus
Else
Text1(Index).SetFocus
End If
End If

End Sub


aca el code:
http://www.lawebdelprogramador.com/codigo/down.php?idp=1329

Para Documentarte:

1.- http://www.principiantes.info/lan/wake_on_lan.php

2.- http://sistemasorp.blogspot.com/2005/06/wake-on-lan-y-magic-packet.html

3.- http://www.vicente-navarro.com/blog/index.php/2007/06/03/wake-on-lan/


Wake On Internet

4.- http://www.ezlan.net/WOL.html

DUDAS

1.- http://www.gentoo-es.org/node/168
#23
Luego de saludarles;

Paso a la explicacion (despues de haber leido y releido muchos postt relacionados con esta aplicacion) tengo muchas gana de aprender, pero he tenido varios problemas al tratar de terminar este proyecto (el mio) reconozco que los codigos no son muy eficientes y que tambien no son mios (de mi creacion), bueno despues de aclar esto paso a exponerles mi problema..... o mejor les publico el code del proyecto...!!!

FUNCIONES DE LA APLICACION:
1.- ES UNA APLICACION CLIENTE SERVIDOR (SERVIDOR/CLIENTE A LA INVERSA)

2.- TRANSMISION DE ARCHIVOS (IMAGENES) DEL SERVIDOR Y ENVIADAS AL CLIENTE (NO ENTIENDO MUY BIEN A PLENITUD LA TRANFERENCIA DE ARCHIVOS

3.- NO ENTIENDO QUE ERROR ESTOY COMETIENDO....!!!! (ME PODRIAN HACERLO VER, CORRIENDO ESTE CODE Y SEÑALARME LAS FALLLAS)



EL CLIENTE:


Dim DataFile As String
Dim LenFile As Long
Dim Envio As Boolean

Private Sub Command1_Click()

Select Case Command1.Caption
   
    Case "Iniciar Captura"
        Ws.SendData "Pantalla|" & "IniciarPantalla"
        Command1.Caption = "Parar Captura"
   
    Case "Parar Captura"
         Ws.SendData "Pantalla|" & "PararPantalla"
        Command1.Caption = "Iniciar Captura"

End Select

End Sub

Private Sub Command2_Click()

Select Case Command2.Caption
   
    Case "Iniciar WebCam"
        Ws.SendData "WebCam|" & "IniciarWebCam"
        Command2.Caption = "Parar WebCam"
   
    Case "Parar WebCam"
         Ws.SendData "WebCam|" & "PararWebCam"
        Command2.Caption = "Iniciar WebCam"

End Select
End Sub

Private Sub Form_Load()
Ws.LocalPort = 2848
Ws.Listen
Envio = False
End Sub

Private Sub Ws_Close()
Ws.Close
Ws.Listen
End Sub

Private Sub ws_ConnectionRequest(ByVal requestID As Long)
Ws.Close
Ws.Accept requestID
End Sub

Private Sub ws_DataArrival(ByVal bytesTotal As Long)
Dim data As String

Ws.GetData data

   
      If Envio = True Then
   
        DataFile = DataFile & data
                             
            If Len(DataFile) = LenFile Then
       
                Open "C:\Captura2.jpg" For Binary As #1
                Put #1, , DataFile
                Close #1
                       
                    DataFile = ""
           
                    MsgBox "El Fichero se a Recibido Correctamente"
   
                Envio = False

                'Una vez lo tenemos lo mostramos
                Picture1.Cls
                Picture1.Picture = LoadPicture("C:\Captura2.jpg")
               
           
            Kill "C:\Captura2.jpg"
           
            End If
     End If




'Confirma la palabra clave "Tamaño:" (7 caracteres)y el tamaño del archivo
If Left(data, 7) = "Tamaño:" Then
    'Almacena el tamaño del archivo
    LenFile = Mid(data, 8) '(imagen)
    'Activa el envio del archivo (imagen)
    Envio = True
    'Solicita el envio del archivo enviando la palabra clave "EnviarArchivo" (imagen al servidor)
    Ws.SendData "EnviarArchivo"
End If


End Sub



EL SERVIDOR:

Private Declare Function capCreateCaptureWindow Lib "avicap32.dll" Alias "capCreateCaptureWindowA" (ByVal lpszWindowName As String, ByVal dwStyle As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hwndParent As Long, ByVal nID As Long) As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Declare Function DestroyWindow Lib "user32" (ByVal hndw As Long) As Boolean

Private Const CONNECT As Long = 1034
Private Const DISCONNECT As Long = 1035
Private Const GET_FRAME As Long = 1084
Private Const COPY As Long = 1054

Private hWndCap As Long

'///////////////////////////////////////////////////////////////////////////////////


Dim Buffer() As Byte
Dim lBytes As Long

Private Sub Form_Load()
   
    Ws.Close
    Ws.CONNECT "127.0.0.1", 2848
           
    TimerPantalla.Enabled = False
    TimerPantalla.Interval = 1

    TimerWebcam.Enabled = False
    TimerWebcam.Interval = 1

End Sub

Private Sub Ws_Close()
Ws.Close
Ws.Listen
End Sub

Private Sub ws_Connect()
    MsgBox "Estas Conectado con el Cliente"
End Sub

Private Sub ws_DataArrival(ByVal bytesTotal As Long)
Dim data As String
Dim Enviar As String
Dim vData As Variant

Ws.GetData data

vData = Split(data, "|")

'////////////////////////////////SELECCION DE ACCIONES\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

Select Case vData(0)

Case "Pantalla"
   
    Select Case vData(1)
        Case "IniciarPantalla"
                Call IniciarPantalla
       
        Case "PararPantalla"
                Call PararPantalla
    End Select

Case "WebCam"
   
    Select Case vData(1)
        Case "IniciarWebCam"
            Call IniciarWebcam
       
        Case "PararWebCam"
            Call PararWebcam
    End Select

End Select
   
   
'////////////////////////////////ENVIO DE ARCHIVO CAPTURA\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

    If Left(data, 13) = "EnviarArchivo" Then
   
        Open "c:\foto\captura1.jpg" For Binary As #1
        Enviar = Space(LOF(1))
        Get #1, , Enviar
        Close #1
       
        Ws.SendData Enviar
            Kill ("c:\foto\captura1.jpg")
   
    End If

End Sub

'////////////////////////////////PANTALLA\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

Sub IniciarPantalla()
TimerPantalla.Enabled = True
End Sub

Sub PararPantalla()
TimerPantalla.Enabled = False
End Sub

Private Sub TimerPantalla_Timer()
Dim Foto As New cJpeg

    Foto.SetSamplingFrequencies 2, 2, 2, 2, 2, 2
    Foto.Quality = 50   ' aqui ajustas la calidad desde 1 a 100 asi bajas calidad bajas peso
    Foto.SampleScreen
    Foto.SaveFile ("c:\foto\captura1.jpg")
   
    'Envia Tamaño del archivo (imagen capturada y guardada en la ruta indicada)
    Ws.SendData "Tamaño:" & FileLen("c:\foto\captura1.jpg")
    'Carga el archivo (imagen capturada desde la ruta indicada)
   
    Picture1.Picture = LoadPicture("c:\foto\captura1.jpg")

End Sub

'////////////////////////////////WEBCAM\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\


Sub IniciarWebcam()
    hWndCap = capCreateCaptureWindow("WebcamCapture", 0, 0, 0, 160, 120, Me.hwnd, 0)
    DoEvents
    SendMessage hWndCap, CONNECT, 0, 0
    TimerWebcam.Enabled = True

End Sub

Sub PararWebcam()
    DoEvents: SendMessage hWndCap, DISCONNECT, 0, 0
    TimerWebcam.Enabled = False
End Sub

Private Sub TimerWebcam_Timer()
    'Obtiene frames para Picture1
    SendMessage hWndCap, GET_FRAME, 0, 0
    SendMessage hWndCap, COPY, 0, 0
    SendMessage hWndc, SET_SCALE, True, 0
   
    Picture1.Picture = Clipboard.GetData
    Clipboard.Clear
    SavePicture Picture1.Picture, "c:\foto\captura1.jpg"
   
    'Envia Tamaño del archivo (imagen capturada y guardada en la ruta indicada)
    Ws.SendData "Tamaño:" & FileLen("c:\foto\captura1.jpg")
    'Carga el archivo (imagen capturada desde la ruta indicada)
   
    Picture1.Picture = LoadPicture("c:\foto\captura1.jpg")
End Sub

Private Sub Form_Unload(Cancel As Integer)
    DestroyWindow hWndCap
End Sub


Y UN MODULO LLAMADO  cJPEG.CLS


CODIGO DEL PROYECTO.....!!!
http://www.savefile.com/files/993534
#24
Hace mucho tiempo tuve esa inquietud para mi aplicacion

y buscando encontre y dapte estos code algo rudimentario pero al fin solucion:


1.- Opcion 1

este Utiliza un ListView y un Picturebox para emular los colores el las filas

'funcion que realiza pintar la filas utilizando un control tipo picture
Function ColoreaLv(lv As ListView)

Dim iWidth As Integer, iHeight As Integer
With Picture1
    lv.PictureAlignment = lvwTile
        .AutoRedraw = True
        .AutoSize = True
        .BorderStyle = vbBSNone
        .ScaleMode = vbTwips
        .Top = lv.SelectedItem.Top
        .Width = lv.Width
        .Height = lv.SelectedItem.Height * 2
            iWidth = lv.Width
            iHeight = lv.SelectedItem.Height
            Picture1.Line (0, 0)-(iWidth, iHeight), vbRed, BF '&HC0FFC0
            lv.Picture = Picture1.Image
End With
End Function


2.- Opcion 2
este Utiliza un ListView y un Picturebox para emular los colores el las filas

'/*******************************************************************/
'***************RUTINA PARA PINTAR LINEAS EL LISTVIEW****************
'/*******************************************************************/

'este esta en prueba
Private Sub PintarListview()
    Dim i As Integer

'****** Inicializacion del Picture1  ******
    Picture1.BackColor = ListView1.BackColor
    Picture1.ScaleMode = vbTwips
    Picture1.BorderStyle = vbBSNone
    Picture1.AutoRedraw = True
    Picture1.Visible = False
'****** Finacializacion del Picture1  ******

'****** Inicializacion adaptando al ancho y largo del las lineas del Listview  ******
    Picture1.Width = ListView1.Width
    Picture1.Height = ListView1.ListItems(1).Height * (ListView1.ListItems.Count)
    Picture1.ScaleHeight = ListView1.ListItems.Count
    Picture1.ScaleWidth = 1
    Picture1.DrawWidth = 1
    Picture1.Cls
'****** Finalizacion adaptando al ancho y largo del las lineas del Listview  ******

'****** Bucle para pintar las lineas del Listview  ******
    For i = 1 To ListView1.ListItems.Count
       If i Mod 2 = 0 Then
         
         'LINEA VERDE
         Picture1.Line (0, i - 1)-(1, i), vbGreen, BF
       
       Else
         
         'LINEA AMARILLA
         Picture1.Line (0, i - 1)-(1, i), vbYellow, BF
       End If
    Next
   
    ListView1.Picture = Picture1.Image

End Sub



aca el pack de code:
http://www.savefile.com/files/993442


#25
Cita de: ranslsad en 16 Agosto 2007, 13:42 PM
Haber, si no puede ser (:S) diganmelo porke llevo dos dias mirando este post haber si alguien responde y nada
:(
:(
Salu2
:(
Ranslsad


creo que puedes obtener informacion a tus dudas...!!!!

1. - http://www.vbaccelerator.com/codelib/gfx/vbjpeg.htm

2.-  http://www.pscode.com/vb/scripts/ShowZip.asp?lngWId=1&lngCodeId=56382&strZipAccessCode=tp%2FP563821492
#26
Bueno saludos pa todos..!!!

despues de tanta ladilla he encontrado un modulo clase Cjpeg.cls que si realiza el trabajo de compresion al guardar en fomato *.jpeg y cargar la imagen valida al contenedor picture..!!!!

aca esta el Code

'**************************************************************
'*  Codigo Ejemplo de utilizacion del modulo clase cJpeg.cls  *
'       Class Name:   cJpeg.Cls "JPEG Encoder Class"          *
'       Author:       John Korejwa  <korejwa@tiac.net>        *
'       Version:      0.9 beta  [26 / November / 2003]        *
'*  Despues de tanta ladilla la solucion lenta pero solucion  *
'*                      Por Tunovato                          *
'**************************************************************

Private Sub Capturar_Click()
Dim Captura As New cJpeg

    Captura.SetSamplingFrequencies 2, 2, 2, 2, 2, 2
    Captura.Quality = 10 ' Este numero es variable de 1 a 100, la calidad de la imagen.
    Captura.SampleScreen
    Captura.SaveFile ("C:\" & "Captura" & ".jpg")

End Sub

Private Sub Cargar_Click()
Picture1.Picture = LoadPicture("c:\Captura.jpg")
End Sub

Private Sub Form_Resize()
On Error Resume Next

    If Me.WindowState = vbNormal Or Me.WindowState = vbMaximized Then
        Picture1.Move 1700, 50, Me.ScaleWidth - 1800, Me.ScaleHeight - 100
    End If
End Sub


aca el proyecto completo
code+modulo

http://www.savefile.com/files/970741


a todos gracias por responder...!!!!

ahora solo me faltaria crear una funcion para enviar la imagen capturada por el servidor al cliente (esto que me sirva en forma general todo tipo de archivo)
#27
definitivo he hecho las pruebas con los dos modulos de compresion a archivos jpeg...!!!

he llegado a la conclusion de que el resultado de la la compresion a jpeg resulta en un archivo no valido para cargar en un contenedor del tipo picture.

insto a culquiera me pruebe lo contrario con su  codigo fuente + el proyecto (controles: 01 picture, 02 commandbotton (guardar jpeg, cargar jpeg)




modulos en cuestion:

01 cJPEGi Integer JPEG Encoder by Ron van Tilburg
http://www.savefile.com/files/960150

02 JPEG Encoder Class  por korejwa
http://www.savefile.com/files/960154
#28
Cita de: E0N en  8 Agosto 2007, 17:58 PM
CitarCaptura.SaveFile ("c:\" & "\mu" & ".jpg")

Ahí sobra un "\"


creo que eso lo vi ya, lo he corregido, pero persiste el error...!!!!

aca esta el code, la info, y modificaciones que le he echo al code ...

#29
estoy intentando cargar una imagen que ha sido comprimido con el modulo clase CJpeg

este me arroja un errror al cargar la imagen

Private Sub Command1_Click()
Dim Captura As New cJpeg
Dim imagen As Image
       
        Captura.SetSamplingFrequencies 2, 2, 2, 2, 2, 2
        Captura.Quality = 70 ' aqui se ajusta la calidad, entre 1 y 100
        Captura.SampleScreen   
        Captura.SaveFile ("c:\" & "\mu" & ".jpg")



Picture1.Picture = LoadPicture("c:\mu.jpg")

End Sub



Error "481" en tiempo de ejecucion
la imagen no es valida...

nota: el codigo es copi paste (no es mio)
#30
haber que ha pasado con el remote webcam

se enfrio el guarapo...!!!!