Visual Basic 中学校 掲示板 投稿の管理
タグのない投稿を抽出
統計
RSS
Visual Basic 中学校
投稿一覧
Web開発時のReoGridの使い方について
この投稿へのリンク
https://keijiban.umayadia.com/ThreadDetail.aspx?ThreadId=30485#CommentId83937
この投稿の削除
削除パスワード
削除する
コメント本文
投稿者
魔界の仮面弁士
 (社会人)
投稿日時
2020/4/18 19:30:42
う~ん……Web アプリケーションの設計が根本から間違っていますよ。
まず、Page_Load に書いた処理というのは、サーバー側で実行される部分です。
なので現状のコードだと、exe はブラウザーを開いているパソコン側ではなく、
インターネット上のサーバー上に配置しておかなければならないわけです。
今は一つの端末上で実行しているのでしょうから、サーバー側とクライアント側の違いを
体感しにくいかも知れませんが、この違いは重要です。
Web サーバー側の画面に ReoGrid なアプリが表示されたところで、
ブラウザーを開いている利用者それぞれのパソコン画面に ReoGrid が
表示されるわけではないのです。
では、利用者側の画面に、exe の画面を開くにはどうすればよいのか…というと、
これもまた、基本的には不可能です。
Web アプリケーションの場合、基本的には外部 exe の呼び出しはできないように設計されています。
もしもサーバー側が、勝手に PC 上の任意のファイルを無許可で呼び出せたとしたら、
重大なセキュリティホールになってしまいますので。(ユーザー側で許可すれば別ですが)
制限付きで良いなら一応の回避策として、レジストリに登録された URI スキームから、
クライアント上のアプリケーションを呼び出すことは可能です。思っている物とは違うかもしれませんけど。
<a href="microsoft-edge:http://www.google.com/">Edge で Google を開く</a>
<a href="ms-excel:https://file-examples.com/wp-content/uploads/2017/02/file_example_XLSX_10.xlsx">サーバー上のファイルをクライアントの Excel で開く</a>
https://docs.microsoft.com/ja-jp/windows/uwp/launch-resume/reserved-uri-scheme-names
https://qiita.com/mkawa/items/86ee7af358abde49d22d
https://ja.stackoverflow.com/questions/27343/
あるいは、作成したデスクトップ アプリケーションを ClickOnce として「発行」し、
Web サイト上にそれらを置いておけば、Web ページ上に *.application へのリンクを
用意しておくことでそれをユーザーがクリックしたときにアプリケーションを起動させることができます。
どちらにしても、ユーザー側の操作を起点として実行されるものであり、
サーバー側(VB 側のコード) によって呼び出せるものではありません。