- ベストアンサー
利用者に指定させたディレクトリー情報を取得したい
maruru01の回答
こんにちは。maruru01です。 フォルダ選択のAPI SHBrowseForFolder を使用します。 フォルダ名を返す関数を参考までに。 標準モジュールに、 Public Type BROWSEINFO hwndOwner As Long pidlRoot As Long pszDisplayName As String lpszTitle As String ulFlags As Long lpfn As Long lParam As Long iImage As Long End Type Public Declare Function SHBrowseForFolder Lib "shell32" (lpbi As BROWSEINFO) As Long Public Declare Function SHGetPathFromIDList Lib "shell32" (ByVal pIDL As Long, ByVal pszPath As String) As Long 'API使用のフォルダー指定ダイアログ 'Msg:ダイアログのタイトル 'Frm:使用するフォーム(通常はMeを指定) Public Function GetFolder(Msg As String, Frm As Form) As String Const MAX_PATH = 260 Dim lngRetValue As Long Dim strBuffer As String * MAX_PATH Dim strPathBuffer As String * MAX_PATH Dim udtBrowseInfo As BROWSEINFO Dim ReturnPath As String Dim rt As String strBuffer = String(Len(strBuffer), vbNullChar) strBuffer = App.Path & vbNullChar If Msg = "" Then Msg = "フォルダーを指定してください。" End If With udtBrowseInfo .hwndOwner = Frm.hWnd .pidlRoot = &H0 .pszDisplayName = strBuffer .lpszTitle = Msg & vbNullChar .ulFlags = &H1 .lpfn = 0 .lParam = 0 .iImage = 0 End With lngRetValue = SHBrowseForFolder(udtBrowseInfo) If lngRetValue <> 0& Then lngRetValue = SHGetPathFromIDList(lngRetValue, strPathBuffer) If lngRetValue = 0 Then rt = "" Else ReturnPath = Left(strPathBuffer, InStr(strPathBuffer, vbNullChar) - 1) rt = ReturnPath End If Else rt = "" End If GetFolder = rt End Function
関連するQ&A
- ファイル名とホルダ名の取得
SHBrowseForFolderを使えばホルダだけを選択でき、GetOpenFileNameを使えばファイルだけを選択できます。 ファイルとディレクトリをどちらでも選択できるような関数はないでしょうか?
- 締切済み
- C・C++・C#
- ディレクトリのサイズの取得
Win32apiで、指定されたディレクトリの下にある全ファイル(サブディレクトリ含む)のサイズを取得できないでしょうか? よろしくお願いします。
- 締切済み
- C・C++・C#
- ディレクトリを選択するコモンダイアログボックス
Windows APIに関する質問です。 GetOpenFileNameを使うとファイルを選択するコモンダイアログボックスが使えますが、ファイルではなくディレクトリ(フォルダー)を選択するコモンダイアログボックというのは存在するのでしょうか?
- ベストアンサー
- C・C++・C#
- Perl で ディレクトリ及びサブディレクトリの容量を取得したい
Perlについて質問します。 Perlで特定のディレクトリ及び、サブディレクトリ全てのファイルの容量を取得する方法についてです。 opendir、readdir関数を使用し指定した階層の合計が表示できたが、それより1つ下の、サブディレクトリはファイルを読み込めませんでした。 どうすればサブディレクトリのファイルも読み込んでもらえるでしょうか。 よろしくお願いします。
- 締切済み
- Perl
- Softの情報取得 APIについて
お願いします。 急いでいるので、文面等問題ありましたら、申し訳ございません。 早速ですが、PC内のインストールされているソフト情報を取得したいのですが、API等で取得可能でしょうか?(ソフト名等) APIの関数を教えていただきたいです。また、関連するホームページ等もあればおしえてくださいませ。 作成する言語 出来れば、VB またはVC++ 大変申し訳ありません。よろしくお願いします。
- 締切済み
- その他(プログラミング・開発)
- VB6.0のレジストリ情報取得方法
VB6でレジストリの情報取得について、質問いたします。 VBにて、レジストリのセクション名を取得(検索して存在するなら真の値を返すだけでもよい)したいのですが、APIとか関数はあるのでしょうかまたは、出来るのでしょうか?調べた限り見つからない・・・・(-_-; 宜しくお願いします。
- 締切済み
- Visual Basic
- Visual Basic5.0でファイルの取得
VBの初心者です。 今、VisualBasic5.0を使って、UNIXの中のCSVファイルを取ってくるというプログラムを作っています。 API関数を使って取ってくることができるのは確認済みなのですが、できればAPI関数を使わずに取得したいのです。 VBhelpの中で使えそうなオブジェクトや関数など探してみたのですが、直接ファイルを取得するようなものは見つかりませんでした。 VB5.0を使ってプログラムを作るという条件があるので、最新のVB6.0の方でできるのかどうかは調べていません。 わかられる方がおられましたら、よろしくお願いします。
- 締切済み
- Visual Basic
- ディレクトリ内のファイルの取得
指定したディレクトリ内にあるファイルとディレクトリをすべて取得したいのですが上手くいきません。 どうすればよいか教えてください。お願いします。
- 締切済み
- C・C++・C#
- VB6で呼び出し元の情報を取得する方法について
Win XP VB6 SP5 VB6で呼び出し元の情報を取得する方法について VB6で ・呼び出し元の関数本体が宣言されているソースのファイル名 ・呼び出し元の関数名 を取得する方法はありますでしょうか? システムログを生成する時に利用しようかと考えています。
- 締切済み
- Visual Basic
お礼
ありがとうございました。お蔭様で、解決致しました。