問題タブ [folderbrowserdialog]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
path - mtp デバイスのパスを作成する方法 (フォルダ参照ダイアログで使用可能)?
MTPでコンピューターに接続されているWindows PCからAndroidデバイスへのファイル転送を実装しました。コピーの実装の準備ができました (この例を使用しました: http://code.msdn.microsoft.com/windowsdesktop/Portable-Devices-COM-API-fd4a5f7d )。
ここで、UI を改善したいと思います。ユーザーがファイルを保存する MTP デバイス フォルダーを選択できるフォルダー選択ダイアログを提供したいと思います (FOS_PICKFOLDERS を使用した CLSID_FileOpenDialog はうまく機能します)。ダイアログから「ここに保存できません」というエラーが表示されるため、単純なファイル保存ダイアログは機能しないことに注意してください。
フォルダ参照の結果は次のようになります:
::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\\?\usb#vid_04e8&pid_6860&mi_00#6&2296b879&0&0000#{6ac27878-a6fa-4155-ba85-f98f491d4SID-1{10} ,SECZ9519043CHOHB,12635222016}{01B8016B-0164-00F2-E100-55012C014001}
usb#vid_04e8&pid_6860&mi_00#6&2296b879&0&0000#{6ac27878-a6fa-4155-ba85-f98f491d4f33}
これがデバイスであることはわかっています。IPortableDeviceManager はこれをデバイス ID として使用します。
SID-{10001,SECZ9519043CHOHB,12635222016}\{01B8016B-0164-00F2-E100-55012C014001}
これはデバイス上のパスです。これらの GUID は、デバイス オブジェクトの WPD_OBJECT_PERSISTENT_UNIQUE_ID プロパティです。
この情報を使用して、デバイスを選択し、デバイス内のフォルダーを見つけることができるので、コピーを実行できます。
私の問題は、デバイスの folderbrowsedialog でデフォルトのディレクトリも選択したいのですが、上記のパスを作成できないことです。それをデフォルトのパスとして指定すると、正しいフォルダーでブラウジングが開始されることに注意してください。
問題の部分は、取得できない開始 GUID です:
::{20D04FE0-3AEA-1069-A2D8-08002B30309D}
レジストリも調べました。この GUID は 1 つのエントリでのみ見つかりました:
HKEY_USERS\S-1-5-21-2044730494-4069800027-1247311059-1000\Software\Microsoft\Windows\CurrentVersion\Explorer\CLSID{20D04FE0-3AEA-1069-A2D8-08002B30309D}\ DefaultIcon
の値は次のとおりです:
C:\Windows\System32\imageres.dll,-109
(CLSID サブフォルダーにはさらに多くの GUID が含まれているため、見つけられません。これは正しいものです)
この GUID を取得してデフォルト パス全体を構築する方法を知っていますか?
c# - WPF で MessageBox ウィンドウを最前面に保持する方法
アプリケーションを実行する前にユーザーがパスを選択できるように、フォルダー ダイアログ ボックスを表示する必要があります。私はすべて正常に動作していますが、エラー MessageBox をフォアグラウンドに保つことができないようです。ユーザーが間違ったパスを選択すると、メッセージ ボックスがポップアップ表示されますが、デスクトップで開いているウィンドウの背後に表示されたままになります。
私はWPFを初めて使用します。このアプリケーションのwinformsバージョンでは、 fdb.ShowDialog(this) を指定でき、エラーメッセージボックスをフォアグラウンドに保持できます。しかし、WPF を使用すると、メッセージ ボックス ウィンドウは、開いている他のすべてのウィンドウの背後に常に表示されます。
これをどのように解決できるかについてのアイデアはありますか? ありがとう。
c# - リモート PC をブラウズする Folderbrowserdialog
folderbrowser に関して質問があります。リモート コンピューターを参照すると、そのオブジェクトの下に何も表示されません。
しかし、fileopen を使用して同じ場所を参照すると、すべてのフォルダーとファイルが一覧表示されます。fileopen で何らかの認証が行われていますか?
もしそうなら、フォルダブラウザで閲覧できるようにするにはどうすれば認証できますか? fileopen を使用すると、folderbrowser を使用できますが、これは理想的ではありません
c# - ファイルを選択し、フォルダ参照ダイアログを使用して定義された場所に保存します
2つのファイルがそこにコピーされるように、ユーザーがフォルダーを選択できるようにこのコードを作成しました。コードは次のとおりです。
しかし今、私はそれを逆転させたいと思います。つまり、ユーザーがある場所に2つのファイルがある場合、それをにコピーしますc:\programfiles\myfolder
。それでFolderBrowseDialog
、そのような場合に使用できますか?はいの場合、どのように?
c# - 配列をリストボックスに送信するにはどうすればよいですか?
古いアプリの一部をWinフォームからWPFに移行しようとしています。私の古いwin-formアプリではListBox
、以下のコードを使用して配列をに送信できます。
私の新しいWPFアプリでは、これはにデータを入力しませんListBox
。奇妙なのは、エラーが発生せず、機能しないことです。
...アプリを初めてテストしたときにエラーが発生しましたが、権限がないというメッセージが表示されましたが、今では何もせずに「完了」というメッセージが表示されます。
c# - 入力フィールドのある FolderBrowserDialog
私がやりたいことを説明するためにここで何をグーグルで検索すればよいかわからないので、ここで試してみます。ファイルとディレクトリをそれぞれ参照するために、コードでOpenFileDialog
との両方を使用しています。FolderBrowserDialog
ダイアログが開くと、ユーザーはファイル/ディレクトリのツリーを実際に参照するオプションのみを取得します。ただし、多くのディレクトリとサブディレクトリを含むツリーでは、ユーザーは、移動先のフル パスを手動で暗黙的に書き込む (または貼り付ける) オプションも必要とします。
コードにどのように実装できますか?
ダイアログ ボックスを使用する 2 つの関数を次に示します。
FolderBrowserDialog の使用:
OpenFileDialog の使用:
c# - WPFのFolderBrowserDialogを使用したDialogResult
初めてWPFにFolderBrowserDialogを実装しましたが、少し好きではありません...
Windows.Formsがプロジェクトで参照されていないことがわかった問題は別として、DialogResultの戻り値を確認するのに問題があります...
OpenFileDialogを使用して、過去にこのように実行しました。
残念ながら、DialogResult型からboolへの変換、およびあなたが持っているものについて何かを言っているというエラーが発生しています。
WPFでダイアログを使用してこの手順を完了する方法について何も見つからないようですが、誰かが光を当てることができますか?
前もって感謝します!
編集
これが型変換エラーなしで修正された私のコードです。どの値をチェックするかわかりませんresult
。DialogResult.OK
ここでは有効な値として表示されない場合を除いて、通常は使用します。
windows - Windows で既定のフォルダー ブラウザー ダイアログを上書きすることは可能ですか?
しばらくの間、私は Windows のデフォルトのフォルダ ブラウザ ダイアログが嫌いでした。
確かに、少なくともオートコンプリート付きのテキスト ボックスがあります。しかし、ツリー ビューに厳密に従うと、目的の場所に到達するまでに多くのクリックとスクロールが必要になる場合があります。
(私の好みに合う) 優れた UI を開発して、システムのデフォルトをオーバーライドできるといいですね。つまり、アプリケーションがシステム上の Windows からネイティブ フォルダー ブラウザーを要求するたびに、組み込みのコントロールの代わりに表示されるように、独自のコントロールを定義できるようにしたいと考えています。当然のことながら、他の人が必要に応じてシステムにインストールできるように、これを他の人に提供することもできます/したいと思います。
Windows は、この特定の機能をオーバーライドする API を提供していますか? たぶん、シェル拡張などを介してですか?(私はそのような OS と直接対話することをしたことがないので、どこから調べればよいかさえわかりません。)
基本的に、この OS レベルの機能が Windows 内で構成可能かどうかを尋ねています。
vb.net - FolderBrowserDialog にテキスト ボックスを表示する
下の画像のようにFolderBrowserDialogにテキストボックスを表示する方法、