環境
.Net2008 C++/CLI Windowsフォームアプリケーション
.NetFrameWorkは2.0で作成してます。
アプリケーションの起動時にUSBメモリがささっているか確認し、
刺さっていればアプリは続行しUSBメモリ内のCSVファイルを読み込む処理を作ろうとしているのですが、
ネットで検索してもファイルやディレクトリばかりでドライブの検索方法が見つかりませんでした。
USBはさすたびにドライブ名が変わるのでファイルパスを固定にしてファイルオープンするわけにもいかず悩んでいます。
また、
ファイル構成がまったく同じUSBが複数刺さってたらどれを読むのか?という問題があるのですがこちらもどなたかご存知の方いましたら教えてください。よろしくお願い致します。
No.2ベストアンサー
- 回答日時:
SetupDiEnumDeviceInfoなんかで列挙して、SetupDiGetDeviceRegistryPropertyで調べるとか。
http://www.usefullcode.net/2006/12/post_19.html
> ファイル構成がまったく同じUSBが複数刺さってたらどれを読むのか?という問題があるのですが
ファイル構成が全く同じであれば、何か識別子が無いと人間でも見分けられないですよね。
人間ができないことはコンピューターにも無理です。
何らかの識別子を用意するしかないでしょう。
回答ありがとうございます。
デバイスマネージャ見れるんですね…知らなかった。
結局知ってるものでできないかと試行錯誤してD~Zドライブまでファイルオープンしてみて最初に見つけたCSVファイルがあるドライブを読む処理になりました。
これだと同時にZドライブまでオープンできなかったらUSBが刺さっていないことを確認できるし、USBが複数ささっている状況でも対応できたので。
デバイスマネージャは別の処理部分で使えそうなのでそちらで使ってみます。ありがとうございました。
No.1
- 回答日時:
.Net FrameWorkではないですが、WM_DEVICECHANGE+DeviceIoControlを実行すれば、対象ドライブも取得できますよ。
一度、WM_DEVICECHANGEあたりでググってみて下さい。
回答ありがとうございます。
少し調べてみましたが、WM_DEVICECHANGEは
ドライブの抜き差し等の変化を取得するもので、
作成中のアプリケーションは起動前というかPCの電源を入れる前から刺さっているのが前提で、途中で抜くこともない場合は変化がないから取得できない??
もう少し調べてみます。ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- USBメモリー・SDカード・フラッシュメモリー 銀行が振込データの受け渡しに未だにFDを使っている理由は「FDDがAドライブ固定だから」って本当? 11 2022/06/02 03:53
- その他(パソコン・周辺機器) Windowsマシン。USBタップの「自動切れ、再接続」がうざい。解決策は? 7 2023/01/25 08:27
- その他(パソコン・周辺機器) 回復ドライブは何回も作れますか? 4 2022/11/01 21:13
- PDF パソコンからUSBメモリにPDFを移したらファイルを開けない 2 2022/08/22 11:42
- Windows 10 回復ドライブを作成できない 3 2023/02/07 02:51
- Windows 10 USBにwindows10をいれて起動する方法 5 2022/04/14 14:29
- iOS iPhone用動画保存アプリiCapのデータは外付けUSBメモリに保存できますか? 1 2022/10/18 17:48
- その他(パソコン・周辺機器) タブレットで使用するUSBメモリについて 7 2022/05/26 14:27
- ドライブ・ストレージ USBメモリ。信頼できるUSBメモリ容量は何ギガまで? 7 2022/04/14 07:31
- ノートパソコン パソコンのファイル追加履歴について 1 2022/05/07 15:35
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
アクセス 壊れた? 「ファイ...
-
exeファイルの中身を見る方法は...
-
監視ツールを入れさせられまし...
-
C言語---ファイルに出力したデ...
-
HTMLからのBATファイル実行
-
コマンドプロンプトで、指定し...
-
binファイルを解凍したいの...
-
#include <Windows.h>というヘ...
-
VBSが起動しない
-
CRCが一致する確率
-
バッチ処理で追記コピーしたい
-
Seasar2のdiconファイルの読み方
-
exeファイルの個人情報について
-
自分で作成した重要ファイルを...
-
VBAからファイルをセル入力から...
-
既にファイルが開いているのな...
-
jarファイル
-
Word VBA MSGBOX 内で降順表示
-
コマンド ラインからシステム情...
-
bibtexで参考文献作成できない
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
アクセス 壊れた? 「ファイ...
-
#include <Windows.h>というヘ...
-
binファイルを解凍したいの...
-
Latexで図番号だけを「図1.1」...
-
.NETアプリを作ったときの .man...
-
C言語---ファイルに出力したデ...
-
exeファイルをデータ転送サービ...
-
Word VBA MSGBOX 内で降順表示
-
jarファイル
-
公文書のxmlファイルの開き方が...
-
参照するファイルをワイルドカ...
-
コマンドプロンプトで、指定し...
-
パイソンでpy ファイルと p...
-
exeファイルの中身を見る方法は...
-
コマンドプロンプトで作成日時...
-
ハッシュ値を取る時はファイル...
-
CSSを1ページに1枚作るのって変...
-
実行ファイル(.exeファイル)...
-
バッチ処理で追記コピーしたい
-
自分で作成した重要ファイルを...
おすすめ情報