私は COM プログラミングのバックグラウンドがほとんどない Web 開発者です。別の部門が ADUC を介してサムネイル写真を変更できるように、プロパティ シートを作成したいと考えています。
これまでに、DLL を登録して ADUC に追加するスクリプトをすべて作成し、見つけたコンパイル済みの DLL でテストしたので、あとは実際に DLL 自体を作成するだけです。
調査の結果、C++ を使用する場合は IShellExtInit クラスと IShellPropSheetExt クラスを実装する必要があることがわかりました。私は本当にC#でそれを行う方法を知りたいのですが、最初に習得しやすいほうが望ましいでしょう。それから、自分で他の言語を学ぶことができます.
実用的なコード サンプルやチュートリアルの方向性を教えてもらえますか? 私が見つけたのはより多くの理論であり、チュートリアルに従うことでより多くのことを学ぶことができるので、それは大きな助けになるでしょう.
これまでのところ、次のシェルを作成しましたが、それがオフであるかどうかを教えてください。ただし、COM の知識が限られているため、これまでに書いたのはこれだけです。
#include "stdafx.h"
#include <ShObjIdl.h>
class PropPage : IShellExtInit, IShellPropSheetExt
{
/////////////////////////
//IShellExtInit methods//
/////////////////////////
HRESULT Initialize(PCIDLIST_ABSOLUTE pidlFolder, IDataObject *pdtobj, HKEY hkeyProgID)
{
return S_OK;
}
//////////////////////////////
//IShellPropSheetExt methods//
//////////////////////////////
HRESULT AddPages(LPFNADDPROPSHEETPAGE pfnAddPage, LPARAM lParam)
{
return S_OK;
}
HRESULT ReplacePage(UINT uPageID, LPFNADDPROPSHEETPAGE pfnReplacePage, LPARAM lParam)
{
return S_OK;
}
/////////////////
//Misc. methods//
/////////////////
};
PSもっとある場合はcppとヘッダーに分割しますが、何をしているのかわかりませんが、すべてをcppに含める方が簡単です