したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | |

バグ報告

1サンドバック:2024/10/20(日) 13:30:26
ブログのコメント欄に「ゲスト様」より投稿があったのでこちらに転載させていただきます。
(ブログのコメント欄だと新規書き込みに気が付かない可能性があるため)
(しかしこの掲示板でも気が付けないかもしれないが…)

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

YOURGAMEでデバッグプレイをしていたゲストです。

 作者様のブログにて
「自宅サーバーが再開され実写でボクシングのオンライン対戦ができるようになった。作者様も対戦に参加できるようになった」
と有ったので、この機にと、実写でボクシングのオンライン対戦を始めてみました。

 以前オフラインで遊んでいた時の勘をすっかり忘れていて、bot相手に練習中です。

 その練習中に、気になった点が1つ。
 私の環境のせいかもしれませんし、作者様もお仕事がお忙しいでしょうから、修正するかは置いておいて、一応伝えます。

◎対戦ロビーのチャットに対応するためなのだと思うのですが、キーボードでの入力が、いわゆる「半角英数字の直接入力」から勝手に「ひらがな入力」に変わるのが、中々に鬱陶しいです。
 ゲームの操作でキーボードを押すたびにパソコン画面の左上から、押されたキーのひらがながドンドン出てきて、収拾がつかなくなってしまうわけです。
 解除するにはマウスで操作するか、エンターキーで決定して(ストレートパンチが出てしまう)からキーボードで入力スタイルを切り替えるしかなく、操作している間にbotに殴り倒される事もしばしば。
 なので、最初の1戦目の前に必ず入力スタイルを変えてから始めるのですが、連戦を続けると、たまに「ひらがな入力」に変わっていて、結果として負けます。

 それを除くと、今の所、問題は有りません(たまに接続不安定で切断になる事は有りますが)。
 botの方も、何度も戦うと、今までとは違う動きをしてきて面喰ったりと、なかなかやりごたえが有ります。

+++++++++++++++++++++++++++++

 もしかすると行き違いで、実写でボクシングの掲示板に同様の事を投稿するかもしれませんが、そうなっていたら、片方は無視して頂いて結構です。

2サンドバック:2024/10/20(日) 21:44:37
ゲスト様、要望を頂き感謝です。

IMEの入力窓が出ないようにスパー前後に半角全角キーが自動で押される仕様は、
じゃんぶさんの要望によりバージョン3.08で追加されました。
(操作機器がキーボードの時のみ)
(スパー中に入力窓が出てしまった時は半角全角キーを押すと消えます)

スパー天国に人が大勢いた時は、スパー前に簡単な挨拶やスパー後に感想戦をしていたので
この機能は便利に機能していたのですが、今はボット戦のほうが多いので逆効果となります。

実ボク側からはIMEのオンオフを感知できないので根本的な解決が難しいと考え、
仕方なくスパ天の設定で「IME 自動」「IME 手動」を選択できるようにしました。

4.04++++として久々の更新となりました。

なにか作業の見落としがないか心配ですが、
プログラミングの楽しさを再認識した数日。

懐かしい実ボクの膨大なソースには、
忘れっぽい自分へのメッセージが各所に…。

まるで過去の自分と対話しているようでした。

https://sandbagman.itch.io/hspboxing
こちらで最新版4.04++++を公開済みです。

3ゲスト:2024/10/20(日) 23:04:04
YOURGAMEでデバッグプレイをしていたゲストです。

新verの4.04++++で「IME手動」にして、オンラインで10連戦しましたが、
IMEが自動で切り替わる事はありませんでした。

問題は無さそうです。

4サンドバック:2024/10/26(土) 09:09:08
ネット対戦スパーが終わってロビーに戻った瞬間、
クライアント側ユーザーのマウスポインタが「が待っている」の箇所に自動で移動する仕様について

