忍者ブログ
MASTER →  ADMIN / NEW ENTRY / COMMENT
モバイル、スマートフォン関連情報のニュース、アプリケーション、自作スクリプトなどの備忘録
カレンダー
06 2017/07 08
S M T W T F S
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
プロフィール
HN:
ふぁんとむ
性別:
男性
趣味:
電車の中でモバイル通信
ブログ内検索
バーコード
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

WMMiniGPSは、当たり前といえば当たり前なのですが、電源OFFになると記録できなくなります。
普段は省電力のため、2分でOFF設定しているので、これを解除しないといけません。
しかし、いちいち解除して、使い終わったら設定を戻すというのは面倒。
というわけで、MortScriptの出番です。
MortScriptには、電源オフのwait時間をクリアするコマンドがあるので、WMMiniGPSが動作中はそれを定期的に実行するスクリプトに、WMMiniGPSそのものを起動するスクリプトを頭に付け加えます。
WMMiniGPSを起動する時には、このスクリプトを呼ぶようにすれば、電源オフ設定をいじったりしなくても、一発で解決です。
Run("\Program Files\WMMiniGPS\WMMiniGPS.exe")
sleep(500)

While (ProcExists("WMMiniGPS.exe"))
IdleTimerReset
sleep(2000)
EndWhile

Message("電源オフ設定を有効に戻します")
PR
Gmailの仕様変更で、自動ログイン用のURLとかローカルからのログインとかがきかなくなっている模様。
Bookmarkletとかでできるのかもしれませんが、WindowsMobile用ブラウザだと、Bookmarkletが動かないものも多ので、MortScriptにて。
モバイル用ログイン画面を表示しておいてから、これを流します。

Sleep(5)
SendSpecial("Tab")
Sendkeys("UserID")
Sleep(50)
SendSpecial("Tab")
Sleep(50)
Sendkeys("Password")
Sleep(50)
SendSpecial("Tab")
Sleep(50)
SendSpecial("Tab")
Sleep(50)
SendSpecial("CR")

Gmailの仕様変更を突破するようなオートログインができるかもしれないですが、それまでのつなぎ。
RBK-2000BTIIを接続する際のBluetooth ON→サポートソフトをたちあげをスクリプト化。

まずは、Bluetoothをコマンドラインで制御できる、wifictrlをインストール。
http://emboss.blog28.fc2.com/blog-entry-110.html

その上で、以下のスクリプトを流す。

#######################################
#KeyBoard ON
run("\Program Files\wifictrl\wifictrl.exe","on /BT")
run("\Program Files\RBKSSWM\RBKCEUI.exe")
WaitFor("RBKサポートソフト", 5000)
Minimize("RBKサポートソフト")
#######################################


#######################################
#KeyBoard OFF
Show("RBKサポートソフト")
sleep(500)
Close("RBKサポートソフト")
run("\Program Files\wifictrl\wifictrl.exe","off /BT")
#######################################

それぞれのスクリプトをランチャなどで紐付すれば、楽。
MorScriptsではウインドウを選択するときに、ウインドウ名を使うのですが、中にはわかりにくかったり、長いウインドウ名なんかがあって、タイプするのが面倒。
なので、ウインドウ名を自動的に取得し、スクリプトをおいたのと同じフォルダに「Wtlist.txt」というファイルをつくって、そこにためていくというものです。

#############################
Repeat(0)
call "WinTitle"
EndRepeat

Exit

SUB WinTitle
Message("10秒以内にタイトルを取得するウインドウを選択して下さい","Infomation")
sleep(10000)
T=ActiveWindow()
Ms1= "「" & T & "」でよろしいですか?"
if (Question(Ms1,"Info","YesNo")=Yes)
WriteFile("Wtlist.txt",T & "^NL^",True)"
MS2="処理実行。継続?"
ELSE
MS2="処理中止。継続?"
ENDIF

if (Question(MS2,"Info","YesNo")=Yes)
ELSE
Message("終了しました","Info")
Exit
ENDIF
ENDsub

