DExplore

Last-modified: 2007-03-12 (月) 18:13:06

DExplore.AppObj

C++(Win32ベース)でDExploreを起動してヘルプを参照する方法がありません。
WSHからなら楽勝なんですけどね。
Win32ベースからだと簡単には利用できません。

ググってもほとんど皆無です。

てなわけでvshelp.tlbはあるのでvshelp.idlに変換して、さらにヘッダファイルを作成してみました。
このヘッダファイルはC++用です。C部分については省略しています。

Sample source code:

::CoInitialize( NULL );
CLSID ClassID;
if( ::CLSIDFromProgID( DExploreAppObj_Name, &ClassID ) == S_OK ){
  IHelp* pIHelp;
  //CLSCTX_LOCAL_SERVER or CLSCTX_SERVER or CLSCTX_ALL, ...
  if( ::CoCreateInstance( ClassID, NULL, CLSCTX_LOCAL_SERVER, IID_IHelp, (LPVOID)&pIHelp ) == S_OK ){
    pIHelp->SetCollection( L"ms-help://MS.PSDKSVR2003R2.1033", L"" );
    pIHelp->Contents();  //DExpore displayed!
    pIHelp->DisplayTopicFromF1Keyword( L"CoCreateInstance" );
    pIHelp->SyncIndex( L"CoCreateInstance", 1 );
    pIHelp->IndexResults();
    pIHelp->Release();  //DExplore is end!
  }
}
::CoUninitialize();

このコードだと実行するたびにDExploreが開きます。
すでに開いているDExploreを使いたい場合は別の方法を探す必要があります。

ヘッダファイルを添付しておきます。
このファイルは DExplore を呼び出すために必要なヘッダファイルです。


filevshelp.lzh [詳細] filevshelp.zip [詳細]