スパー結果画面の時点でバツ印にマウスポインタを移動してロビーに戻った瞬間にバツを押そうとしたら
「が待っている」に移動してしまっていて、ボットとのスパーが開始してしまったとの報告。
(スパ天のチャットでゲスト様より)

ポインタを移動させるプログラム箇所を特定して移動しないように処理したのですが、
実際にテストプレイしてみたら
自動的にポイントが移動する便利さに慣れていて違和感を感じてしまいました。
(実装当時、好評だった記憶もあります)

高確率でチャットしないであろうボット戦後のみ移動しないようにしようかと思ったのですが、
ボット戦を連戦したいユーザーもいます(ポインタ移動困る人より多数派かも)。

現状がベストだ!と思っているわけではありませんが、
しばらく最適解が思いつくまで保留とします。

報告に感謝です!

5サンドバック:2024/11/03(日) 08:09:10
マウスポインタの問題を引き続き調査しています。

スパー後の結果画面にてマウスポインタを右上のバツに移動させると、
「バツは押せません」とタイトルバーに表示されてポインタが左上のハジに移動します。
(バツ押しで強制終了するユーザーへの対策)
(「リングの上で待っている」の文字の上に行くわけではない)

なので、ロビーに戻る前にポインタをバツの上に置いておくというのが
現状できない仕様になっています。(操作機器がマウス以外の時のみ)

ゲスト様とチャットした時に私がなにか聞き間違いをしてしまっている可能性を感じています。
なにかありましたらよろしくお願いします。
(特になければスルーで大丈夫です)

6ゲスト:2024/11/03(日) 12:33:10
コメント3のゲストです。

ウィンドウの右上のバツではなく
ロビーの右下の終了ボタンの位置です。

大した事ではありませんが、一応報告しておきます。

7サンドバック:2024/11/04(月) 22:36:24
慣例として++++が5つにならぬようにしていたので
4.05としてバージョン番号を更新いたしました。

更新内容

ネット対戦結果画面でロビー右下のボタン群にマウスポインタ
があると、ロビーに戻った時に「◯が待っている」の上に自動で
ポインタが移動しないようにした(ゲスト様感謝)

書き込みでのご享受感謝です。
過去の更新のフォローアップとなるような更新。

価値のある更新だと思います。

https://sandbagman.itch.io/hspboxing
こちらで最新版をダウンロードできます。
他の公開サイトは後日アップいたします。

8ゲスト:2024/11/08(金) 19:55:46
 コメント6のゲストです。

 最新のver4.05をプレイしてみました。
 オンライン対戦後に、マウスカーソルがウィンドウの右下に有ると、自動でカーソルが移動しない機能は正常に働いているようです。
(他の3つの角で誤作動する事も無いようです)

 また、バージョンが変わったばかりのおかげで気づいたのですが、以前のバージョンからタイトルバーの表示に間違いがあるようです。
 オンライン対戦が始まると、リングを作った側のバージョンがタイトルバーへ表示されるようですが、対戦後もそのままで戻りません。
 botとの対戦だと、ウィンドウのタイトルバーへ書かれているバージョンが4.03になったまま、ゲーム終了時の結果画面でも4.03でした。

 また、バージョンの後に続く「+」の数は、自分が使っているバージョンのままになっているようです。
 つまり、bot相手に「4.04+++」で対戦すると、タイトルバーの表示は「4.03+++」。
 bot相手に「4.04++++」で対戦すると、タイトルバーの表示は「4.03++++」。
 bot相手に「4.05」で対戦すると、タイトルバーの表示は「4.03」になります。

 以上です。

9サンドバック:2024/11/09(土) 20:12:54
報告感謝です。

ネット対戦の際、両者のバージョンを比較して古い方に合わせる仕様になっています。
ボット側の更新をしばらくやっていなかったので、近く4.05に更新しようと思います。
(その際にボットのレベルを下げる調整(定期行事)も同時に行います)
(対戦者がボットに負けるとレベルが下がってしまいますが、
ラウンド数の高騰に対処するよう定期的にレベル調整を行っています。
最初に下がった人はショックでしょうが、いずれみんなに低レベルが感染して安定します。
ご了承ください。)