想定運用フォルダ構造

Music
 │ ALLSONGS.m3u(全曲プレイリストファイル)
 │
 +--ジャンル1
 │   │ ジャンル1.m3u(ジャンル別ファイルリスト)   
 │   │
 │   +--アルバム1
 │   │   +--曲1.mp3
 │   │   +--曲2.mp3
 │   │   +--曲3.mp3
 │   │
 │   +--アルバム2
 │   +--アルバム3
 +--ジャンル2
 +--ジャンル3

この前提で、「ジャンル」のフォルダをプレイリスト作成対象フォルダとして選択すると、そのジャンルの中にあるアルバムフォルダ中のMp3ファイルをプレイリスト化し、ジャンルフォルダ直下にm3uファイルとして作成(ファイル名はジャンルと同じ名前)。
さらに、Musicフォルダには各ジャンルフォルダ直下にあるm3uファイルから全曲プレイリストをが作成されます。

で、全曲リストは作成にちょっと時間がかかるので、先に作成指示したジャンル別プレイリストでGSPlayerを起動するようにしてます。
なお、起動後にはプレイリストをフルパスでソートして、一曲目から再生開始するようにしています。ただ、一曲目の指定をマウスクリックで行っているので、機種やスキンによって調整が必要になるでしょう。

###########################################
##プレイリスト作成ディレクトリ指定(直接書換のこと)
Dir_OYA = "\メモリ カード\music"

########################################
##個別プレイリスト作成

##ディレクトリ指定
Dir_music=SelectDirectory("Select Music Folder",MESS,Dir_OYA)

##プレイリストファイル作成
m3u_name= Dir_music \ Part(Dir_music,"\",-1) & ".m3u"

if (FileExists(m3u_name) = true)
DELETE(m3u_name)
ENDIF

##ディレクトリ読取
i=0
ForEach Dir_work in directories(Dir_music & "\*")
i=i+1
dir_name[i]=Dir_work & "\*"
EndForEach

##ファイル読取、リスト作成
ForEach File_work in files(Dir_music & "\*.mp3")
File_work=Replace(File_work,Dir_music & "\","")
WriteFile(m3u_name,File_work & "^NL^",True)"
EndForEach

For j=1 to i
ForEach File_work in files(dir_name[j] & ".mp3")
File_work=Replace(File_work,Dir_music,"")
WriteFile(m3u_name,File_work & "^NL^",True)"
EndForEach
next

##GSPlayerK起動
run(m3u_name)
sleep(200)

##リストをソートして、一曲目から再生
SendCommand("GSPlayerK", 40035)
sleep(300)
MouseDblClick("GSPlayerK",50,75)


############################
##全曲リスト作成
ALLSONGS =Dir_OYA \ "ALLSONGS"

##旧リスト削除
DELETE(ALLSONGS & ".m3u")

##親ディレクトリのひとつ下のフォルダを配列格納
i=0
ForEach Dir_work in directories(Dir_OYA & "\*")
i=i+1
dir_name[i]=Dir_work & "\*"
EndForEach

##ファイル内容読取、リスト作成
ForEach File_work in files(Dir_OYA & "\*.m3u")
Line_Work=ReadLine(File_work)
While(Not IsEmpty(Line_work))
If(SubStr(Line_Work,1,1) ne "#")
WriteFile(ALLSONGS & ".txt",Line_work & "^NL^",True)"
endif
Line_Work=ReadLine(File_work)
EndWhile
EndForEach

For j=1 to i
ForEach File_work in files(dir_name[j] & ".m3u")
Line_Work=ReadLine(File_work)
While(Not IsEmpty(Line_work))
If(SubStr(Line_Work,1,1) ne "#")
WriteFile(ALLSONGS & ".txt","\" & Part(Dir_name[j],"\",-2) \ Line_work & "^NL^",True)"
endif
Line_Work=ReadLine(File_work)
EndWhile
EndForEach
next j

##全曲リスト完成
Rename(ALLSONGS & ".txt",ALLSONGS & ".m3u")

忍者ブログ [PR]