C# と VB.NET の質問掲示板
ASP.NET、C++/CLI、Java 何でもどうぞ
C# と VB.NET の入門サイト
Re[2]: ネットワークドライブにC#アプリから再接続したい
(過去ログ 161 を表示中)
掲示板トップ
C# と VB.NET 入門
新規作成
利用方法/規約
トピック表示
ランキング
記事検索
過去ログ
[トピック内 3 記事 (1 - 3 表示)] <<
0
>>
■93280
/ inTopicNo.1)
ネットワークドライブにC#アプリから再接続したい
▼
■
□投稿者/ ぼーちゃん
(18回)-(2019/12/02(Mon) 09:46:31)
分類:[C#]
Visual studio 2017 Professional / C#
Windowsフォームアプリケーション / .NET Framework 4.7.2
こんにちは。
ネットワークドライブ上のファイルを操作するアプリを作っています。
基本的に問題なく動いているのですが、時々例外が発生することがあります。
//X:がネットワークドライブ
System.Diagnostics.Process.Start(@"X:\DOC");
↓
System.ComponentModel.Win32Exception: '指定されたパスが見つかりません。'
調べたところ、Windowsの機能で一定時間接続していないネットワークドライブへの接続が
切断されることが原因のようでした。
https://support.microsoft.com/ja-jp/help/297684/mapped-drive-connection-to-network-share-may-be-lost
実際、例外が起きた時にはエクスプローラー上でネットワークドライブアイコンにバツマーク
が付いており、手動でエクスプローラーから開くだけで再接続され、
アプリからも接続出来るようになります。この再接続をC#のアプリから行う方法はないでしょうか。
前述の通りProcess.Startでエクスプローラーから開こうとすると例外になるのでだめでした。
URLにタイムアウト時間を延ばす方法など記述されていますが、
この設定を変更することは厳しい状況です。
ご存知の方がいましたらどうかお願いいたします。
引用返信
編集キー/
編集
■93281
/ inTopicNo.2)
Re[1]: ネットワークドライブにC#アプリから再接続したい
▲
▼
■
□投稿者/ kiku
(149回)-(2019/12/02(Mon) 09:58:10)
■
No93280
(ぼーちゃん さん) に返信
> アプリからも接続出来るようになります。この再接続をC#のアプリから行う方法はないでしょうか。
WNetAddConnection2を使ってネットワークドライブを切断してから、
再接続することでいけるかと思います。
下記あたりの記事が参考になりそうです。
https://jehupc.exblog.jp/13776105/
引用返信
編集キー/
編集
■93287
/ inTopicNo.3)
Re[2]: ネットワークドライブにC#アプリから再接続したい
▲
▼
■
□投稿者/ ぼーちゃん
(19回)-(2019/12/03(Tue) 09:17:45)
■
No93281
(kiku さん) に返信
kiku さん
ご回答ありがとうございます。
ブログの内容を参考に上手くいきました。
ブログではフォルダに接続出来るかどうかを
ファイルコピーで例外が起きるかで判定していましたが、
Directory.Existsで試した所、例外無く判定出来ましたので
そこは変えました。
悩んでいたので助かりました、どうもありがとうございます。
解決済み
引用返信
編集キー/
編集
トピック内ページ移動 / <<
0
>>
このトピックに書きこむ
過去ログには書き込み不可
管理者用
-
Child Tree
-