VBPファイル in 趣味のVisual Basic
VBP Files in Visual Basic of Taste.

Written in Japanese (UTF-8)
at 2007/09/05
by K.J.K.


注意事項
1, K.J.K.が趣味で作ったMicrosoft Visual Basicのサンプルです。
2, 収録してあるファイルは、各自の責任において、ご自由にお使い下さい。
3, ただし、不特定多数への配布(書籍・サイトへの転載)を希望する場合は、
事前に連絡して下さい。
4, 質問・要望・苦情は K.J.K.までどうぞ。






初版公開日
 シェル操作
1998/09/27 [フォルダの参照]ダイアログ
1998/10/07 クリップボードによるファイルのコピー
1999/09/13 デスクトップのスタイルを変更する
2006/07/05 MNG形式のサムネールをExolorerで表示できるようにする

 画像処理/描画/マルチメディア
1999/06/06 イメージハンドルをPictureに変換する、など
1999/04/22 Susie Plug-inを用いてファイルから画像を読み込む
2000/06/26 imgutil.dllを用いる
2001/01/06 文字列を回転させる
2001/01/20 IImgCtxを用いる
2002/03/12 マルチメディアタイマーを用いたストップウォッチ
2002/03/17 DirectShowを用いて静止画をキャプチャーする
2002/03/18 GDI+を用いる
2003/07/26 IExtractImageを用いる

 ネットワーク/インターネット
1998/09/27 ファイルを手軽にダウンロードする
2001/04/13 ネットワークリソースの列挙
2002/06/10 名前からIPアドレスを調べる

 その他
1999/08/16 タイプライブラリの登録
1999/12/04 コンソールアプリの利用
2001/03/28 VBのGetObjectで取得できるActiveX EXEを作る
2001/07/25 VBのGetObjectで取得できるオブジェクトを列挙する

 未整理


シェル操作

タイトル [フォルダの参照]ダイアログ(1)
ファイル名 FldrDlg.lzh
サイズ 17,277 bytes
更新日 2007/09/05
タイトル [フォルダの参照]ダイアログ(2)
ファイル名 FldrDlg2.lzh
サイズ 26,975 bytes
更新日 2007/09/05
今後の予定 小規模な改良を予定しています。
分類 VB6で作成したクラス化を伴うサンプル
機能 [フォルダの参照]ダイアログを表示するサンプルです。
特徴 マルチインスタンスに対応したクラス化を行なっています。
初期ルートフォルダ、初期選択フォルダの設定が可能です。
2では、パスがとれないフォルダでも一意な名前を取得できます。
2では、独自のIFolderFilterを用いて非標準のフォルダ列挙を行います。
主な内容 API関数SHBrowseForFolderの利用方法。
シェルの名前空間内でのアイテム名をあらわすItemIDListの取り扱い。
(API関数のCoTaskMemFreeなどによって解放できます。)
クラス化を伴うコールバック関数の利用方法。
注意 2では、専用のタイプライブラリ(KTLFdDlg.tlb)を同梱しています。
デザイン/コンパイル時に必要です。実行時には不要です。

タイトル クリップボードによるファイルのコピー
ファイル名 DragFile.lzh
サイズ 17,190 bytes
更新日 1998/10/07 (未完成)
今後の予定 ある程度の修正を行い、完成版を目指す予定です。
分類 VB5で作成したクラス化を伴うサンプル
依存 別ページにあるタイプライブラリを利用しています。
機能 クリップボードによるファイルのコピーを可能にするサンプルです。
特徴 エクスプローラなどに、クリップボードを介してファイルを渡すことが可能です。
デスクトップ上のアイコンにもドラッグ&ドロップができます。
主な内容 API関数によるクリップボードとのファイル名のやり取り。
注意 未完成です。
ドラッグ&ドロップで期待された名前が渡せないときがあります。

タイトル デスクトップのスタイルを変更する
ファイル名 DTCustom.lzh
サイズ 22,694 bytes
更新日 1999/09/13
今後の予定 ひとまず完成版とさせていただきます。
分類 VB6で作成したActiveX DLLのサンプル
(「エクスプローラを操る」の実験版)
機能 デスクトップのアイコンの表示形式を変更するサンプルです。
特徴 デスクトップのアイコンの表示形式を、
大きなアイコン、小さなアイコン、一覧、詳細、と変更します。
主な内容 API関数SHLoadInProcの利用方法。
使用方法 ActiveX DLLを登録してから、付属の(標準)EXEを実行してください。
注意 正しい手順でスタイルを変えているわけではないので、一覧表示時に異常など、
が発生します。

