0

コンポーネント Web ブラウザー (C#) によってアクセスされる Web サイトからのファイル (任意のファイル) のアップロードをブロックする方法はありますか? 色々やってみたけど、どうにもならない…

4

2 に答える 2

0

私はついにこの問題を解決しました!

解決策は、ダイアログ ボックスを非表示にすることでした。オブジェクト ID (ウィンドウ ID) を使用してダイアログ ボックスを見つけました。ダイアログ ボックスを「ブロック」する唯一の方法です。

以下のコードを参照してください。

    // P/Invoke declarations
    [DllImport("user32.dll", SetLastError = true)]
    static extern IntPtr FindWindow(string id, string caption);

    [DllImport("user32.dll")]
    private static extern IntPtr SendMessage(IntPtr hWnd, int msg, IntPtr wp, IntPtr lp);

    public void Execute()
    {
        IntPtr hWnd = FindWindow("#32770", null);

        if (!hWnd.Equals(IntPtr.Zero))
        {
            SendMessage(hWnd, 0x0010, IntPtr.Zero, IntPtr.Zero);
        }
    }

このソリューションが他のユーザーに役立つことを願っています!

于 2013-04-29T19:08:47.370 に答える
0

HTML入力ファイルフィールドをクリックするとMSHTML.dllによってopenFileDialogが自動的に呼び出されるため、これを達成する簡単または難しい方法はわかりません。プログラムでオーバーライドしたり、ダイアログが開かないようにしたりするインターフェイス、メソッド、またはプロパティはありません。

この場合に有効だと思われるアプローチを見つけました。ファイルがローカル コンピューターからサーバー。その後、データ ストリームをすぐにキャンセルできます。

于 2013-04-24T11:59:16.397 に答える