バージョンの後半部分、++++等は自身の表示のものが使われます。
++++は、相手との比較対象にならないためなのですが、
確かに正確なバージョンを示していないので誤りです。

バージョンの調整が行われた場合、++++を非表示にするようにしてみます。

ありがとうございました。

10ゲスト:2024/11/12(火) 22:52:10
 コメント8のゲストです。

 botがバージョン4.05になって、タイトルバーの表示が変わったのを確認しました。
 botとの対戦そのものは、何か変わったのかどうか、分かりませんでしたが。
(区切り良く10戦やってロビーへ戻ったら、botのLVが10に落ちていて驚きました)

+++++++++++++++++++++++++++++

 今のバージョンからというわけでなく、前からなのですが、タイトル画面から「ネット対戦」を選んでも先へ進まない時が有ります。
 何度かやり直していると「ネット対戦」へは入れるので問題ではなかったのですが、さすがにこんな症状だと私のプレイ環境固有の問題かもしれません。
 ですが一応、その内容について記しておきます。

・タイトル画面右下端の「ネット対戦」を選択しても、「何も表示されない」または「ジムサーバーが落ちているようですという内容のウィンドウが開かれる」場合が有ります。

・実際には作者様の自宅サーバーが生きている時なので、「ネット対戦」はできる状態です。

・実写でボクシングを起動し直すなどして、やり直すと、入れるようになる事が有ります。

 上記のような症状なのですが、ほぼ確実に「ネット対戦」へ入れる方法も見つかりました。
 右上の×の上ででキーボードの「x」を押して成績を見た後だと「ネット対戦」へ進めるようになる、というものです。
 ただし、タイトル画面が特に標準的な数種類のものでないと、そもそも成績を開けないという不具合も発生しています。

 作者様の環境で過去に、こういう不具合が発生した事は有りませんか?
 どういう事が原因の不具合か、見当が付きますでしょうか?


 以上です。

11サンドバック:2024/11/17(日) 13:17:58
修正箇所の確認感謝です。

ボットのレベルは極端な連勝により高騰しすぎてしまうことがあります。
(ちょっと今は特別な状態にあると思います)

通常であればレベル10にする調整はほぼ行いません。
今後しばらくないと予想しています。

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

ネット対戦の場に接続できない症状について

うーむ、私の環境では同一LAN内での接続ですので、
タイムアウトみたいな状況になりにくいのかもしれません。

なので、これまで接続できなかったことはほぼなかったように思います。

ただしJcomへのプロバイダー変更してから外部からの接続確認をしていません。
近日、私の実家に行く予定があるので、そちらから接続して確認してみます。

あと考えられるのは、自宅サーバの私的な用途として深夜ラジオの録音をしています。
(TBSラジオのジャンクの時間帯が主)

時間帯がバッティングしている場合、もしかしたら接続時の反応が遅いなどあるのかもしれません。
(かつて深夜ユーザーにテストを依頼した際、対戦自体に悪影響はなかったと報告)

ありがとうございました。

12ゲスト:2024/11/17(日) 22:18:19
 コメント10のゲストです。


 ネット対戦へ接続できない症状についてですが、前述したように成績を見るとすぐ接続できるため、タイムアウトなどで接続できないのではなく、ゲームシステム側で接続の可能不可能を正常に判別できていないのかもしれません。
(ネット対戦のボタンの文字が、成績を見終えた瞬間に灰色から白へ変わるのを、確か見た事も有ったと思います)
 なぜ判別できなくなるのか。こういう症状だと大事なので、誰にでも起きるようなら過去に報告が有るはず。私の環境固有の問題かも、と思うのは、そういうわけです。

