- ベストアンサー
exeだけで、CommonDialogのような動作
CommonDialogコントロールを使わずに、VbのexeファイルだけでCommonDialogのような動作を実現する方法はありますか? CommonDialogを使いますとインストーラーで配布しないといけなくなるので、exeファイルだけで実行できるようにしたいと言う目的です。
- みんなの回答 (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型の変数を準備して、適切に初期化を行い、関数からの戻り値をチェックして使いましょう
お礼
ありがとうございます。やってみます。