「BlueStacks」+「UWSC」を使ってスマホゲームのマクロを使っている時にフリーズして止まってた場合の対策です。「Nox」の場合は以下の記事で確認できます

「NoxPlayer」でマクロ中にアプリがフリーズした時に「NoxPlayer」とアプリを自動で再起動させる方法
「NoxPlayer」+「UWSC」を使ってスマホゲームのマクロを使っている時にアプリが落ちた場合の対策はしていたのですが、アプリがフリーズして止まっていた場合の対策をしていなかったのでその方法を備忘録を兼ねて書いていきます。フリーズ以...
フリーズを検知する方法は色々ありますが私は基本ループの中に画像が取得できない回数を数えて一定以上画像が取得できない状態が続いたら、「BlueStacks」を再起動してアプリを立ち上げる処理を書いたbatファイルを読み込みますようにしています。一例としてこんな感じです
- While true
- ifb 一定の回数処理が実行されなかったら
- break
- ループ処理
- Wend
- print “フリーズのため再起動しました”
- DOSCMD(”D:\uwsc5302\再起動.bat”,true,true)
- EXITEXIT
batファイルの中身は以下のように記載しています
- taskkill /f /im BlueStacks.exe /t
- timeout /T 5 /nobreak
- start “” xxx
- timeout /T 30 /nobreak
- “D:\uwsc5302\uwsc.exe” “D:\uwsc5302\マクロ.uws”
1行目で起動中の「BlueStacks」を終了させます
2行目は5秒間処理待ちのためキー入力等を受け付けない状態にしています 3行目で「BlueStacks」を起動しますstart “” の後xxxの部分にデスクトップ等にあるアプリのプロパティを開き、リンク先をコピペして貼り付けます。start “”の後には半角スペースが必要なので埋めないように注意します。「start “”半角スペースリンク先のコピペ」文字にしたらこんな感じです
4行目は2行目と同じ処理待ちです。「BlueStacks」が起動するまで30秒待ちますが、必要ないかもしれません
5行目で「UWSC」を起動し、マクロファイルを読み込んでいます。フォルダのパスは例なので自身の環境に合わせて下さい
起動している「BlueStacks」を単体で終了する方法が分からなかったのでかなり強引にtaskkillで処理しています。2台以上「BlueStacks」を起動しているとこの方法だと2台とも終了するのが難点です…
コメント