もともと本体の重複起動時にコマンドライン引数を受け渡すための仕組みですが、プラグインではアンコちゃんから起動する形になるので、自作アプリからアンコちゃんのコメント送信機能だけを拝借ってことがやりにくいっていうこともあるかと思います。
2.0.39.6以降では、放送IDだけでなく運営コメント、一般コメント、BSPコメントを渡すことが出来るようになっています。
2.0.39.6以降では、放送IDだけでなく運営コメント、一般コメント、BSPコメントを渡すことが出来るようになっています。
アンコちゃんをインストールしたフォルダ内にnicoviewMsgというフォルダーがあります。コマンドラインからコメントを送るサンプルと、ソースも付けてみました
コマンドラインツールの使い方はreadme.txtを参照してね
楽しいアプリできたら教えて下さい。
コマンドラインツールの使い方はreadme.txtを参照してね
楽しいアプリできたら教えて下さい。
アンコちゃんがインストールされているフォルダーからnicoviewLink.dllをコピーして組み込みたいプログラムと同じ場所においてもいいですし、参照設定でローカルコピー=Trueにしておいてもいいです。
とりあえず参照設定に追加します。
あと、System.Runtime.Remotingも参照設定に追加しておきます。
とりあえず参照設定に追加します。
あと、System.Runtime.Remotingも参照設定に追加しておきます。
4行追加しておいてください。
c#
c#
using nicoviewLink; using System.Runtime.Remoting; using System.Runtime.Remoting.Channels; using System.Runtime.Remoting.Channels.Ipc;vb
Imports nicoviewLink Imports System.Runtime.Remoting Imports System.Runtime.Remoting.Channels Imports System.Runtime.Remoting.Channels.Ipc
フォームであればLoadにでも書いておきます
c#
c#
ChannelServices.RegisterChannel(new IpcClientChannel(), true); RemotingConfiguration.RegisterWellKnownClientType( typeof(nicoviewLink.RemoteObject), "ipc://" + ankoname + "/Program");vb
ChannelServices.RegisterChannel(New IpcClientChannel(), True) RemotingConfiguration.RegisterWellKnownClientType(GetType(nicoviewLink.RemoteObject), "ipc://" & ankoname & "/Program")
mutexはアンコちゃんが起動していることをチェックするために使っています。
無いと、tryでエラー処理する間の時間がちょっとかかるかもしれないです。
c#
無いと、tryでエラー処理する間の時間がちょっとかかるかもしれないです。
c#
nicoviewLink.RemoteObject remo = new nicoviewLink.RemoteObject(); try { using (var mutex = new System.Threading.Mutex(false, ankoname)) { if (!mutex.WaitOne(0, false)) { remo.RemotePostOwnerComment("なまえ", "ここに文章", "コマンド"); } } } catch { }vb
Sub PostComment(msg As String, cmd As String) Dim remo As nicoviewLink.RemoteObject = New nicoviewLink.RemoteObject() Try Using mutex = New System.Threading.Mutex(False, ankoname) If (Not mutex.WaitOne(0, False)) Then remo.RemotePostComment(msg, cmd) End If End Using Catch ex As Exception End Try End Sub
コメントをかく