+++++++++++++++++++++++++++++

 話は変わりますが、リアルのボクシング経験者である作者様に聞いてみたかった事が有ります。

 この「実写でボクシング」は、非常にリアルな挙動である事が売りの1つであると思うのですが、プレイしていて「リアルにもこういう事は有るのだろうか」と特に思う事が1つ有るのです。

 「実写でボクシング」においてピッタリのタイミングで敵のフックをダッキングで避け、即座にアッパーカットを出したら敵のフックの判定が残っており、画面表示上では敵の肘に頭突きをしたみたいな形になって、カウンターで大ダメージを受けるという経験。
 実際に現実のボクシングをしていた作者様の経験上、現実のボクシングでこんな状況になる事は、それなりに有るものなのでしょうか?。

 この大ダメージで負けるのは、かなりショックで「実写でボクシング」の中では群を抜いて理不尽に感じるものです。
 フックを避けるのには成功したのにっ、という感じで。(ストレート相手で、こうなった事も有りますが)
 bot相手のその日の敗戦2つが2敗とも、これだった事も有りました。


 以上です。

13サンドバック:2024/11/25(月) 21:23:16
スイング系パンチの相打ちがノックアウトになるケースは多いです。
ボクシングでは一般的であり、決して珍しい事ではありません。

> ピッタリのタイミングで敵のフックをダッキングで避け、

この「避け」が「避けていない」というのがテクニック的な結論と考えます。
(具体的にはアッパーの打ち出しが早すぎるか、下キーを離している)

ただし
> 画面表示上では敵の肘に頭突きをしたみたいな形
になってしまうのはゲームとして問題があると思います。

直したいのですが、悲しいかな私自身がその違和感グラフィックを視認した経験がない…。
(静止画として違和感のコマはあると思いますが、プレイ中に違和感として感じられていない)

私はやりすぎているのでダッキングアッパーのタイミングを熟知しすぎていて、
早すぎる打ち出しによる被弾をもう長く経験していないのかもしれません。

もしくは早すぎた時「避けたのに!」よりも「ミスッた!」という直感が働くので
変な被弾として意識できていないのかも知れません。

・ダッキングもしくはガードが成功した瞬間に当たり判定は消えます
・ダッキングしたつもりでも頭の位置が下がりきっていない選手は多い
・というか実際のダッキングには無敵効果ないので普通に合えば食う
・ネット対戦のカクツキがタイミングに違和感を与えている可能性もあり

上手に伝えられたかわかりませんが、今はこう考えています。
ご指摘を受けて、こうかなそれともこうかなと真剣に考え、
違和感を違和感と感じたいが、現時点では違和感として感じられていない感じです。

こんな回答になってしまい申し訳ありません。
でも違和感を感じている書き込みは私にとって知識となりました。
ベストな方法がないか、考え続けます。

14ゲスト:2024/11/26(火) 19:52:09
 コメント12のゲストです。

 作者様、丁寧な回答をありがとうございます。


>(具体的にはアッパーの打ち出しが早すぎるか、下キーを離している)

 「肘に頭突き現象」が起きたほとんどの場合は、直立とダッキングを敵の動きとは関係無くゆっくりと繰り返し、敵の出方を見ていた時なので、敵のフックを視認した時点でダッキングしていたのは間違いありません。
 私も予想していましたが、ご指摘のように、アッパーを打つのが早過ぎて、フックの判定に突っ込んでしまったという事で間違いないのでしょう。


> スイング系パンチの相打ちがノックアウトになるケースは多いです。

 実写でボクシングでのフックやアッパーの威力を見ているので、現実のボクシングを見慣れない身でも、KOは珍しくないのだろうなと思っていました。
 なので、尋ねたかった事をもっと正確に書くと
「ダッキングからアッパーを打つのが早過ぎて、遅れて来た敵のパンチが頭に当たるような事が現実でも、よく有るのか?」
となるべきでした。
(現実では逆にカウンターを受ける事を危惧して、頭を低くしたまま拳だけ突き上げたりするのかな、などと想像したりもしましたが)


 以上です。

