Skype nachricht versenden, Skype User anrufen, uvm.

    • VB.NET

    Es gibt 87 Antworten in diesem Thema. Der letzte Beitrag () ist von Thomas2705.

      Skype nachricht versenden, Skype User anrufen, uvm.

      Hallo,

      Ich möchte euch heute zeigen wie ihr eine Skype nachricht versenden könnt, einen User anrufen, uvm.!
      Also ich hab mal bei den Toolboxelementen geschaut, was es da alles gibt, und da bin ich zufällig auf eine DLL von Skype gestoßen!.
      Ihr müsst Skype installiert haben und müsst online sein!

      Hinzufügen der DLL
      Ihr klickt auf Extras, Toolboxelemente hinzufügen, Com Steuerelemente, und da scrollt ihr runter bis Skype Class, macht einen haken hin und drückt OK.
      Falls bei euch diese DLL nicht da ist müsst ihr sie manuell hinzufügen, indem ihr auf durchsuchen klickt in den Ordner C:\Program Files\Common Files\Skype geht und die Skype4COM.dll auswählt.
      Jetzt kommt das leichteste! Ihr müsst das Element Skype Class auf eure Form ziehen(im programm ist es unsichtbar)


      Die Codes

      Um eine Nachricht zu verschicken benötigt man den Code:

      VB.NET-Quellcode

      1. AxSkype1.SendMessage("username", "nachricht")

      Um einen per skype anzurufen benötigt man diesen Code:

      VB.NET-Quellcode

      1. AxSkype1.PlaceCall("username")


      um eine sms zu versenden diesen code(nicht getestet, bei mir ist im moment kein skype user online, außerdem kein skype guthaben)

      VB.NET-Quellcode

      1. AxSkype1.SendSms("handynummer", "text")


      um etwas aus einem profl auszulesen diesen code:

      VB.NET-Quellcode

      1. RichTextBox1.Text = AxSkype1.get_User("username").eigenschaft

      statt eigenschaft muss man die jeweilige eigenschaft nehmen, z.b. language.

      skype status ändern:

      VB.NET-Quellcode

      1. AxSkype1.CurrentUserStatus = SKYPE4COMLib.TUserStatus.cusOffline


      skype statustext ändern:

      VB.NET-Quellcode

      1. AxSkype1.CurrentUserProfile.MoodText = "NeuerStatusText"


      Danke an:
      mcandy007 für den code um den skype status zu ändern!
      PascalN für den code um den skype statustext zu ändern!
      Jopi-Dev für den Code um einen Skype-User anzurufen!

      Ich hatte noch keine zeit alle codes aufzulisten, aber ich werde noch mehr codes hier reinschreiben.
      Falls ihr funktionierende codes gefunden habt, die hier noch nicht gepostet wurden, schreibt sie mir per pn!

      lg Gugi
      Dateien
      • Skype4COM.rar

        (443 kB, 1.453 mal heruntergeladen, zuletzt: )

      Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „gugi-zone.net“ ()

      Memo schrieb:

      Find ich interesant.
      aber ich kann die dll nicht finden.
      kannst du bitte einen Downloadlink mitschicken oder sie anhängen?

      hab sie jetzt angehängt

      jansteffen schrieb:

      gibt es auch eine möglichkeit zu prüfen, ob der benutzer in skype online ist der das proggi verwendet, oder macht das die DLL sogar allein?

      er überprüft das nicht automatisch.
      ich schau aber heute noch ob ich einen code finde, der des überprüfen kann.

      lg Gugi

      Patschi schrieb:

      Würde überprüfen ob Skype überhaupt läuft und ob Skypestatus Online, Offline, etc ist!

      und hier ein kleines beispiel wie er überprüft, ob skype gestartet ist aber der user offline, skype gestartet ist der user online oder skype nicht gestartet ist überprüft wird:

      VB.NET-Quellcode

      1. If AxSkype1.Client.IsRunning = True And AxSkype1.CurrentUser.OnlineStatus = SKYPE4COMLib.TOnlineStatus.olsOffline Then
      2. MessageBox.Show("Bitte loggen sie sich ein!")
      3. ElseIf AxSkype1.Client.IsRunning = True And AxSkype1.CurrentUser.OnlineStatus <> SKYPE4COMLib.TOnlineStatus.olsOffline Then
      4. MessageBox.Show("Der User hat Skype gestartet und ist online!")
      5. ElseIf AxSkype1.Client.IsRunning = False Then
      6. MessageBox.Show("Der User hat Skype nicht gestartet oder hat Skype nicht installiert!")
      7. End If


      lg Gugi
      'SendVoiceMail' funktioniert nicht:
      {" VOICEMAIL: Placing voicemail failed"}


      Der Username (bzw. der Userhandle) stimmt und ich bin auch eingeloggt. Kann es sein, dass diese Lib nur für eine ältere Version von Skype gültig ist? (Sie heisst zwar Skype4ComLib)



      Gruss
      Pascal
      JA.
      Du könntest dir die Member vom Skype Com Objekt auch gerne mal selber anschauen...

      VB.NET-Quellcode

      1. For Each u As SKYPE4COMLib.User In AxSkype1.Friends
      2. ListBox1.Items.Add(u.Handle) 'Wobei 'Handle' der Skype-Anmeldename ist. Es gibt noch die Möglichkeit
      3. ''FriendlyName' (selbsterklärend) und FullName (Auch selbsterklärend)
      4. Next



      Gruss
      Pascal

      PascalN schrieb:


      Der Username (bzw. der Userhandle) stimmt und ich bin auch eingeloggt. Kann es sein, dass diese Lib nur für eine ältere Version von Skype gültig ist?

      nein, ich hab die aktuellste skype version, und es funktioniert tadellos.
      Hast du namen der in skype angezeigt wird oder den Skype namen?
      Wenn du nicht weist was der unterschied ist:
      Beim Echo / Sound Test Service wird Echo / Sound Test Service angezeigt, aber der skype name ist echo123.

      tests mal mit dem:

      VB.NET-Quellcode

      1. AxSkype1.SendVoicemail("echo123")


      lg Gugi
      Ich hab schon den Handle genommen ;)
      Soweit habe ich mich schon selber eingearbeitet. Unterschied kenne ich auch (Siehe Skype Statustext ändern ^^)
      SendMessage geht auch, nur bei SendVoicemail gibts einen Absturz ohne richtige Fehlermeldung (Nur: 'Call Placement failed').

      Bei echo123, beginnt bei mir der Anruf ( :thumbsup: ), beim Klingeln stürzt das Programm dann aber doch ab ( :cursing: )


      Gruss
      Pascal

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „PascalN“ ()

      fehler:

      Spoiler anzeigen
      System.InvalidOperationException wurde nicht behandelt.
      Message="Fehler beim Erstellen des Formulars. Weitere Informationen finden Sie in Exception.InnerException. Fehler: Klasse nicht registriert (Ausnahme von HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))."
      Source="WindowsApplication1"
      StackTrace:
      bei WindowsApplication1.My.MyProject.MyForms.Create__Instance__[T](T Instance) in 17d14f5c-a337-4978-8281-53493378c1071.vb:Zeile 190.
      bei WindowsApplication1.My.MyProject.MyForms.get_Form1()
      bei WindowsApplication1.My.MyApplication.OnCreateMainForm() in C:\Users\Johannes\AppData\Local\Temporary Projects\WindowsApplication1\My Project\Application.Designer.vb:Zeile 35.
      bei Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.OnRun()
      bei Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.DoApplicationModel()
      bei Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Run(String[] commandLine)
      bei WindowsApplication1.My.MyApplication.Main(String[] Args) in 17d14f5c-a337-4978-8281-53493378c1071.vb:Zeile 81.
      bei System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)
      bei Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
      bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
      bei System.Threading.ThreadHelper.ThreadStart()
      InnerException: System.Runtime.InteropServices.COMException
      Message="Klasse nicht registriert (Ausnahme von HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))"
      Source="System.Windows.Forms"
      ErrorCode=-2147221164
      StackTrace:
      bei System.Windows.Forms.UnsafeNativeMethods.CoCreateInstance(Guid& clsid, Object punkOuter, Int32 context, Guid& iid)
      bei System.Windows.Forms.AxHost.CreateWithoutLicense(Guid clsid)
      bei System.Windows.Forms.AxHost.CreateWithLicense(String license, Guid clsid)
      bei System.Windows.Forms.AxHost.CreateInstanceCore(Guid clsid)
      bei System.Windows.Forms.AxHost.CreateInstance()
      bei System.Windows.Forms.AxHost.GetOcxCreate()
      bei System.Windows.Forms.AxHost.TransitionUpTo(Int32 state)
      bei System.Windows.Forms.AxHost.CreateHandle()
      bei System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
      bei System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
      bei System.Windows.Forms.AxHost.EndInit()
      bei WindowsApplication1.Form1.InitializeComponent() in C:\Users\Johannes\AppData\Local\Temporary Projects\WindowsApplication1\Form1.Designer.vb:Zeile 58.
      bei WindowsApplication1.Form1..ctor()
      InnerException:


      hab win 7 64 bit. könnts vieleicht am 64 bit liegen?
      :P Mfg Aligator :P

      aligator schrieb:

      fehler:

      Spoiler anzeigen
      System.InvalidOperationException wurde nicht behandelt.
      Message="Fehler beim Erstellen des Formulars. Weitere Informationen finden Sie in Exception.InnerException. Fehler: Klasse nicht registriert (Ausnahme von HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))."
      Source="WindowsApplication1"
      StackTrace:
      bei WindowsApplication1.My.MyProject.MyForms.Create__Instance__[T](T Instance) in 17d14f5c-a337-4978-8281-53493378c1071.vb:Zeile 190.
      bei WindowsApplication1.My.MyProject.MyForms.get_Form1()
      bei WindowsApplication1.My.MyApplication.OnCreateMainForm() in C:\Users\Johannes\AppData\Local\Temporary Projects\WindowsApplication1\My Project\Application.Designer.vb:Zeile 35.
      bei Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.OnRun()
      bei Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.DoApplicationModel()
      bei Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Run(String[] commandLine)
      bei WindowsApplication1.My.MyApplication.Main(String[] Args) in 17d14f5c-a337-4978-8281-53493378c1071.vb:Zeile 81.
      bei System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)
      bei Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
      bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
      bei System.Threading.ThreadHelper.ThreadStart()
      InnerException: System.Runtime.InteropServices.COMException
      Message="Klasse nicht registriert (Ausnahme von HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))"
      Source="System.Windows.Forms"
      ErrorCode=-2147221164
      StackTrace:
      bei System.Windows.Forms.UnsafeNativeMethods.CoCreateInstance(Guid& clsid, Object punkOuter, Int32 context, Guid& iid)
      bei System.Windows.Forms.AxHost.CreateWithoutLicense(Guid clsid)
      bei System.Windows.Forms.AxHost.CreateWithLicense(String license, Guid clsid)
      bei System.Windows.Forms.AxHost.CreateInstanceCore(Guid clsid)
      bei System.Windows.Forms.AxHost.CreateInstance()
      bei System.Windows.Forms.AxHost.GetOcxCreate()
      bei System.Windows.Forms.AxHost.TransitionUpTo(Int32 state)
      bei System.Windows.Forms.AxHost.CreateHandle()
      bei System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
      bei System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
      bei System.Windows.Forms.AxHost.EndInit()
      bei WindowsApplication1.Form1.InitializeComponent() in C:\Users\Johannes\AppData\Local\Temporary Projects\WindowsApplication1\Form1.Designer.vb:Zeile 58.
      bei WindowsApplication1.Form1..ctor()
      InnerException:


      hab win 7 64 bit. könnts vieleicht am 64 bit liegen?

      bei was kam den überhaupt der error? beim anrufen, nachricht, oder was?

      lg Gugi