タイトル MNG形式のサムネールをExolorerで表示できるようにする
ファイル名 MngExt10.lzh
サイズ 51,269 bytes
更新日 2008/03/09
今後の予定 アルゴリズムを見直す予定です。
実装するCOMインターフェースを増やす予定です。
分類 VB6で作成したActiveX DLLのサンプル
機能 Explorerのサムネール表示機能を拡張するサンプルです。
特徴 MNG形式の画像をExplorerでの「縮小版」表示モードに対応させます。
主な内容 IExtractImage、IPersistFileの実装。
使用方法 ActiveX DLLを登録してから、付属のMNGThumb.regをレジストリに
結合して下さい。
注意 流用したタイプライブラリ(KTLGDIPA.tlb)を同梱しています。
デザイン/コンパイル時に必要です。実行時には不要です。
GDI+(gdiplus.dll)が必要です。パスの通ったところにおいてください。
VB5で使用するには、一部修正する必要があります。


画像処理/描画/マルチメディア

タイトル イメージハンドルをPictureに変換する、など
(「イメージハンドルをPictureに変換する」(1998/07/31)の改定版)
ファイル名 H2PObj.lzh
サイズ 23,587 bytes
更新日 1999/06/06 (未完成)
タイトル イメージハンドルをPictureに変換する(2)
ファイル名 H2PObj2.lzh
サイズ 13,559 bytes
更新日 1998/09/27
今後の予定 拡張しながら、完成版を目指す予定です。
(2)は独立したタイプライブラリに移行する予定です。
分類 VB6(2はVB5)で作成した関数化を伴うサンプル
依存 別ページにあるタイプライブラリを利用しています。
機能 イメージのハンドルをPictureオブジェクトに変換します。
特徴 ビットマップ/アイコン/メタファイルハンドルをPictureオブジェクトに変換します。
メモリー上のデータからの作成、メモリー上への書き出しも可能です。
主な内容 API関数OleCreatePictureIndirectの利用方法。
BITMAP,ICON,METAFILEの各種操作。
インターフェースIPictureの利用方法。
注意 現時点(独立したタイプライブラリができるまで)は、できるだけ(1)を利用して下さい。

タイトル Susie Plug-inを動的に利用する
ファイル名 VBdePlg.lzh
サイズ 105,757 bytes
更新日 1999/04/22 (改良中)
今後の予定 大規模な改良を施し、完成を目指す予定です。
NT系に対応するため、ギミックのインターフェースを使用する予定です。
分類 VB6で作成したクラス化を伴うサンプル
機能 「たけちん」さんの作ったプログラム「Susie」のプラグインファイルを
VBで動的に利用するサンプルです。
特徴 VBのランタイムとWindowsAPI関数のみを使って、実行時にロードした
DLL内の関数を利用します。
主な内容 API関数LoadLibrary,GetProcAddress,FreeLibraryの利用方法。
上記で得た関数へのポインタを利用して、その関数を呼び出す方法。
ファイルやメモリー上のデーターからのBITMAP(Picture)の作成方法。
注意 NT系のOSには対応していません。
専用のタイプライブラリ(KTLClPlg.tlb)を同梱しています。
デザイン/コンパイル時に必要です。実行時には不要です。
VB5で使用するには、一部修正する必要があります。

タイトル imgutil.dllを用いる
ファイル名 PictView.lzh
サイズ 81,224 bytes
更新日 2000/06/26
今後の予定 実験サンプルなのでおそらく何も更新しません。
分類 VB6で作成した実験サンプル
機能 imgutil.dllをVBから利用します。
主な内容 imgutilの利用方法。
注意 実験サンプルです。
専用のタイプライブラリ(KTLClPlg.tlb)を同梱しています。
デザイン/コンパイル時に必要です。実行時には不要です。
VB5で使用するには、一部修正する必要があります。

タイトル 文字列を回転させる
ファイル名 RotFont.lzh
サイズ 19,526 bytes
更新日 2001/01/06
今後の予定 XPでの描画領域の問題を改善する予定です。
分類 VB6で作成したサンプル
機能 文字列を傾けて/回転させて表示します。
特徴 回転させて描画した文字列をメタファイルにして利用しています。
主な内容 API関数CreateFontIndirectの利用方法。
API関数CreateFontなどの利用方法。
API関数CreateEnhMetaFileなどの利用方法。
注意 OSがWindows XP以降の環境では、正しい大きさでメタファイルが作成されないことがよくあります。
右端及び下端が欠ける、もしくはその逆で右端及び下端に余白ができる、といった現象です。
VB5で使用するには、一部修正する必要があります。