15ゲスト:2024/12/15(日) 19:07:18
 コメント14のゲストです。

 実写でボクシングのアクション部分ではありませんが、文字の表示で気になる部分が有った事を思い出したので報告します。

 botと対戦をしていた時、人気を上限の999まで上げたのですが、999を維持して対戦を終了しても、最後の結果画面で「人気値 999 (4減)」というように、あたかも上限が999ではないかのような表示がされました。
 人気が上限へ達しているのに、内部的には上昇したという計算がどこかでされているのでしょうか?。
(例えば、毎日プレイしている事によるボーナスみたいな物が、上限を超えて裏で加算されていて、それが前回の人気の最終値として計算に使われているとか)

+++++++++++++++++++++++++++++

 前回の投稿が下へ流れてしまって、作者様に気づいてもらえなかったかもしれないので、その内容を再投稿させていただきます。
↓↓↓↓↓↓↓↓↓

 作者様、丁寧な回答をありがとうございます。

>(具体的にはアッパーの打ち出しが早すぎるか、下キーを離している)

 「肘に頭突き現象」が起きたほとんどの場合は、直立とダッキングを敵の動きとは関係無くゆっくりと繰り返し、敵の出方を見ていた時なので、敵のフックを視認した時点でダッキングしていたのは間違いありません。
 私も予想していましたが、ご指摘のように、アッパーを打つのが早過ぎて、フックの判定に突っ込んでしまったという事で間違いないのでしょう。

> スイング系パンチの相打ちがノックアウトになるケースは多いです。

 実写でボクシングでのフックやアッパーの威力を見ているので、現実のボクシングを見慣れない身でも、KOは珍しくないのだろうなと思っていました。
 なので、尋ねたかった事をもっと正確に書くと
「ダッキングからアッパーを打つのが早過ぎて、遅れて来た敵のパンチが頭に当たるような事が現実でも、よく有るのか?」
となるべきでした。
(現実では逆にカウンターを受ける事を危惧して、頭を低くしたまま拳だけ突き上げたりするのかな、などと想像したりもしましたが)

↑↑↑↑↑↑↑↑

 というわけで、改めて質問させてください。

 現実でも、ダッキングからアッパーを打つのが早過ぎて、遅れて来た敵のパンチが頭へ当たるような事が、よく有るのでしょうか?。

 回答を頂ければ幸いです。

+++++++++++++++++++++++++++++

 以上です。

16サンドバック:2025/01/03(金) 21:53:19
確認が遅くなり返事が遅れて申し訳ありません。

> 最後の結果画面で「人気値 999 (4減)」というように、あたかも上限が999ではないかのような表示がされました。

正確な仕様を忘れてしまっているので、確認してみます。
人気地が999の際、(4減)という表示をやめる事になると思います。

報告ありがとうございました。


> というわけで、改めて質問させてください。
>
>  現実でも、ダッキングからアッパーを打つのが早過ぎて、遅れて来た敵のパンチが頭へ当たるような事が、よく有るのでしょうか?。
>
>  回答を頂ければ幸いです。

実は前回、この質問を受けた上でスルーしていました。
というのも、私の頭が悪いのだと思うのですが、どうしても正確に意図が読み取れないのです。

パンチの当たる当たらないは無限の可能性があり、
届く範囲であれば全てのパンチが当たる可能性を秘めています。
(なんのタイミングが早かろうと遅かろうと関係なく)

なので質問そのままに答えるとなると、よくあります。
というか、むしろ全てのカウンターパンチにその要素があるのではないか、とも。

(中間距離での攻防は常に何かしらのフェイントが行われていて、
もはやフェイントしている側もそれは無意識の動きだったりして
なぜ当たったかを言語化する事は非常に難しいのですが)
(過程がどうあれ物理的に当たったという結論こそが正解であり紛れもない事実)
(ないと思う人がいるのだろうか、被弾のイメージすることがそんなに難しいのだろうか、
などと考えてしまい返事が書けませんでした)


