ノータッチデプロイメントの勉強…。

ノータッチデプロイメントはリソース管理が激しく厳しい。インターネットからダウンロードされたアプリケーションのエビデンスはクライアントリソースに殆どアクセスができないのです。ファイルを開く場合も、OpenFileDialogのOpenFileを経由しないとクライアントのファイルを開けないのです。*1
で、ノータッチデプロイメントで画像を編集したいので下記のようなコードを書いてみました。

    Private Sub Button1_Click(ByVal sender As System.Object, _
        ByVal e As System.EventArgs) Handles Button1.Click

        Dim OpenFileDialog1 As New OpenFileDialog

        'ダイアログの設定
        OpenFileDialog1.Filter = "Jpegファイル(*.JPG)|*.JPG"

        If OpenFileDialog1.ShowDialog() = DialogResult.OK Then

            Dim myFS As IO.Stream = OpenFileDialog1.OpenFile
            Me.PictureBox1.Image = Image.FromStream(myFS)

        End If

    End Sub

しかし、コレだと単一のファイルしか読めない。
というわけで、下記のように変更。

    Private Sub Button1_Click(ByVal sender As System.Object, _
        ByVal e As System.EventArgs) Handles Button1.Click

        Dim OpenFileDialog1 As New OpenFileDialog

        'ダイアログの設定
        OpenFileDialog1.Filter = "Jpegファイル(*.JPG)|*.JPG"
        '複数ファイルを開く
        OpenFileDialog1.Multiselect = True

        If OpenFileDialog1.ShowDialog() = DialogResult.OK Then

            Dim myFS As IO.Stream = OpenFileDialog1.OpenFile
            Me.PictureBox1.Image = Image.FromStream(myFS)

        End If

    End Sub

だがしかーし。
FileOpenメソッドは配列ではない。複数ファイルを選択した場合でも最初のファイルしか取得してくれないらしい。複数ファイルを選択した場合はどうすればいいのだろうか。わからん。ノータッチデプロイメントでなければ、OpenFileDialog1.FileNamesをぶん回すのだけど…。不可能なのかなぁ。エビデンスを上げれば問題ないんだよな。

*1:まぁ、当たり前といえば当たり前なのかもしれないのですが。