- ベストアンサー
他のマシンでアプリケーションの起動状態の確認方法
- クライアント側からサーバ側の管理アプリケーションが立ち上がっているかを確認し、装置が稼動することができる方法について相談です。
- クライアント側からPostMessageでメッセージを投げ、サーバがPostMessageで応答することでアプリケーションの起動確認を行いたいと考えています。
- サーバはWin2003Server, クライアントはXP SP2で、Visual Studio 6.0 Visual C++ SDKを使用する予定です。また、ファイアーウォールがLAN経由の通信に影響を与えるのかも知りたいです。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
基本的に、PostMessage ではできません。 FindWindow もローカルが対象です。 お望みの動作はほかの手段、WinSock とか Mailslot とかで通信することになるかと思います。 また、Windows XP に限らず、(パーソナル)ファイアウォールで使用するポートをブロックしていれば、もちろん通信はできません。 必要なら使用ポートを空ける設定をしてください。 # VC6はMicrosoftのサポートが完全に切れているので、 # 商用での利用はお勧めしません。 # (Win2003,XPはおろかWin2000発売よりも古い代物…
その他の回答 (2)
- amru05
- ベストアンサー率63% (33/52)
通常は通信プログラムを作成してクライアント・サーバモデルで構築します(VC++6のサンプルを参照すれば、使えるものが幾つもあります)が。。。。 例)VC++6のHELPで、以下の様に検索してください。 「 Windows ソケット クライアント アプリケー ション」 この中のCHATTERなど宜しいのでは。。 (PS) 失礼ですが、その様な経験があまり無いように受け取れますので、簡単な裏技として単純にファイルを作成する事で代用する方法も有ります(環境的に使えるかは疑問ですが。。) 1)共有フォルダーをサーバに作成 2)クライアントは共有フォルダーに起動時に決まった ファイルをopenする。 3)クライアントは終了時に2)のファイルをcloseする 4)サーバは、上記ファイルが無ければ、クライアント が起動していないと分かる。 5)ファイルが有っても、削除できればクライアントは 起動していない事がわかる。 6) ファイルが有り削除できない場合は、クライアン トが起動している事になる。 。。。あくまでも、簡単な裏技として。。あまり、お薦めはしませんが。。。
お礼
ありがとうございます。 ファイルを使う方法ですが・・・それも別々のマシンから同じファイルを見にいくという・・・・ちょっと恐い構想ですね。 確かにネットワーク系はほとんどやったとこがありません。 せいぜいSQL止まり。。。。。。 (ソフト会社の人にしたら大したことほとんど知らないのかも) R2-232Cを使ってメカと通信・・・というのはよくやるのですが。。。。 SQLを使って実現する方法も考えましたが。。。異常事態が起こったときにトラブルが起きそうなので、アプリ同士で通信できないかと思ったのです。 これごときに232C使うのはもったいないですが、でもその方がよさそうですかね? ありがとうございました。
- MrBan
- ベストアンサー率53% (331/615)
#1です。 事情がおありなのでしょうし、本旨とは関係ないのですが。 .NET framework は別として、 VC.NET2003のネイティブコンパイラ(VC7.1)やSTLは格段にVC6よりよくなってますし、MFC7も悪くないと思います。 .NET2002は枯れてなくて痛いですが…評価されたのはこれなのかも。
お礼
どうなんでしょう? VCの環境も段々オブジェクト指向に進みすぎて、使いにくい部分もあるように思います。 うちのチームは出来るだけMFCではなくSDKを使うようにしてるくらいですし。。。 ちなみにVisual Studio 2003なんかでもデバドラの開発って出来るんですかね?? (これは興味の範囲で聞いてます) うちはソフト会社ではないので、電気屋さんや製造やメカにはお金を出してくれますが、ソフト屋さんにはなかなか出してくれないのです。。。悲しい現状です。
お礼
ありがとうございます。 やはり、PostMessageは無理ですか・・・・ うちの会社ではVisual studio 6.0以上を買ってくれません。 (というか.netが使えない代物だったのでみんな6.0を使っている) まぁ社外にソフトを出すことはないので、問題はないと思うのですが。。。