番外編:Steam コンテンツを起動してみる(4) #
エミュレータではないけれど CatShanty2 v0.6xxxx 以降の機能を利用して Steam のコンテンツ(ゲーム)を起動してみます。
ショートカットファイル名では対応出来ないケースを考える #
番外編:Steam 起動 その3 の続き。
これまでの方法ではコンテンツの起動状態を検知するために、ショートカットファイル名をスペース区切りにしたキーワードでウィンドウタイトルを検索してきました。
幸い筆者の所持するコンテンツでは今のところ上手く行っていますが、もっと確実に検知できる方法を探ってみます。
仮に、ショートカットファイル名がSpaceCat.url
でウィンドウタイトルがSPACE CAT
という場合を想定します。
この場合、SPACECAT
を含むウィンドウが見つからないため上手く検知できないハズです。
ショートカットファイルをリネームする方法 #
一番単純な方法です。
ショートカットファイル名をSpace Cat.url
にリネームしてから、CatShanty2のライブラリに登録すればOKです。
しかしながら意外と穴も多く。
ライブラリに登録済みのショートカットだと、削除して再登録するかプライマリキーを変更して対処しなければなりません。 また、Steam にてショートカットを作成し直した時には再度リネームしなければならず厄介です。
そもそもSpace
もCat
も無関係のウィンドウタイトルと被る確率が高そうです。
ちと今回は却下して、もう少し別な方法を考えます。
iniファイルに定義する方法 #
前回作成した、ショートカットと同名のiniファイルを用いる方法です。
これに定義を追加して対象となるウィンドウタイトルを決め打ちさせれば良さそうです。
例えばSpaceCat.url
と同じフォルダにSpaceCat.ini
を作成し、テキストエディタで次のように記述します。(既に作成済みの場合は追記します)
[FixTitle]
txt=SPACE CAT
エミュレータ設定の キーワードで検索 エディットボックスで次のように指定します。
$iniload("$path$body_noext.ini","FixTitle","txt")
そして キーワードが指定されたらイメージ名では検索しない にチェックを入れ、キーワードが$iniload
で置換された時にはイメージ名での検索が無効となるようにします。
これもまた[FixTitle]
セクションやiniファイル自体が用意されていないコンテンツではヌルに置換されるので、これまで通りイメージ名での検索が有効になります。
この方法なら前回の独自ランチャを使用するようなコンテンツも、(独自ランチャを除外するのではなく)直接ゲームのウィンドウを決め打ちできるのでスマートな気もします。
以上の方法で、およそ大体の Steam コンテンツに対応できると思います。