ゲームの中での納得がいかない被弾が質問の発端だと思うのですが、
見切ったとしても反応が早すぎては、それは見切ったうえで正しい反応ができなかったということです。

流れとしてその被弾はとても自然なことだと思いますし、拳闘としてリアリティを感じます。

実際の拳闘でもゲームでも、ダッキングからアッパーを打っている最中に無敵にはなりません。
フックが飛んできている時にそのアクションを行ったら、被弾するのは自然だと思います。

相手のフックが頭の上を通過して当たり判定を失ったら、その時です。

このダッキングアッパーの部分は実ボクにおいて最も丁寧に作った部分のひとつで、
私の思い込みかもしれませんが多くのユーザーもリアリティと納得感を感じてくれている部分だと思います。

違和感があるのであれば直したいのですが、
違和感を感じられないのが辛いです。

質問もたぶん実際の拳闘ではありませんよねのニュアンス含む質問だと思うのですが、
これもストレートにあるとしか思えないのが辛いです。

申し訳ありません。

17ゲスト:2025/01/04(土) 14:16:30
 コメント15のゲストです。

 作者様、繰り返しとなってしまった質問への回答を、ありがとうございます。


> 質問もたぶん実際の拳闘ではありませんよねのニュアンス含む質問だと思うのですが、

 どちらかというと、実際のボクシングに有るのならすんなりと納得できる、という思いの質問でした。
 なので、返信を読ませていただいて、非常にスッキリとしております。


> 実際の拳闘でもゲームでも、ダッキングからアッパーを打っている最中に無敵にはなりません。

 これはもちろん分かっております。違和感の原因は無敵か否かではなく、敵のパンチの方。
 過去にプレイしたゲームにおいて、避けるためにしゃがみこんで、改めて素早く立ち上がった際、避けた攻撃がまだ通り過ぎてなくて当たってしまった経験が全く無かった事による違和感です。
(連打の2発目以降が当たる事は有りましたが)
 つまり、敵のフックの動きが遅過ぎるのではないか、とっくに通り過ぎていた方が自然では無いか、と感じたわけです。
(ストレート系だと、すでに戻り始めている時なのでは、と見える辺り)


 以上です。ありがとうございました。

18名無しさん:2025/06/07(土) 00:33:36
久々に覗いてさらっと眺めてたら気になる記述があったので滅茶苦茶今更な話ですが...
>>2
>>実ボク側からはIMEのオンオフを感知できないので根本的な解決が難しいと考え、
これってIMEが半角英数かひらがなか判断できないよって話であってますか?
あってる場合ですが、

#uselib "imm32.dll"
#cfunc ImmGetContext "ImmGetContext" sptr
#cfunc ImmGetOpenStatus "ImmGetOpenStatus" sptr

HIMC = ImmGetContext(hwnd) ;入力コンテキストへのハンドル取得
onkey gosub,*a
stop

*a
cls
mes ImmGetOpenStatus(HIMC) ;IMEの状態取得。1なら有効0なら無効
return
//参考:https://learn.microsoft.com/ja-jp/windows/win32/api/imm/nf-imm-immgetopenstatus
//参考:https://learn.microsoft.com/ja-jp/windows/win32/api/imm/nf-imm-immgetcontext

こちらのコードを試してみてください。判定できるはずです。
参考までにどうぞ

19サンドバック:2025/06/19(木) 19:13:56
おおっ、これは素晴らしい情報です。
近日、HSP2.61でも動くか確認して、導入したいと考えています。

ありがとうございました。

20サンドバック:2025/06/19(木) 19:15:52
おおっ、これは素晴らしい情報です。
スパー中にIMEがオンになっていて嬉しい人はいないので、
実ボク側から感知してオフにできたら…は悲願でした。

