ひしだまの変更履歴

ひしだまHPの更新履歴。
主にTRPGリプレイの元ネタ集、プログラミング技術メモと自作ソフト、好きなゲームや音楽です。

ドラスレ4パスワードサポート2改

2012-06-17 01:17:48 | ツール

ファルコムのドラゴンスレイヤーIVの、Windows上で動くエミュレーター版のパスワードを入力する支援ツールの改良版を改造した。

DS4のウィンドウを見つける為にJNI経由でWin32APIを呼び出していて、戻ってこないから別プロセスで実行するようにしていたのだけれど、全てのWin32APIが駄目という訳ではなくて、ウィンドウの列挙(EnumWindows)は上手くいっていて、取得した各ウィンドウのウィンドウタイトルを取得(GetWindowText)しようとする際に、取得できるウィンドウと出来ないウィンドウがあるという事に気付いた。
DS4のウィンドウはちゃんと取得できるけど、何かのウィンドウではGetWindowTextが戻ってこないので、全体として駄目という状態になっていたというわけ。

そこで、Scalaのfutureを使ってGetWindowTextを全部別スレッドで行い、一定時間以内に返ってきたものだけ判定に使うようにしたら上手く動いた。(DS4のウィンドウはちゃんと操作できるので、一定時間内に戻ってくる)


コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« GCJとYAESSのエラー | トップ | JavaFX2 TableView »
最新の画像もっと見る

コメントを投稿

ツール」カテゴリの最新記事