前提・実現したいこと
初めて投稿させて頂きます。
説明がたりないと思いますが初質問という事である程度はご容赦ください。
ファイルを開くダイアログ(OpenFileDialog)でアドレスバーに"cmd"や"regedit"などを入れるとコマンドプロンプトや他のプログラムが起動してしまうのですが、これを無効にする方法ありますか?
試したところExcelの名前を付けて保存のダイアログでも同じことが出来ました。
今考えてるのは
・自分でダイアログ風の画面を自作する
・Win32APIなどでアドレスバーを無効化(手入力出来ないようにする)出来れば無効化する
などです。
該当のソースコード
C#
1//オープンファイルダイアログを生成する 2OpenFileDialog op = new OpenFileDialog(); 3op.Title = "ファイルを開く"; 4op.InitialDirectory = @"C:\"; 5op.FileName = @"hoge.txt"; 6op.Filter = "テキストファイル(*.txt;*.text)|*.txt;*.text|すべてのファイル(*.*)|*.*"; 7op.FilterIndex = 1; 8 9//オープンファイルダイアログを表示する 10DialogResult result = op.ShowDialog(); 11// ※この後のダイアログのアドレスバーに環境変数のPathに登録されている場所の実行ファイルの名前を入力するとそのプログラムが起動される。 12
試したこと
イベントを拾って握りつぶせないか試しました。
補足情報(FW/ツールのバージョンなど)
Visual Studio 2015、FW4.6.1
