VBScript で Skypeを使用した簡単なデータ通信

受信側
いずれも、Skype はログイン済みであるという前提です。
受信側を先に起動して、待ち受け状態にします。

必ず cscript.exe で実行する必要があります。
( MsgBox は、待ち受け状態を作る最も簡単な方法です )

Call WScript.ConnectObject(Skype, "Skype_") は、WSH
における、イベントを利用する為の記述で、API 側の
イベントを利用できるようになります
Dim Skype, App
 
Set Skype = Wscript.CreateObject("Skype4COM.Skype")
Call WScript.ConnectObject(Skype, "Skype_")
Set App = Skype.Application("lightbox")

App.Create()
WScript.Echo "App created."

MsgBox("?")

Public Sub Skype_ApplicationReceiving(ByVal pApp, ByVal pStreams)

	For Each aStream In pStreams 
		Wscript.Echo aStream.Read
	Next 

End Sub 
送信側
アプリケーション用の "lightbox" という接続が作成されると、
ストリームが自動的に作成されます。
API としては複数接続可能ですが、ここでは1つだけ作成されますので、
それを使用してデータを Write で送信します。
Dim Skype, App
Dim SkypeStream
 
Set Skype = Wscript.CreateObject("Skype4COM.Skype")
Call WScript.ConnectObject(Skype, "Skype_")
Set App = Skype.Application("lightbox")
 
App.Create()
WScript.Echo "App created."

 
Call App.Connect("接続先", true)
WScript.Echo " connected."

WScript.Echo App.Streams.Count

WScript.Sleep( 100 )

Do While App.Streams.Count > 0
	str = InputBox( "接続先へ文字列を送ります" )
	SkypeStream.Write(str)
	if str = "quit" then
		SkypeStream.Disconnect()
		Exit Do
	end if
Loop

App.Delete()

' **********************************************************
' 現在の接続に対応するストリームを知る為のイベント
' ( 1対1なら、必要無い )
' **********************************************************
Public Sub Skype_ApplicationStreams(ByVal pApp, ByVal pStreams)

	Wscript.Echo "ApplicationStreams"

	Set SkypeStream = Nothing 

	For Each aStream In pStreams 
		If SkypeStream is Nothing Then
			Set SkypeStream = aStream 
		Else
			' ここでは意味は無い
			aStream.Disconnect() 
		End If 
	Next 

End Sub 
送信側( イベント無し )
App.Streams は、1 から始まります
これを使えば、限定環境で使用可能です
Dim Skype, App
Dim SkypeStream
 
Set Skype = Wscript.CreateObject("Skype4COM.Skype")
 
Set App = Skype.Application("lightbox")
 
App.Create()
WScript.Echo "App created."
 
Call App.Connect("winofsql2", true)
WScript.Echo " connected."

WScript.Echo App.Streams.Count

WScript.Sleep( 100 )

Do While App.Streams.Count > 0
	str = InputBox( "接続先へ文字列を送ります" )
	Set SkypeStream = App.Streams(1)
	SkypeStream.Write(str)
	if str = "quit" then
		SkypeStream.Disconnect()
		Exit Do
	end if
Loop

App.Delete()