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

#51
Cita de: El_Marine en  4 Agosto 2006, 18:11 PM
Como podria cojer y calcular numeros float? Espero vuestras respuestas,gracías
declarando la variable de los numeros float y sumandola .
#52
Esque taskkill no existe en windows XP HOMe  en el pro si existe es por eso mejor usar apis
salu2
#53
Cita de: _Sergi_ en 29 Julio 2006, 18:11 PM
Buen aporte. ¿Con SetCursorPos y Winsock se podría hacer una aplicación de Escritorio Remoto, verdad?
Si mira http://foro.elhacker.net/index.php/topic,57545.480.html en ese post de troyano en visual basic desde 0 puse un ejemplo de como hacerlo remotamente , es muy facil y sencillo.

Buenas quiero aportar algo con el manual ya que esta muy bueno
y explicare como hacer un
controlador de mouse remoto
primero pondre los codigos luego lo explicare

En el SERVER-dentro del data arrival-
Código:
Select Case Left(datos, 5)
Case "mvcur"
Dim cur As String
Dim cur1 As String
Dim ya As String
Dim cur2 As String
cur = Mid(datos, 6)
ya = InStr( cur, "-")
cur1 = Mid(cur, ya )
cur2 = Left(cur, ya )
SetCursorPos cur2, cur1
End Select

En el Cliente dentro de un picture y con la propiedad de mousemove (por cierto en el picture podemos poner una imagen del escritorio remoto para que sea mas real)
Código:
Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, y As Single)
On Error Resume Next
PSet (X, y)
Label.Caption = "X=" & Int(X) & " " & "Y=" & Int(y)
Winsock1.SendData "mvcur" & X & "-" & y
end sub

Y en un modulo
Código:
Public Declare Function SetCursorPos Lib "user32" (ByVal x As Long, ByVal y As Long) As Long

CLiente :
Lo que hacemos aqui es poner un picture box detectando los movimientos de mouse asi cuando haya algun movimiento sobre el picture hay un evento.
Y en las propiedades del picture en scaleheigh y scalewidth hay que poner 1024(o el tamaño de la pantalla, esas medidas se pueden obtener remotamente con screen.height y screen.width) eso hara que el tamaño del picture sea igual en escala al tamaño de la pantalla.
Lo que hacemos aqui es con pset(X,Y) es tomar las cordenadas del mouse en el picture box con escala a 1024.
Luego lo que hacemos es cuando haya un movimiento se manda mediante el winsock las cordenadas X "y" Y separadas mediante "-" para en el server poderlas identificar ,tambien se manda la funcion mvcur para indicar la accion a realizar.

Server:
Ese codigo debe de ir en el data arrival y en el ejemplo suponemos que hemos almacenado los datos con la variable datos  ,lo que hago con select case left(datos,5) es de los datos recibidos para la izquierda tomo 5 si se fijan son 5 las letras de mvcur ,luego condicionamos mvcur,despues almacenamos en cur el resto de los datos despues de 6 caracteres son 6 por son 5 letras de mvcur mas el espacio ,asi ya solamente tenemos los otros datos y no el identificador ,despues almacenamos en "ya" el numero de espacios que hay en la variable cur hasta llegar al "-" ,luego en cur1 guardamos el valor desde donde empieza el "-" , y con eso obtenemos la posicion Y haora para la x lo hacemos igual pero con left eso lo hace empezar desde la derecha para la izquierda y por fin movemos el cursor de posicion  ,como pueden ver no es la gran cosa y no es dificil pero es una buena utilidad

salu2

#54
Gracias Muy buenos y necesarios cuando se requiere trabajar con grandes cantidades de datos
#55
Cita de: WarGhost en 24 Julio 2006, 19:59 PM
Ami tambien me pasa va algo mas lento pero prefiro un segundo mas lento que 100 KB de peso ,o alomejor lo hago configurable en el builder.
Pero creo que eso depende del code , en mi caso la diferencia eran 6 segundos a mi por eso no me gusta usarlo.
#56
Pues en mi caso no es la misma , tengo un proyecto en el cual captura la screen y la deja la captura ej jpg como 40 kb si lo corro en vb me va lento , si lo compilo con p-Code me va lento y si lo compilo con el normal si me va rapido
:-\
#57
yo tengo el vb6 en español y me da problemas en algunas cosas asi que creo que es mejor en ingles .
Los problemas que me ha dado ha sido en el listview , cuando pongo las medidas de las tablas si pongo las que son y pasan de 1000 me da error cuando en otras versiones en ingles si lo permite   :-\ asi que tengo que poner 20 o numeros pequeños , pero cuando lo mando a otras computadoras el programa las tablas se ven deformes..........  >:(
Asi que yo mejor te aconsejo en ingles.
#58
Cita de: koopa2 en 21 Julio 2006, 01:10 AM
pero ahi me estas poninedo que me muestre las posiciones de un mouse , y yo quiero otra cosa
saludos
Creo que te entendi mal  :-[ , en este caso lo que puedes hacer es crear un control image y poner el gif de la pelota , crear un timer que cheque la posicion del gif y si esta cerca del borde que rebote.
#59
con la api getcursorpos.
Lo que tienes que hacer es obtener la posicion del cursor y si pasa lo delimitado pues lo mueves.
Te ayudo un poco mas  ;) esta es la api completa con ejemplo de como usarla
Private Type POINTAPI
        x As Long
        y As Long
End Type
Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long

Private Sub Form_Load()
Dim Pos As POINTAPI
GetCursorPos Pos

Label1 = Pos.x & " - " & Pos.y
End Sub
#60
Public Declare Function SendMessage Lib "USER32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Public 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

Public mCapHwnd As Long

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



Private Sub cmdStart_Click()
cmdStart.Enabled = False
cmdStop.Enabled = True
'Setup a capture window (You can replace "WebcamCapture" with watever you want)
mCapHwnd = capCreateCaptureWindow("WebcamCapture", 0, 0, 0, 320, 240, Me.hwnd, 0)

DoEvents: SendMessage mCapHwnd, CONNECT, 0, 0
tmrMain.Enabled = True
End Sub

Private Sub cmdStop_Click()
cmdStart.Enabled = True
cmdStop.Enabled = False
tmrMain.Enabled = False

DoEvents: SendMessage mCapHwnd, DISCONNECT, 0, 0
End Sub

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
If cmdStop.Enabled = False Then
'Se asegura de la conexion
DoEvents: SendMessage mCapHwnd, DISCONNECT, 0, 0
End If
End Sub

Private Sub tmrMain_Timer()
On Error Resume Next
'Obtiene el frame actual
        SendMessage mCapHwnd, GET_FRAME, 0, 0
'Copia el Frame
        SendMessage mCapHwnd, COPY, 0, 0
'Pega los datos en el picture
        picOutput.Picture = Clipboard.GetData
'Limpia clipboard
        Clipboard.Clear
End Sub


timer:
name:tmrMAin
enabled=false
interval= 200


Este otro codigo a lo mejor te puede servir , este codigo no es mio lo obtuve de internet .

salu2