• ベストアンサー

exeだけで、CommonDialogのような動作

CommonDialogコントロールを使わずに、VbのexeファイルだけでCommonDialogのような動作を実現する方法はありますか? CommonDialogを使いますとインストーラーで配布しないといけなくなるので、exeファイルだけで実行できるようにしたいと言う目的です。

質問者が選んだベストアンサー

  • ベストアンサー
  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

VB6などの場合でしょうか? 直接 WinAPIを Declareでユーザー定義関数として定義して使うといった手法でしょう たとえば ファイル開くダイアログなら ComDlg32.DLLの中の『GetOpenFileName』を使う事になります Declare Function GetOpenFileName Lib "ComDLg32" _ Alias "GetOpenFileNameA" ( pOpenFileName as OPENFILENAME) as Long といった関数宣言と # 標準モジュールで定義するならPrivate宣言をPublic宣言にします Private Type OpenFileName   lStructSize As Long   hwndOwner As Long   hInstance As Long   lpstrFilter As String   lpstrCustomFilter As String   nMaxCustFilter As Long   nFilterIndex As Long   lpstrFile As String   nMaxFile As Long   lpstrFileTitle As String   nMaxFileTitle As Long   lpstrInitialDir As String   lpstrTitle As String   flags As Long   nFileOffset As Integer   nFileExtension As Integer   lpstrDefExt As String   lCustData As Long   lpfnHook As Long   lpTemplateName As String End Type といった構造宣言をして使う事になります 呼び出し時には OPENFILENAME型の変数を準備して、適切に初期化を行い、関数からの戻り値をチェックして使いましょう

miran_2006
質問者

お礼

ありがとうございます。やってみます。

関連するQ&A