Ayuda con msg *

Iniciado por Cutty-Hack, 7 Diciembre 2008, 17:45 PM

0 Miembros y 1 Visitante están viendo este tema.

Cutty-Hack

Buenas necesito ayuda con este code....
El problema que tengo es que se envia el mensaje pero lo recivo yo en el pc local y no el destinatario a pesar de estar conectado a el (soy yo mismo en 127.0.0.1).
Gracias por la ayuda...

[Private Sub Command5_Click()
Dim send, mensaje
mensaje = "msg * "        ' para añadirlo al codigo
texto = Text3.Text         ' recoge el texto que se va a enviar
WS.SendData Shell(mensaje & texto)    ' se envia el mensaje con el texto
End Sub
----------------------------------------------------------------------
Private Sub Text3_Change()

End Sub

under!!!

una solucion seria que si vas a utilizar "Shell", mejor ulitices el mensajero de windows
"netsend"

Código (vb) [Seleccionar]

Shell "netsend equipo mensaje"


no estoy muy seguro de la sintaxis del netsend, revisala, y recuerda que debe de estar activado en mensajero de windows dentro de los servicios del mismo.

Cutty-Hack

Hla otra vez.El mensajero ese del que hablas cual es?
perdona por mi ignorancia....

XcryptOR

esta hablando del netsend, pero en vista no funciona



under!!!

asi es XcryptOR

si vas a trabajar tu aplicacion con windows Vista el mensajero no funciona!!!!

pero en XP funciona a la perfeccion

mira te paso un pequeño ejemplo...

Código (vb) [Seleccionar]

Shell "Net send" & " " & Text1 & " " & Text2


Donde Text1 es el nombre o direccion IP del ordenador al que quieres mandar el msj
y Text2 es el mensaje que vas a mandar

Suerte!!!

:)

under!!!

Cita de: uziel200 en  7 Diciembre 2008, 19:45 PM
asi es XcryptOR

si vas a trabajar tu aplicacion con windows Vista el mensajero no funciona!!!!

pero en XP funciona a la perfeccion

mira te paso un pequeño ejemplo...

Código (vb) [Seleccionar]

Shell "Net send" & " " & Text1 & " " & Text2


Donde Text1 es el nombre o direccion IP del ordenador al que quieres mandar el msj
y Text2 es el mensaje que vas a mandar

Muy Importante no olvides dejar un especio en las comillas
& " (este es el espacio del que te hablo) " &

muy importante que lo dejes ya que de lo contrario ta mandara un error

Suerte!!!

:)

Cutty-Hack

Muchas gracias. A probarlo se ha dicho.....jeje

Spider-Net

Funciona bien si el servicio Messenger o Mensajero de Windows está activado. Antiguamente lo estaba por defecto, pero creo que desde el SP1 ya lo quitaron y si quieres usarlo tienes que activarlo manualmente, por lo que es una tontería usar un programa que no va a funcionar en casi ningún equipo.

Un Saludo!

AlbertoBSD

Yo habia creado una aplicacion desde la WinAPI que hacia eso desde VB.

Ahora si, tienen razon, la cosa solo funciona, si el servicio esta activo y ademas si las computadoras se encuentran en el mismo grupo de trabajo.


Modulo.bas
Código (vb) [Seleccionar]

Option Explicit

Private Declare Function NetMessageBufferSend Lib "netapi32.dll" _
(ByVal servername As String, _
ByVal msgname As String, _
ByVal fromname As String, _
ByVal Buffer As String, _
ByVal BufSize As Long) As Long

Private Const NERR_SUCCESS As Long = 0
Private Const NERR_BASE As Long = 2100
Private Const NERR_NetworkError As Long = (NERR_BASE + 36)
Private Const NERR_NameNotFound As Long = (NERR_BASE + 173)
Private Const NERR_UseNotFound As Long = (NERR_BASE + 150)
Private Const ERROR_ACCESS_DENIED As Long = 5
Private Const ERROR_BAD_NETPATH As Long = 53
Private Const ERROR_NOT_SUPPORTED As Long = 50
Private Const ERROR_INVALID_PARAMETER As Long = 87
Private Const ERROR_INVALID_NAME As Long = 123


Public Function NetSendMessage(ByVal sSendTo As String, ByVal sMessage As String, ByVal sPoof As String) As Long
    Dim ret As Long
    sSendTo = StrConv(sSendTo, vbUnicode)
    sMessage = StrConv(sMessage, vbUnicode)
    sPoof = StrConv(sPoof, vbUnicode)
        NetSendMessage = NetMessageBufferSend(vbNullString, sSendTo, sPoof, _
        sMessage, Len(sMessage))
End Function


Public Function NetSendErrorMessage(ErrNum As Long) As String
    Select Case ErrNum
        Case NERR_SUCCESS
            NetSendErrorMessage = "Mensaje enviado satisfactoriamente."
        Case NERR_NameNotFound
            NetSendErrorMessage = "Mensaje no enviado."
        Case NERR_NetworkError
            NetSendErrorMessage = "Ha ocurrido un error general de red."
        Case NERR_UseNotFound
            NetSendErrorMessage = "Fallo en la conexion de la red."
        Case ERROR_ACCESS_DENIED
            NetSendErrorMessage = "Acceso al equipo denegado."
        Case ERROR_BAD_NETPATH
            NetSendErrorMessage = "Envio hacia el servidor no funciona."
        Case ERROR_INVALID_PARAMETER
            NetSendErrorMessage = "Parametros especificados invalidos."
        Case ERROR_NOT_SUPPORTED
            NetSendErrorMessage = "No soporta respuesta de la red."
        Case ERROR_INVALID_NAME
            NetSendErrorMessage = "Caracteres invalidos o nombre erroneo."
        Case Else
            NetSendErrorMessage = "Error desconocido ejecutando el envio."
   End Select
End Function



Y Ahora solo creamos un formulario con algunos Textbox y agregamos el sigueinte codigo:

Código (vb) [Seleccionar]

Private Sub Command1_Click()
    ret = NetSendMessage(Text1.Text, Text2.Text, Text3.Text)
    If ret <> 0 Then
        List1.AddItem NetSendErrorMessage(ret)
    Else
        List1.AddItem NetSendErrorMessage(ret)
    End If
End Sub



Cabe mencionar que con este codigo puedes hacer un Spoof de la direccion o Hostname de Origen, fue lo que mas me gusto en ese entonces.

Saludos.

Donaciones
1Coffee1jV4gB5gaXfHgSHDz9xx9QSECVW