No.1ベストアンサー
- 回答日時:
どこまで「真面目に」やりたいかにもよりますが……。
本当に真面目にやるなら,フォルダはディレクトリではないため,
MSDN) SHGetFolderLocation function
http://msdn.microsoft.com/en-us/library/windows/ …
を起点に
MSDN) SHCreateItemFromIDList function
http://msdn.microsoft.com/en-us/library/windows/ …
でIShellItemを得て,それからフォルダやファイル等を列挙していくか,
ツリービューを諦めて
MSDN) INameSpaceTreeControl interface
http://msdn.microsoft.com/en-us/library/windows/ …
を使うか,となります。
# 私は後者をC#でやろうとしてP/Invokeの宣言だけで諦めました……。
Visual Basic 中学校のサンプルというのは,
Site) VB サンプル集 - VB2010, VB2008, VB2005, VB.NET2003, VB.NET2002
http://homepage1.nifty.com/rucio/main/dotnet/Sam …
にある,
Site) VB フォルダツリー
http://homepage1.nifty.com/rucio/main/dotnet/Sam …
のことでしょうか。
非常にコンパクトなサンプルだと思いますが。
・何が分からなかったのでしょうか
・エラーとはどういうエラーでしょうか (例外であれば,その型とエラーメッセージ)
# Visual Basic 中学校には質問用の掲示板があるのですけれどね……。
この回答への補足
>Site) VB フォルダツリー
>http://homepage1.nifty.com/rucio/main/dotnet/Sam …
>のことでしょうか。
回答有り難うございます。また、私の見ていたサンプルプログラムよりも遥かにわかりやすい例を提示してくださって、重ねて御礼申し上げます。
早速打ち込んでRUNさせたところ、以下の様なエラーメッセージが表示されて、その子ノード以下はアクセス出来ません。
http://hw001.spaaqs.ne.jp/hi-001/img/CantAccess. …
http://hw001.spaaqs.ne.jp/hi-001/img/capture.png
Documents and Settings の子ノードを開きたいのですが、これはできない相談なのでしょうか?
p.s. 質問用掲示板があるのも気付きませんでした。こちらも活用したいと思います。
なんか色々やっているうちに一応使い物になる物が出来ましたので公開いたします。
(ホントは秘密にしておきたいんですが、回答者様へのお礼です)
Public Class Form1
__Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
____For Each drive As String In IO.Directory.GetLogicalDrives
______TreeView1.Nodes.Add(drive)
____Next
__End Sub
__Private Sub TreeView1_AfterSelect(ByVal sender As System.Object, ByVal e As System.Windows.Forms.TreeViewEventArgs) Handles TreeView1.AfterSelect
____Try
______Dim oya As New IO.DirectoryInfo(TreeView1.SelectedNode.FullPath)
______If TreeView1.SelectedNode.Nodes.Count = 0 Then 'もし子ノードがなければ追加する。
________For Each ko As IO.DirectoryInfo In oya.GetDirectories
__________TreeView1.SelectedNode.Nodes.Add(ko.Name)
________Next
______End If
____Catch ex As Exception
____End Try
__End Sub
End Class
visual basic 中学校のよりさらにわかりやすく、かつ、正しく動作するように仕上げました。
(e.node.は意味不明なのであえて使っていません。)
このままでも十分使えますが、本番では、さらに改良する予定です。
Yune-Kichi様、指南していただきまして本当に有難うございました。(^^v
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 写真・ビデオ iphoneからPCへ写真をインポート、保存先がわかりません。 2 2022/09/29 02:06
- Google Drive 【Googleドライブ】ドライブ上内でのフォルダ移行について 4 2022/11/30 12:50
- Windows 10 エクスプローラーとフォルダの違い 3 2023/05/04 03:45
- Excel(エクセル) vba レジストリの値を読み込教えてください教えてください 1 2023/07/14 14:09
- UNIX・Linux 【初心者】aws lightsail で自作のオリジナルテーマのwordpressを設定する方法 1 2022/07/14 09:46
- フリーソフト ffmpegのパラメーター『-i』について 1 2023/03/09 07:19
- ドライブ・ストレージ エクスプローラードライブに不明なCDドライブ内容が表示されている? 2 2023/06/17 13:21
- その他(IT・Webサービス) 名前の知られていないアプリケーション 3 2023/05/03 19:35
- Excel(エクセル) 【マクロ】フォルダAからダBへファイルを、ファイルの更新日時の条件で、1つづつ移動するには? 3 2022/08/25 09:56
- C言語・C++・C# PC画面を録画するプログラムでdllの読み込みエラー 1 2023/04/22 08:31
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
python エラー
-
エクセルのエラーメッセージ「4...
-
バッチからsqlplusの接続エラー...
-
適切な変換関数が存在しない???
-
Handlesについて
-
fortranでプログラムを実行する...
-
コンパイルできません。
-
sys/time.hのインクルードがで...
-
エラー: ‘inval’ の記憶サイズ...
-
エクセルでマクロを実行すると...
-
fatal error LNK1112
-
フォームの作成中にエラーが発...
-
ビルド失敗 指定されたファイ...
-
レコードセットをcloseする所で...
-
visual C++ でビルドの中止がで...
-
Excelのエラーで困ってます。
-
デバッグ中のエラーのことで教...
-
c言語をgcc.exeにコンパイルし...
-
MakeSureDirectoryPathExists
-
Fortran コンパイルエラーについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
python エラー
-
エクセルのエラーメッセージ「4...
-
適切な変換関数が存在しない???
-
Excelのエラーで困ってます。
-
バッチからsqlplusの接続エラー...
-
fortranでプログラムを実行する...
-
HEWを使用しているのですが、こ...
-
コンパイルできません。
-
デバッグ中のエラーのことで教...
-
visual C++ でビルドの中止がで...
-
BC30002: 型 'ListItem' が定義...
-
Handlesについて
-
sys/time.hのインクルードがで...
-
ビルド失敗 指定されたファイ...
-
VB2008で定数に色の設定をした...
-
RightとLeft関数のライブ...
-
multiple definitionというエラー
-
WindowsからLinuxへの移植
-
HANDLEの宣言でのエラー
-
レコードセットをcloseする所で...
おすすめ情報