vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#

https://www.vbarchiv.net
Rubrik: HTML/Internet/Netzwerk · Sonstiges   |   VB-Versionen: VB630.06.01
ICQ Pager Modul

Beispiel, wie man eine ICQ-Nachricht aus der eigenen VB-Anwendung heraus versenden kann.

Autor:   Marcel ColleyBewertung:  Views:  13.153 
go.to/gigawinSystem:  Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 Beispielprojekt auf CD 

ICQ - das wohl bekannteste und beliebteste Programm zum Chatten mit Freunden und Versenden von Kurz-Nachrichten. Unser heutiger Tipp zeigt, wie Sie eine solche ICQ-Message direkt aus Ihrer eigenen VB-Anwendung heraus versenden können.

Um das Beispiel auszuprobieren, erstellen Sie ein neues Projekt und fügen das Microsoft Internet Transfer Control ein (MSINET.OCX). Plazieren Sie eine Instanz des Inet-Controls auf die Form. Jetzt brauchen Sie noch ein paar Textboxen, für die benötigten Angaben, wie Empfänger-ICQ, Betreff, Nachricht, Name und EMail-Adresse. Benennen Sie die Textboxen txtICQNr, txtName, txtEMail, txtBetreff und txtNachricht und setzen Sie die Multiline-Eigenschaft der Nachrichten-Box auf True. Fügen Sie jetzt noch einen CommandButton cmdSend ein.

Und hier der Source:

' Nachricht absenden
Private Sub cmdSend_Click()
  cmdSend.Visible = False
  ICQMessage txtICQNr, txtName.Text, txtEMail.Text, _
    txtBetreff.Text, txtNachricht.Text
  cmdSend.Visible = True
End Sub
 
' ICQ-Nachricht versenden
Public Sub ICQMessage(ICQNummer As String, Name As String, _
  EMail As String, Betreff As String, Nachricht As String)
 
  Dim r_name As String
  Dim r_Subject As String
  Dim r_Message As String
 
  Const ICQURL = "http://wwp.icq.com/scripts/WWPMsg.dll"
 
  ' Ist die Eingegebene ICQ Nummer überhaubt eine Zahl?
  If Not IsNumeric(ICQNummer) Then
    MsgBox "Es wurde eine ungültige oder falsche " & _
      "ICQ Nummer eingegeben", 65, "ICQ Pager"
    Exit Sub
  End If
 
  ' Ist überhaubt ein Name eingegeben?
  If Trim$(Name) = "" Then
    MsgBox "Es wurde kein Name eingegeben", _
      65, "ICQ Pager"
    txtName.SetFocus
    Exit Sub
  End If
 
  ' Ist überhaubt eine eMailAdresse eingegeben?
  If Trim$(EMail) = "" Then
    MsgBox "Es wurde keine eMail Adresse eingegeben", _
      65, "ICQ Pager"
    txtEMail.SetFocus
    Exit Sub
  End If
 
  ' Ist überhaubt ein Betreff eingegeben?
  If Trim$(Betreff) = "" Then
    MsgBox "Es wurde noch kein Betreff eingegeben", _
      65, "ICQ Pager"
    txtBetreff.SetFocus
    Exit Sub
  End If
 
  ' Ist überhaubt eine Nachricht eingegeben?
  If Trim$(Nachricht) = "" Then
    MsgBox "Es wurde noch keine Nachricht eingegeben", _
      65, "ICQ Pager"
    txtNachricht.SetFocus
    Exit Sub
  End If
 
  ' Leerzeichen durch + ersetzen
  r_name = Replace(Trim$(Name), " ", "+")
  r_Subject = Replace(Trim$(Betreff), " ", "+")
  r_Message = Replace(Trim$(Nachricht), " ", "+")
 
  ' Zeilenumbrüche codieren
  r_Message = Replace(r_Message, vbCrLf, "%0d%0a")
 
  ' Absenden der Nachricht über das
  ' Microsoft Internet Transfer Control
  cmdSend.Visible = False
  Inet1.Execute ICQURL & "?from=" & r_name & _
    "&fromemail=" & EMail & _
    "&subject=" & r_Subject & _
    "&body=" & r_Message & _
    "&to=" & ICQNummer & _
    "&Send=" & """"
End Sub

Das war's dann auch schon. Beim Klicken auf den Sende-Button wird das Msg-Script WWPMsg.dll von der ICQ-URL geladen und alle entsprechenden Paramater übergeben:

from  Ihr Name
fromemail  Ihre EMail-Adresse
subject  Betreff
body  Nachricht
to  Empfänger (ICQ-Nr)

Wichtiger Hinweis
Damit diese Funktion nicht für unliebsame Spam-Messages missbraucht werden kann, ist seitens des ICQ-Script eine kleine Sperre eingebaut. So lassen sich maximal 3-4 Nachrichten direkt hintereinander versenden - dann muss erstmal eine Pause eingelegt werden. Nach ein paar Minuten kann dann wieder die nächste Nachricht gesendet werden.
 



Anzeige

Kauftipp Unser Dauerbrenner!Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv  Vol.6
(einschl. Beispielprojekt!)

Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
- nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten
- Symbol-Galerie mit mehr als 3.200 Icons im modernen Look
Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m.
 
 
Copyright ©2000-2024 vb@rchiv Dieter OtterAlle Rechte vorbehalten.


Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.