タイトル IImgCtxを用いる
ファイル名 VBImgCtx.lzh
サイズ 5,008 bytes
更新日 2003/09/02
今後の予定 実験サンプルなのでおそらく何も更新しません。
分類 VB6で作成した実験サンプル
機能 IImgCtxインターフェースをVBから利用します。
主な内容 IImgCtxの利用方法。
注意 実験サンプルです。
専用のタイプライブラリ(KTLImgCx.tlb)を同梱しています。
デザイン/コンパイル時に必要です。実行時には不要です。
VB5で使用するには、一部修正する必要があります。

タイトル マルチメディアタイマーを用いたストップウォッチ(1)
ファイル名 StpWch00.lzh
サイズ 8,953 bytes
更新日 2002/03/12
タイトル マルチメディアタイマーを用いたストップウォッチ(2)
ファイル名 StpWch20.lzh
サイズ 12,898 bytes
更新日 2005/04/07
今後の予定 ひとまず完成版とさせて頂きます。
分類 VB6で作成したサンプル
機能 マルチメディアタイマーを使ってストップウォッチを組み立てます。
主な内容 API関数timeSetEvent、timeKillEvent、timeGetTimeの使い方。
イベントオブジェクトをDirectXforVBで待ち受ける方法。(1)
timeSetEventでコールバック関数を指定する方法。(2)
注意 DirectX8 for VBを利用しています。(1)
DirectX7 for VBで使用するには、一部修正する必要があります。(1)
専用のタイプライブラリ(KTLMMTmr.tlb)を同梱しています。(2)
デザイン/コンパイル時に必要です。実行時には不要です。(2)

タイトル DirectShowを用いて静止画をキャプチャーする
ファイル名 MdaCpt09.lzh
サイズ 84,247 bytes
更新日 2004/12/05
今後の予定 アナログTVチューナに対応させる予定です。
分類 VB6で作成したサンプル
機能 DirectShowで動画を再生し、希望した位置での画像(静止画)をクリップボードにコピーします。
特徴 IBasicVideo.GetCurrentImageメソッドを用いて静止画を取得します。
IVMRWindowlessControl9.GetCurrentImageメソッドを用いて静止画を取得します。
ISampleGrabberを用いて静止画を取得します。
主な内容 IBasicVideo.GetCurrentImageメソッドの利用方法。
IVMRWindowlessControl9.GetCurrentImageメソッドの利用方法。
ISampleGrabberインターフェースの利用方法。
注意 専用のタイプライブラリ(KTLDShw2.tlb)を同梱しています。
デザイン/コンパイル時に必要です。実行時には不要です。
VB5で使用するには、一部修正する必要があります。

タイトル GDI+を用いる
ファイル名 Gp4VB00.lzh
サイズ 42,950 bytes
更新日 2002/03/18
今後の予定 大規模な改良を施し、完成を目指す予定です。
分類 VB6で作成したサンプル
機能 GDI+を用いて、PNGファイルやTIFFファイルなどを表示します。
特徴 GDI+を用いて、VB標準の機能では扱えない画像ファイルを利用します。
主な内容 gdiplus.dll内の関数の利用方法。
注意 現時点では、ファイルからの画像の読み込み程度にしかGDI+を用いていません。
VB5で使用するには、一部修正する必要があります。

タイトル IExtractImageを用いる
ファイル名 ExtImg00.lzh
サイズ 9,169 bytes
更新日 2003/07/26
今後の予定 ひとまず完成版とさせて頂きます。
分類 VB6で作成したサンプル
機能 IExtractImageをVBから利用します。
主な内容 IExtractImageを用いて画像のサムネールを取得する方法。
注意 専用のタイプライブラリ(KTLThumb.tlb)を同梱しています。
デザイン/コンパイル時に必要です。実行時には不要です。
VB5で使用するには、一部修正する必要があります。


ネットワーク/インターネット

