2009-07-21 14 views
4

Photoshop CS4の自動化に少し問題があります。 Visual Studio 2008プロジェクトでCOM APIへの参照を追加する場合、Adobe Photoshop Object Libraryは[COM]タブの[参照の追加]パネルに表示されません。しかし、Illustrator CS4タイプライブラリはうまく表示されます。 Photoshop自体は、32ビットと64ビットの両方の味で完璧に動作します。 PhotoshopはMaster Suite CS4の他のすべてのアプリと一緒にインストールされました。C#のPhotoshop CS4 COMへの参照を追加する方法

これは、Windows 7とWindows XPの両方で2つの異なるマシン+ 1仮想PC(Vmwareワークステーション)で動作しませんでした。 VS2010 Beta 1とMS Word VBエディタでも試しましたが、ここでもうまくいきませんでした。

誰もが考えていますか?参照を追加できた場合は、構成は何ですか?

答えて

5

仮想マシンを作成する必要はありません。このバージョンのPhotoshopをアドミニストレータとして実行するために、COMが表示しないバージョンのPhotoshopには問題があります。これがレジストリを修正しますCOMが利用可能になります。

+0

もっと良い解決策、ありがとうございます。 –

+0

これがうまくいった!ありがとうございました。 – Jirapong

3

結局のところ、解決策はWindows XP仮想マシンを(クリエイティブスイート全体の代わりに)Photoshopのスタンドアロンインストールで使用することでした。これを使用して、Photoshop CS4(スタンドアロンまたはクリエイティブスイート)がインストールされているWindowsで動作するdllを生成できます。

編集:ここでは、全体のプロセス

がお気に入りの仮想化ソリューション(VMwareの、VirtualBoxは、のVirtualPCなど)を使用してWindows XPの仮想マシンを作成しています。 Visual Studio 2008とPhotoshop CS4のスタンドアロンインストールをインストールしてください(私の場合、クリエイティブスーツはすべて機能しませんでしたが、あなたのマイレージは異なる場合があります)。 Visual Studioを開き、新しいVB.NETまたはC#クラスライブラリを作成します。これが完了したら、ソリューションエクスプローラの "reference"フォルダを右クリックし、参照の追加を選択します。 COMタブに移動し、 "Adobe Photoshop CS4タイプライブラリ"を検索します。これは2つの新しい参照を追加します: "Photoshop"と "PhotoshopTypeLibrary"。ダミー関数を作成し(必須ではないかもしれないが)、プロジェクトをビルドする。良い方法として、コンパイルモードが「リリース」に設定されていることを確認できますが、これは必須ではありません。デバッグは正常に動作します。プロジェクトがビルドされたら、VMハードドライブのプロジェクトフォルダに移動し、bin \ releaseフォルダを探します。そこに3 dllが表示されます:あなたのプロジェクトの名前を付けられたもの、Photoshop.dllと別の名前のInterop.Photoshop.dllという名前のもの。最後の2つをWindows 7 x64であなたの開発マシンにコピーしてください。次に、参照を追加してそれらの2つのdllにブラウズすることで、プロジェクトでそれらをインポートすることができます。

私が気づいたのは、DLLが32ビットVMでコンパイルされていたのに比べて、.NETプログラムが64ビットモードで実行されていれば、64ビットバージョンのPhotoshopを呼び出すことになります。

私はそれが助けてくれることを願っています!

関連する問題