ファイルのアイコンを取得する場合は、ExtractAssociatedIcon関数をつかいます(Icon.ExtractAssociatedIcon メソッド (String))。しかし、ネットワークドライブに保存されているファイルのアイコンを取得しようとして、

と書いてもアイコンが取得できません。この場合はWindows APIを直接叩く必要があります。

ExtractAssociatedIconでネットワーク上のファイルのICONが取得できないに記載されていたコードをC#で書き直してみると、以下のような感じになります。

なんとなく気になったので…。行数は短いので全行をコピってみます。

APIのリファレンスはShellAbout functionに記載されています。szApp(第2引数)は#の記号を含めると、#の前までがタイトルバーに、#の後ろがダイアログの1行目に表示されます。

Windows10だと、ライセンスがされている個人、組織がuser name、org nameと表示されるのですが、そういう仕様みたいです。

PInvoke – ShellAbout (Shell32) – Windows 10

ただ、Windowsの標準アプリ(例えば、メモ帳)のバージョン情報では名前が表示されるので、もしかしたらWindowsの標準アプリでは呼び出している関数が違うのかもしれません。

WebClientを使うと楽にできる。

ファイルのダウンロード

ファイルのアップロード

参考リンク

重い処理をしているときにUIを操作する場合には、async/awaitを使う。

詳しくは…https://qiita.com/acple@github/items/8f63aacb13de9954c5da