近日、HSP2.61でも動くか確認して、導入したいと考えています。

ソースそのものまで貼っていただいて助かります。
本当にありがとうございました!(感謝)

21はまこ〜:2025/06/20(金) 15:03:09
皆様お久しぶりです!!6月21日22日に私の競走馬がデビューいたします。
東京21日第5R土曜日がマサッチェハマー東京22日第6R日曜日がイトハマー
できれば応援してください^^
現在5頭
マサッチェハマー
イトハマー
コテツハマー
アースインハマー
ロジャートアリー
競馬される方おられましたら今後^^宜しくお願いいたします

22サンドバック:2025/06/24(火) 18:48:00
はまこ〜さんの競走馬の情報、専用スレッドに移動しました。
また新たな楽しさをありがとうございます。

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

18の名無し様、ソースまで提供していただき
アドバイスありがとうございました。

HSP3でソースが完璧に動作することを確認いたしました。
が、HSP2.61では動作しませんでした。

そこでHSP3で別exeを作成、これを実ボクから呼び出してIME感知してファイル保存、
2.61の実ボク本体で保存したファイルを読み込んで…と作業しました。

が、imeはアプリごとにオンオフが割り当てられるようで
実ボク側から感知することができませんでした。

残念ながら実現することができませんでした。

現状のスパー前と後に自動で半角全角キーが押される仕様のままとします。
(スパ天の設定でオンオフも可能)

申し訳ありません。

23名無しさん:2025/06/24(火) 22:01:41
HSP3どころか2を使ってたんですね
3以降しか使ったこと無いので適当に調べつつ2.61で試してみました
onkeyにgosubが使えなかったりWin32APIを使うのに予め使う全ての関数を準備できずに都度都度指定しないといけなかったり
とてつもなく面倒で長くなったのですが、こちらでは2.61でも実行できました
注意点として、
・hwndの内容(最初の段落)はアクティブウィンドウのものを取得してる関係で、
他のウィンドウがアクティブ状態だと正しくIMEの状態を検知できないので、
起動後直ぐとかgselでウィンドウをアクティブした後に実行することを推奨します
・hwndとHIMC(最初と2段落目)は一度取得すればいいので何度も取得する必要はないですが、
screen命令を実行したりすると取得したhwndは使えなくなるので再度取得の必要が出ます

;以下2.61用コード 一応動作は確認済み
;アクティブウィンドウ(HSPのウィンドウ)のハンドルを記録しておく
;ウィンドウが新しくなるとハンドルが変わるので、
;screen命令を実行したりする場合はその都度これ(この下6行分)も一緒に実行する必要ありのはず
ll_dll "user32.dll" ;DLL読み込み
ll_type "v" ;引数無し
ll_func "GetActiveWindow" ;アクティブウィンドウ取得用関数を指定
ll_call ;関数実行
ll_ret hwnd ;戻り値を変数hwndに入れる
ll_free ;DLL開放(しなくてもいいらしいけど、もうuser32.dllに用はないので開放する)
mes hwnd ;確認用に表示してみる

;入力コンテキストへのハンドル取得
ll_dll "imm32.dll" ;DLL読み込み
ll_func "ImmGetContext" ;入力〜のハンドル取得用
ll_type "N" ;引数は数値
ll_n hwnd ;アクティブウィンドウのハンドルを引数に指定
ll_call ;関数実行
ll_ret HIMC ;戻り値を変数HIMCに入れる

onkey,*a
stop

*a
cls
ll_func "ImmGetOpenStatus" ;IMEの状態取得用関数
ll_type "N" ;引数は数値
ll_n HIMC ;引数に入力〜のハンドル指定
ll_call ;関数実行
ll_ret IME_Now ;戻り値を変数IME_Nowに入れる
mes IME_Now ;1なら有効0なら無効
stop


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

掲示板管理者へ連絡 無料レンタル掲示板