HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2010
0727
さくま」PCじょうの別の実行ファイルの状態を知る8解決


さくま」

リンク

2010/7/27(Tue) 01:20:56|NO.34015

通信のプログラムを組んでいるのですが
1人がサーバーを起動するプログラムなんですが
ホストになる人はサーバーは立てるものの同時にクライアントになり接続というふうにしたいと思っています
そこでサーバーとクライアントがリアルタイムで通信しなければならなくなり
ホストになるを選択するとサーバー用ののexeファイルを実行させてクライアントのプログラムに移るというプログラム
にしようと思っています、でそこでなんですがサーバー用のexeが立ち上がるまでには少し時間がかかると思いますが
その実行ファイルが起動して処理を始めてるというようなことはわかりませんか??



この記事に返信する


荒川

リンク

2010/7/27(Tue) 02:22:31|NO.34016

サーバ用exeの準備中に接続要求が来たらクライアントに準備中であることを示すコードを返して接続を切る。
というのはいかが?



u

リンク

2010/7/27(Tue) 02:24:57|NO.34017

ミューテックスという二重起動されているかどうかを確認するためによく使われるあれを使ってみるのはいかがでしょうか。
クライアントはサーバーが起動するまで待ち続けます。

サーバー用プログラム

#include "kernel32.as" mutex="test1234"//他のプログラムと絶対重複しないような名前 CreateMutex 0,1,varptr(mutex) screen 0,300,100 title "サーバー用"

クライアント用プログラム

#include "kernel32.as" mutex="test1234"//サーバー用と同じ名前 screen 0,300,100 title "クライアント用" //サーバー用の起動が確認できるまでループ repeat CreateMutex 0,1,varptr(mutex)//ミューテックスオブジェクトを生成 hMutex=stat GetLastError//結果はエラー取得用関数の戻り値に返る if stat==0xB7{//ミューテックスが存在した break }else{ CloseHandle hMutex } await 200 loop mes "サーバー用プログラムが起動しました"



さくま」

リンク

2010/7/27(Tue) 10:50:36|NO.34026

お二人ともありがとうございました
uさんの提案でやって見ようと思いました
ですが私のHSPのヘルプには"kernel32.as"が載っていなかったのですが
CreateMutexなどについて書いているサイトがあるのでしょうか??



KA

リンク

2010/7/27(Tue) 17:21:08|NO.34030

>>CreateMutexなどについて書いているサイトがあるのでしょうか??

 きつい返答なのか、当たり前の返答なのか、取りあえず次の返答をします。
 「あるのでしょうか??」 → 「探したのでしょうか??」

 「探したが見つからなかった」ので「あるのでしょうか??」なのか、
 「探すのが面倒くさい」ので「あるのでしょうか??」どっち?



KA

リンク

2010/7/27(Tue) 17:26:53|NO.34032

順番が逆でした・・・

>>ですが私のHSPのヘルプには"kernel32.as"が載っていなかったのですが

 C言語系統に成りますので、HSPでは説明していません。
 C系の命令を使いやすくするために、"kernel32.as"等が入っています。
 ネットで検索すれば、(目に見える)星の数ほどヒットします。



GENKI

リンク

2010/7/27(Tue) 18:46:04|NO.34034

少し補足。
kernel32.asやuser32.asをincludeして使用できるようになる命令は、一般にWin32APIとか単にAPIと呼ばれたりしているものをHSPでも使用できるようにしたものです。
これらはもともとHSP専用のものではなくほかの言語でも使用できるもので、Google先生に聞くとマニュアルや解説サイトの場所はすぐに教えてくれます。なおWin32APIはMSDNが公式なマニュアルとなっています。
また、HSPでWin32APIを使用する場合は、「ちょくとのページ」がお勧めです。



さくま」

リンク

2010/7/27(Tue) 19:28:07|NO.34035

お二人ともありがとうございました
KAさん
 すみません恥ずかしい話少し目が悪くて1とlを見間違えていたようです
 もう少し落ち着いてみるべきでした
 ちなみに1回目の返信ではコピペだったので・・・
 で、これはC系統を扱うためのものなのですね、こう思ってみるとHSPってすごいですねC言語
 顔負けですね。

GENKIさん
 補足ありがとうございます
 Win32APIというのはCを勉強中に触れたことがあるので大体わかるとおもうんですが
 windowsの操作を簡単に扱えるようにまとめた関数のことと理解しているのですが



u

リンク

2010/7/27(Tue) 20:05:53|NO.34038

いつもならちょくとさんのページ等説明を添えていたのですが忘れてしまいました。
こちらの二重起動防止の項にwin32APIを使ったミューテックスについて説明があります。
http://yokohama.cool.ne.jp/chokuto/advanced/index.html

検索し辿り着くことを想定してほったらかしにしていましたが、ヘルプしか参照しない方だったのですね。



ONION software Copyright 1997-2023(c) All rights reserved.