0

私の (C#) アプリケーションから Windows Live Writer を開き、ブログ投稿の冒頭部分を記入できるようにしたいと考えています。

これは非常に単純なはずです。Windows Live Writer は、WindowsLiveWriterApplicationLibと呼ばれる COM インターフェイスを公開するアプリケーション APIを定義します。このようなブログ投稿によると、typelib (通常は C:\Program Files (x86)\Windows Live\Writer\WindowsLiveWriter.Application.tlb にあります) に新しい参照を追加すると、コードを記述できるようになります。このような:

static void Main(string[] args)
{

    var wlw = new WindowsLiveWriterApplicationLib.WindowsLiveWriterApplicationClass();
    wlw.BlogThisHtml("test","test");

}

...それが機能していないことを除いて。イベントコンパイルしません。代わりに、次のようなエラーが発生します。

Error   1   The type 'WindowsLiveWriterApplicationLib.WindowsLiveWriterApplicationClass' has no constructors defined    

Error   2   Interop type 'WindowsLiveWriterApplicationLib.WindowsLiveWriterApplicationClass' cannot be embedded. Use the applicable interface instead.  

Error   3   'WindowsLiveWriterApplicationLib.WindowsLiveWriterApplicationClass' does not contain a definition for 'BlogThisHtml' and no extension method 'BlogThisHtml' accepting a first argument of type 'WindowsLiveWriterApplicationLib.WindowsLiveWriterApplicationClass' could be found (are you missing a using directive or an assembly reference?) 

クラスを埋め込むことができず、コンストラクターがなく、呼び出しているメソッドが含まれていないと主張しています。(オブジェクト エクスプローラーで明確に表示される場合。)

ここで私が見逃している明らかなことは何ですか?

4

1 に答える 1

3

それを機能させることができました。

RegSvr32.exe を使用して WindowsLiveWriter.Application.dll を登録する必要がありました。その後、それは働き始めました。

作業コードは次のとおりです。

static void Main(string[] args)
{

    WindowsLiveWriterApplication wlw = new WindowsLiveWriterApplication();
    ((IWindowsLiveWriterApplication2)wlw).BlogThisHtml("test", "testhtml");

}
于 2011-12-13T15:05:32.683 に答える