iPhone/iPadの画面をPC画面にワイヤレスでミラーリングできるPCソフトのLoneryScreen。
無料版LonelyScreenを使うと有料版購入を促すメッセージが定期的に表示され、ミラーリングしている画面を隠してしまいます。
この記事では、vbsでメッセージを自動的に消す方法を紹介します!
無料版LoneryScreenで表示されるメッセージ
LoneryScreenには無料版と有料版があり、機能に違いはありませんが無料版は有料版の購入を促すメッセージが約8分おきに表示されます。

このメッセージがミラーリングしている画面を隠してしまいます。
無料版には何日間しか使えないなどの制限がないため、このメッセージ表示さえなんとかできれば、、、という感じです。
そこで、vbsを使ってメッセージが表示されたら自動的にウィンドウを削除してみました。
ちなみに、LoneryScreenはこちらから入手できます。
メッセージを自動的に消すvbsコード
基本的には以下のコードをコピペで大丈夫だと思います。
ただ、独学で作ったvbsのためバグがあるかもしれませんのでご了承いただければと思います。
Dim objIE
Dim ret
Dim flg
flg = 0
'-----------------------------------------------------------------------------------------
'vbs処理実行中メッセージ表示
'-----------------------------------------------------------------------------------------
Set objIE = WScript.CreateObject("InternetExplorer.Application","IEtxt_")
objIE.Navigate "about:blank"
While objIE.busy: Wend
While objIE.Document.readyState <> "complete": DoEvents : Wend
objIE.Document.body.innerHTML = "<b id=""msg"">vbs実行中です<br>※画面閉じるで処理停止</b>"
objIE.Document.title = "処理中"
objIE.AddressBar = False
objIE.ToolBar = False
objIE.StatusBar = False
objIE.Height = 150
objIE.Width = 400
objIE.Visible = True
'-----------------------------------------------------------------------------------------
'ポップアップ監視&消去
'-----------------------------------------------------------------------------------------
set WshShell = WScript.CreateObject("WScript.Shell")
Do While flg = 0
ret=WshShell.AppActivate("LonelyScreen AirPlay Receiver") 'ポップアップ確認
If ret = True Then
WshShell.SendKeys"%{F4}" 'ポップアップ削除
End If
wscript.sleep 100 '100ms周期でポップアップを監視
Loop
'-----------------------------------------------------------------------------------------
'IEtxt_が閉じられたらflagを立てる
'-----------------------------------------------------------------------------------------
sub IEtxt_OnQuit()
flg = 1
end sub
以下の動作をvbsで実行しています。
- 100ms周期でメッセージウィンドウの表示を監視
- ウインドウが表示されたらalt+F4でウインドウを閉じる
- InternetExplorer(IE)の画面でvbs実行中のメッセージを表示
- IEを閉じればvbsも終了
注意点
このvbsの注意点を記載しておきます。
- 100ms周期での監視なので一瞬メッセージが表示されてしまいますが、すぐ消えます。
- 気になる場合は、重い負荷がかからない程度に監査周期を短く設定してください。
- LonelyScreenを立ち上げてからvbsを実行してください。
- 先にvbsを立ち上げると、LoneryScreen自体がalt+F4で終了してしまいます。
さいごに
今回は無料版LoneryScreenで定期的に表示されるメッセージをvbsで自動的に消すやり方を紹介しました!
素人レベルのコードですが、LoneryScreen以外でも同じような事象に色々と応用できる気がします。
是非試してみてください!
コメント