タイトル ファイルを手軽にダウンロードする
ファイル名 EasyDL3.lzh
サイズ 21,740 bytes
更新日 2004/06/11
今後の予定 ひとまず完成版とさせて頂きます。
分類 VB6で作成したクラス化を伴うサンプル
機能 urlmon.dllを用いてファイルのダウンロードを行います。
主な内容 API関数URLDownloadToFileを用いてファイルをダウンロードする方法。
注意 専用のタイプライブラリ(UrlDL.tlb)を同梱しています。
デザイン/コンパイル時に必要です。実行時には不要です。
VB5で使用するには、一部修正する必要があります。

タイトル ネットワークリソースの列挙
ファイル名 NetEnum.lzh
サイズ 10,980 bytes
更新日 2001/04/13
今後の予定 ひとまず完成版とさせて頂きます。
分類 VB6で作成したサンプル
機能 ネットワークリソースを列挙し、ツリー状に表示します。
主な内容 API関数WNetOpenEnum、WNetEnumResource、WNetCloseEnumを使って、
ネットワークリソースを列挙する方法。

タイトル 名前からIPアドレスを調べる
ファイル名 Hst2IP11.lzh
サイズ 10,406 bytes
更新日 2002/08/04
今後の予定 ひとまず完成版とさせて頂きます。
分類 VB6で作成したサンプル
機能 winsockのAPI関数を用いて、ホスト名とIPアドレスの相互変換を試みます。
主な内容 API関数WSAAsyncGetHostByNameを用いてブロックせずにIPアドレスを取得する方法。
API関数WSAAsyncGetHostByAddrを用いてブロックせずにホスト名を取得する方法。
注意 VB5で使用するには、一部修正する必要があります。


その他

タイトル タイプライブラリの登録
ファイル名 LibReg.lzh
サイズ 18,319 bytes
更新日 1999/08/16
今後の予定 未定です。
分類 VB6 で作成したサンプル
機能 タイプライブラリやActiveX Server DLLの登録/解除を行います。
主な内容 API関数LoadTypeLibEx,UnRegisterTypeLibの利用方法。
インターフェースITypeLibの利用方法。
DllRegisterServer,DllUnregisterServerの動的な呼び出し方。
注意 NT系のOSには対応していません。

タイトル コンソールアプリの利用
ファイル名 CnslBox.lzh
サイズ 18,153 bytes
更新日 1999/12/04
タイトル コンソールアプリの利用2
ファイル名 CnslBox2.lzh
サイズ 24,837 bytes
更新日 2000/06/20
今後の予定 改良を予定しています。
分類 VB6で作成したサンプル
機能 Win32コンソールアプリを起動し、ファイルを介さずに入出力します。
UIをフリーズさせることなく、プロセスの終了を監視します。
主な内容 API関数MsgWaitForMultipleObjectsの利用方法。
API関数CreateProcessの利用方法。
API関数PeekNamedPipeの利用方法。
注意 mscomctl.ocx, comdlg32.ocx, richtx32.ocxを使用しています。
コンソールプログラム利用時に、CPU使用率が100%になることがあります。

タイトル VBのGetObjectで取得できるActiveX EXEを作る
ファイル名 Sharing.lzh
サイズ 8,490 bytes
更新日 2001/03/28
今後の予定 ひとまず完成版とさせて頂きます。
分類 VB6で作成したActiveX化を伴うサンプル
機能 GetObject(, クラス名)で得られるActiveX EXEを作ります。
主な内容 API関数RegisterActiveObject、RevokeActiveObjectの使い方。
注意 tlbinf32.dllを利用しています。
VB5で使用するには、一部修正する必要があります。

タイトル VBのGetObjectで取得できるオブジェクトを列挙する
ファイル名 EnumObj.lzh
サイズ 14,485 bytes
更新日 2001/07/25
今後の予定 ひとまず完成版とさせて頂きます。
分類 VB6で作成したサンプル
機能 GetObjectで取得できるActiveXオブジェクトを列挙します。
主な内容 ROT(Running Object Table)でRunning-Objectを列挙する方法。
注意 専用のタイプライブラリ(KTLROT.tlb)を同梱しています。
デザイン/コンパイル時に必要です。実行時には不要です。
VB5で使用するには、一部修正する必要があります。


未整理

AnmWnTst.lzh
CBEvent.lzh
DrgIcn00.lzh
EdInCbSC.lzh
FldrTr01.lzh
HTMLDrop.lzh
MultLang.lzh
ShlLink2.lzh
ToPrompt.lzh
URL2File.lzh



戻る (Go Back)