- PR -

WebアプリケーションとWindowsアプリケーションの連結

投票結果総投票数:5
Windows 5 100.00%
Web 0 0.00%
ウィンドウメッセージ 0 0.00%
  • 投票は恣意的に行われます。統計的な調査と異なり、投票データの正確性や標本の代表性は保証されません。
  • 投票結果の正当性や公平性について、@ITは一切保証も関与もいたしません。
投稿者投稿内容
まじめ
会議室デビュー日: 2005/02/22
投稿数: 6
投稿日時: 2005-02-22 21:33
C#にてWebサーバを開発していますが、Webアプリケーションから同じマシンに動いているWindowsアプリケーションにウィンドウメッセージを送るつもりですが、送信先のウィンドウハンドルは取得できません。困っています、それは無理でしょうか

ご教示お願いします

WindowsアプリケーションはC++で開発され、WebアプリケーションはC#で開発しています。
環境は Windows Server 2003, IIS6.0となります
中博俊
ベテラン
会議室デビュー日: 2004/10/17
投稿数: 91
お住まい・勤務地: 大阪市
投稿日時: 2005-02-22 21:42
何を考えているんですか・・・
Webアプリケーションを勉強してください。
まったく設計がナンセンスです。

[ メッセージ編集済み 編集者: 中博俊 編集日時 2005-02-22 21:42 ]
甕星
ぬし
会議室デビュー日: 2003/03/07
投稿数: 1185
お住まい・勤務地: 湖の見える丘の上
投稿日時: 2005-02-22 23:07
無理じゃないだろうけど、止めて置いたほうが無難。

サービスからデスクトップにアクセスするためには、サービスの起動オプションでデスクトップとの対話を許可する必要があります。またデスクトップは同時に複数存在する(例えばWindowsXPの簡易ユーザー切替では、複数のユーザーがログイン中の状態が起こりうるよね)ので、対象とするデスクトップを指定する必要がある。詳しくはOpenDesktop APIとかを調べると分かる。でもその為にIISの起動オプションを変更したり、ASP.NET内からOpenDesktopするのは止めたほうが良い。

自作のWindowsサービスからやる分には止めないけどね。

恐らくWEBサービスでの状態の変化やステータスをオペレータに伝えたいんだよね。データベースに格納した値をGUIアプリケーションから参照するとか、他に実装方法は多々ある。もっと現実的で簡易な設計を検討したほうが良い。
_________________
甕星 <mikahosi@abox9.so-net.ne.jp>
http://blogs.msmvp.jp/mikahosi/
たつごろー
ぬし
会議室デビュー日: 2004/10/25
投稿数: 496
投稿日時: 2005-02-23 10:01
引用:

Webアプリケーションから同じマシンに動いているWindowsアプリケーション


目的は?
同じマシンとは?

目的しだいでは、
引用:

ウィンドウメッセージを送る


以外の方法があります。

_________________
たつごろー
codeseek
こみゅぷらす
まじめ
会議室デビュー日: 2005/02/22
投稿数: 6
投稿日時: 2005-02-23 12:04
ご教示ありがとうございます

確かに、Web領域の若手です
Webアプリケーションから、Webサーバとしているマシンに動いているWindowsアプリケーションにメッセージを送り、そのWindowsアプリは別のマシンにTCP/IPで送信する予定でした。

・そのWindowsアプリケーションのウィンドウハンドルを持っても、ウィンドウメッセージを送信するのは無理でしょうか

・ソケット通信で、そのWindowsアプリケーションまで送信可能でしょうか
(セキュリティ制限などはありませんか)

よろしくお願いします
たつごろー
ぬし
会議室デビュー日: 2004/10/25
投稿数: 496
投稿日時: 2005-02-23 12:07
引用:

Webアプリケーションから、Webサーバとしているマシンに動いているWindowsアプリケーションにメッセージを送り、そのWindowsアプリは別のマシンにTCP/IPで送信する予定でした。

・そのWindowsアプリケーションのウィンドウハンドルを持っても、ウィンドウメッセージを送信するのは無理でしょうか

・ソケット通信で、そのWindowsアプリケーションまで送信可能でしょうか
(セキュリティ制限などはありませんか)

よろしくお願いします



目的と手段を分けて書いていただけるといいかも。
いままじめさんが書かれているのは手段ですよね。
その手段はあきらめましょう。
目的はなに?

_________________
たつごろー
codeseek
こみゅぷらす
渋木宏明(ひどり)
ぬし
会議室デビュー日: 2004/01/14
投稿数: 1155
お住まい・勤務地: 東京
投稿日時: 2005-02-23 12:42
引用:

・そのWindowsアプリケーションのウィンドウハンドルを持っても、ウィンドウメッセージを送信するのは無理でしょうか



もしそれが本当に必要なら実現は可能ですが、あなたがまだ知らない様々な条件・制約(=NT 系 OS の複雑で多層的なデスクトップの仕組み)により、実現には相当のコストがかかります。

なので、率直に言って、他の方法を模索した方が妥当と思います。

引用:

・ソケット通信で、そのWindowsアプリケーションまで送信可能でしょうか
(セキュリティ制限などはありませんか)



は、可能です。

_________________
// 渋木宏明 (Hiroaki SHIBUKI)
// http://hidori.jp/
// Microsoft MVP for Visual C#
//
// @IT会議室 RSS 配信中: http://hidori.jp/rss/atmarkIT/
まじめ
会議室デビュー日: 2005/02/22
投稿数: 6
投稿日時: 2005-02-23 18:39
皆さんからいろんなご教示をいただき、ありがとうございました
ソケットでメッセージを送信するようにします

たつごろー様へ
目的は単純です、Windowsアプリが処理する情報はWebアプリから取得するしかないのですが、Webアプリからはウィンドウメッセージを送信しようと思いました。

スキルアップ/キャリアアップ(JOB@IT)