2008年1月5日

SuicaとPASMOをどっちか1枚で使える日が来る?

連絡定期のせいで複数or未だに磁気の人も多いと思う(自分もその1人)

「3月よりPASMO・Suicaの利用エリアが拡大、3線連絡定期券も発行可能に - ITmedia News」
 PASMO協議会と東日本旅客鉄道(JR東日本)は12月21日、IC乗車券「PASMO」「Suica」が利用できるエリアの拡大について発表した。また、交通事業者系クレジットカードのユーザーが利用できる「PASMOオートチャージサービス」もサービスを拡充する。エリア拡大とサービス拡充は、いずれも3月から。

 また、JRと私鉄・地下鉄の連絡定期券の発売範囲も拡大する。詳細は2月中旬以降発表されるが、現在は原則対応していない3線連絡定期券の発行(参照記事)が始まる見込みだ。
関東はいいな
近鉄(PiTaPa)とJR(ICOCA)を使うので未だに磁気の定期券を使ってる、今見てみたらこっちのニュースは何もなかった・・・


「工人舎のコンパクトモバイルノートに新モデル - Engadget Japanese」
一方のLシリーズは現行SAシリーズを置き換えるもので、AMD Geodeはそのままタッチスクリーンディスプレイの解像度を1024 x 600にアップグレード、キーボードに改良を加えたモデル。
もう一方のVは韓国で販売されているKシリーズ(国内のSH6 / SH8に相当)とおなじ仕様のままGPSを加えたモデルとされています。
日本はどうなる?

「デル、「Crystal」ディスプレイをフライング掲載 - Engadget Japanese」
また凄いデザインだ、ガラス板使ってるのが自分好みだけど・・・

「Belkinから音楽共有・ミックス機能搭載の5ポートオーディオハブ「RockStar」 - Engadget Japanese」
六芒星形をした5+1ポートのヘッドホンスプリッタのようなもので、1ポートをiPodそのほかに接続すれば最大5人までがヘッドホンをつっこんで一緒に聴ける、という製品。

おもしろいのは5ポートが入力・出力の切り替えスイッチをそなえていること。音楽プレーヤのヘッドホン出力に接続すれば入力ポートとしても使うことができ、複数のソースがその場ミックスされて聞こえます。
スピーカーが無い時掌曲げてアンテナ?がわりに聞いてたけど・・・ミックスはおもしろいかも

2008年1月4日

超薄型Mac

これは薄い

「「超薄型MacBook」の流出画像? - Engadget Japanese」
奥のがそれ、タッチパッドが大きい


「背面タッチ入力UMPC Noahpad - Engadget Japanese」
イラストをよく見ると画面を背中側までひっくり返して写真立てのように自立させたり、キッチンでハンガーにかけていたり、さらに両手持ちして裏返った状態のキーボードを背面入力していたりとただならぬ事態が進行しています。

仕様は7インチディスプレイ、VIA Eden C7 1GHz CPU、512MB RAM、30GB 1.8インチHDD、OSにUbuntu 7.10、無線・有線LANやカメラ、マイク・スピーカーなどを搭載して重さ0.78kgなど。
裏のキーボード見ないで操作できるんだろうか?

2008年1月3日

AutoHotKeyでesExt5(未完成)

ずっとやってみたかった物

;esExt5.ahk
;2008/01/03作成
;esExt5のiniを読み込んでメニュー作成
;=AutoHotKeyでesExt5を作ってみた

;=また作る必要のない物を作ってみた

;仕様
;・このスクリプトのIniFileにesExt5.iniのパスを書いておく
;・引数がないとメッセージ出して終了
;・未完成

;問題点
;・フォルダ内にまたフォルダがあった場合おかしくなる
;・[folder]の実装未定
;・オプションの実装未定
;・(まずサブメニュー作らないといけないからいろいろ面倒)

;todo
;・問題点の改善
;・完成させる

#NoTrayIcon

;esExt5.iniの場所
IniFile = C:\Program Files\tool\.S\esExt\esExt5.ini
;DropFile = C:\Program Files\tool\AutoHotkey\scripts\Menu\test.txt
;存在フラグ
ExistFlag = 0
;フォルダフラグ
FolderFlag = 0
Line = 0
Count = 0
X = 0

;引数があった場合
If 0 <> 0
{
DropFile = %1%
}
;引数がなかった場合
else
{
Msgbox, 引数がありませんでした
return
}

;Msgbox, %DropFile%
SplitPath, DropFile, , , Ext
SearchWord = [.%Ext%]
;Msgbox, %SearchWord%
;esExt5.ini読み込み
Loop, Read, %IniFile%
{
Line++
;まだ発見できてない場合
If ExistFlag = 0
{
;[拡張子]のメニューだった場合
IfInString, A_LoopReadLine, %SearchWord%
{
;Msgbox, %A_LoopReadLine%
;存在フラグを立てる
ExistFlag = 1
}
;[all]のメニューだった場合
IfInString, A_LoopReadLine, [all]
{
;Msgbox, %A_LoopReadLine%
;存在フラグを立てる
ExistFlag = 1
}
}
;発見できた場合
else
{
;%endだった場合
IfInString, A_LoopReadLine, `%end
{
;存在フラグを戻す
ExistFlag = 0
;次の行へ
Continue
}
;+だった場合
else IfInString, A_LoopReadLine, +
{
;区切り線挿入
Menu, esExtMenu, Add
;区切り線もカウントされるため+1
Count++
;次の行へ
Continue
}
;サブメニュー化だった場合
else IfInString, A_LoopReadLine, {
{
;サブメニューの名前取得
StringSplit, Folder, A_LoopReadLine, {
;サブメニューフラグを立てる
FolderFlag = 1
;Msgbox, フォルダ開始, %Folder2%
}
else IfInString, A_LoopReadLine, }
{
;サブメニューの元を作成
Menu, esExtMenu, Add, %Folder2%, :%Folder2%
;フォルダフラグを戻す
FolderFlag = 0
;Msgbox, フォルダ終わり
}
;オプションだった場合
else IfInString, A_LoopReadLine, >
{
;Msgbox, オプション
Loop
{
;Msgbox, %Line%
SearchLine := Line - A_Index
FileReadLine, SearchWord, %IniFile%, %SearchLine%
IfNotInString, SearchWord, >
{
;オプションのタブ削除
StringReplace, OptionPath, A_LoopReadLine, %A_Tab%
;パスと名前に分割用
StringReplace, OptionPath, OptionPath, %A_Space%|%A_Space%, `,
;パスと名前に分割
StringSplit, OptionArray, OptionPath, `,
;オプションの元になるアプリのタブ削除
StringReplace, Path, SearchWord, %A_Tab%
;パスと名前に分割用
StringReplace, Path, Path, %A_Space%|%A_Space%, `,
;パスと名前に分割
StringSplit, Array, Path, `,
;パス、名前、オプションパス、オプション名
Msgbox, %Array1%, %Array2%, %OptionArray1%, %OptionArray2%
;Menu, %Array2%, Add, %OptionArray2%, OptionCmd
Break
}
}
}
else
{
;後でフルパスを取得するためにカウント+1
Count++
;名前がない時用
Array2 =
;パスと名前に分割用
StringReplace, Path, A_LoopReadLine, %A_Space%|%A_Space%, `,
;パスと名前に分割
StringSplit, Array, Path, `,
;名前がない時
If Array2 =
{
;アプリの名前で代用
SplitPath, Array1, , , , Array2
;Msgbox, %Array0%, %Array1%, %Array2%
}
;フォルダ内の時
If FolderFlag = 1
{
Menu, %Folder2%, Add, %Array2%, FolderCmd
;オプションのタブ削除
StringReplace, Array1, Array1, %A_Tab%
X++
;パス確保
FolderArray%X% := Array1
;名前確保
FolderNameArray%X% := Array2
Continue
}
;それ以外
Menu, esExtMenu, Add, %Array2%, MenuCmd
;パス確保
PathArray%Count% := Array1
;Msgbox, %Array1%, %Array2%, %Count%
}
}
}
Menu, esExtMenu, Show
return

;メニュー用コマンド
MenuCmd:
;テスト用
OptionCmd:
;パス確保
Name := PathArray%A_ThisMenuItemPos%
;関連づけが.ahkの場合
IfInString, Name, .ahk
{
Run, %A_AhkPath% "%Name%" "%DropFile%"
}
;その他
else
{
Run, %Name% "%DropFile%"
}
return

;フォルダ用コマンド
FolderCmd:
;Msgbox, a:%X%, %A_ThisMenuItem%
;パス確保用番号取得ループ
Loop, %X%
{
;検索する名前作成
SearchArray := FolderNameArray%A_Index%
;Msgbox, b:%SearchArray%
;
IfInString, SearchArray, %A_ThisMenuItem%
{
;パスのある番号取得
Pos = %A_Index%
break
}
}
;Msgbox, c:%Pos%
;パス確保
Name := FolderArray%Pos%
;関連づけが.ahkの場合
IfInString, Name, .ahk
{
Run, %A_AhkPath% "%Name%" "%DropFile%"
}
;その他
else
{
Run, %Name% "%DropFile%"
}
return

サブメニュー先に作っておかないといけないからいろいろ面倒
自分にはまだ早かった

iPhone version1.1.3の内容

Google Mapがめくれるのはいい感じ

「iPhone v1.1.3 ビデオツアー - Engadget Japanese」
「続きを読む」に載せた動画で実演されているのはホーム画面のアイコンをドラッグして再配置、携帯基地局ベースの位置情報取得やハイブリッドビューが加わったGoogle Maps, 微妙に強化されたSMSなど。
動画の人のiPhone凄いな

「Macworld予報:Macサブノート・外付け光学ドライブ・マルチタッチトラックパッド - Engadget Japanese」
今年のMacworld SFでのお披露目という予測そのものは他のアップル系うわさサイトでも報じられているものの、今回は 1. 本体に光学ドライブを備えず(既報)、2. 代わりに外付けの記録型DVDドライブも発表される、と微かに具体的になっています。

そのほかMac Rumorsが「確認」したのは少なくとももう1機種のノートブックが発表されること、うち少なくとも1機種にはマルチタッチ・トラックパッドが採用されること。
いよいよ今月15日、楽しみだ

「Macタブレット Modbook、本当に出荷開始 - Engadget Japanese」
Modbookは2.0GHz または2.2GHz Core 2 DuoのMacBookを素材にワコムのデジタイザを追加、キーボードなしのタブレットとして使えるようにカスタマイズされた製品。
iSightや光学ドライブ、GPSも内蔵します。米国・カナダ向けに$2290にて販売中。
タイトルに「本当に」って付けてる時点であまり信用されてなかったのか

2008年1月2日

PlaylistInfo.ahk

頼まれて作った

;PlaylistInfo.ahk
;2008/01/02作成
;現在再生中?のプレイリストの曲情報一覧をファイルに書き出し
;スクリプトのあるフォルダにプレイリスト名.txtで作成
;.txtを.csvに変えればExcelでも見やすいようにした

#NoTrayIcon
#Include CoHelper.ahk

CoInitialize()

iTunesApp := ActiveXObject("iTunes.Application")
;現在のプレイリスト取得
CurrentPlaylist := Invoke(iTunesApp, "CurrentPlaylist")
;プレイリストの名前取得
PlaylistName := Invoke(CurrentPlaylist, "Name")
;プレイリストの時間取得
PlaylistTime := Invoke(CurrentPlaylist, "Time")
;プレイリストの曲取得
Tracks := Invoke(CurrentPlaylist, "Tracks")
;プレイリストの曲数取得
Count := Invoke(Tracks, "Count")
;属性取得
FileGetAttrib, Attrib, %PlaylistName%.txt
;ファイルが既に存在していたら
If Attrib <>
{
;削除確認
Msgbox, %PlaylistName%.txtを削除します
;ファイル削除
FileDelete, %PlaylistName%.txt
}
;プレイリスト名と総再生時間を1行目に
FileAppend, プレイリスト名=%PlaylistName%`,総再生時間=%PlaylistTime%`n, %PlaylistName%.txt
;.csv用に見やすく
FileAppend, 名前`,アーティスト`,アルバム`,時間`,再生回数`n, %PlaylistName%.txt
;開始の確認
Msgbox, プレイリスト:%PlaylistName%の情報を書き出します
;曲数分ループ
Loop, %Count%
{
;曲情報取得
Current := Invoke(Tracks, "Item", A_Index)
;名前取得
Name := Invoke(Current, "Name")
;アーティスト名取得
Artist := Invoke(Current, "Artist")
;アルバム名取得
Album := Invoke(Current, "Album")
;再生時間取得
Time := Invoke(Current, "Time")
;再生回数取得
PlayedCount := Invoke(Current, "PlayedCount")
;ファイルに追加
FileAppend, %Name%`,%Artist%`,%Album%`,%Time%`,%PlayedCount%`n, %PlaylistName%.txt
;Msgbox, %Current%, %Album%
}
Msgbox, 書き出し完了
Release(Current)
Release(Tracks)
Release(CurrentPlaylist)
Release(iTunesApp)
CoUninitialize()
return

初プレイリスト関係だけどまあまあ簡単にできた、30分で一応完成、総完成に1時間ほど
ListViewにでも表示させてみようか

iTunesのMiniPlayer途中経過

ずっとイベントが分からなかった


ちなみにイベントのやり方は
iTunesApp := ActiveXObject("iTunes.Application")
;イベント作成
ConnectObject(iTunesApp, "IiTunesEvents_")

IiTunesEvents_OnPlayerPlayEvent()
{
Msgbox, test
Return
}
ConnectObjectで作った適当な名前(IiTunesEvents_)+本来のイベント名(OnPlayerPlayEvent)これだけという・・・
明日にでもタブボタンでも付けて歌詞表示しようかと考え中
ウィンドウ伸ばさないといけないな


今のところiTunes使えばいいだけで全く役に立たない物だ・・・
文字が長すぎてもぶち切りだし

画像を踏むとHDDがクラッシュ

洒落にならない、ネタないから久しぶりにITpro見た

「画像ファイルに偽装した,HDDをフォーマットしようとするトロイの木馬がネットで話題に - ITpro」
 ネットに投稿された情報などによると,画像ファイルのURLを開くと多数のウインドウを開いてユーザーの操作を妨げる,いわゆるブラウザクラッシャーとして動作するほか,メール・クライアントを起動したり,ユーザーにHDDディスクをフォーマットする実行ファイルをダウンロードさせたりしようとするという。

Internet Explorerだけでなく,SleipnirやLunascapeなど,Internet Explorerのエンジンを利用しているブラウザやアプリケーションで上記のようなトロイの木馬が実行される可能性がある
IE系のブラウザの人は要注意


「AutoHotKey」のGUIを作ってくれるソフトを発見した
「:: SmartGUI Creator :: - AutoHotkey Community」
「:: SmartGUI Creator ::」
GUI苦手な人(自分とか)にはかなり役立ちそう、簡易iTunesミニプレイヤーでも作ってみようかな

「Script Listing - AutoHotKey Wiki」から発見したんだけど他にも便利そうなツール、スクリプトがたくさんある
「AutoHotkey Community」も役立つしとてもありがたい

2008年1月1日

iPod touchで電話

ソフトは今日公開予定らしい


「iPod touchから一般電話に発信・通話するデモ - Engadget Japanese」
内容はVoIPアプリ相手ではなく、SIPプロバイダを介してiPod touchから一般の電話に発信・通話するもの。

ソフトウェアそのものは(現地)1月1日にも一般公開されるため脱獄済みiPod touchユーザーなら誰でも試せますが、touchから話すにはドックコネクタ用マイクかなにかが必要です。
そのマイクが肝心
ちょっとおかしいけどiPhone/iPod touch関係はiPhone、他のiPod関係はiPodタグで


「Yahoo! JAPAN」
トップページがリニューアルされてる


「Gui,Add,TreeView - AutoHotkeyを流行らせるページ」
一番下にあるExample(s)を参考にしてProgram Filesからやってみたら相当時間がかかる
「Paper Plane xUI」とかとは全然違う
やっぱりスクリプトだから?
いろいろ検討中

関係ないけどモバイルクルーザーが壊れた
USBさしても充電できなくなった・・・新年早々ついてない

2007年12月31日

今年最後の通常更新

結構続いてるもんだ

「ネットワーク対応ケータイが600機種突破--これまでの「名機」を振り返る - CNET Japan」
内訳はNTTドコモが237機種、auが176機種(2005年11月にウェブ接続サービスが終了した13機種を除く)、ツーカーが32機種、ソフトバンクモバイルが140機種、ウィルコムが16機種となる。
この画像は生で見てみたい


「[年末特集:2007]iPod touch発売に沸く--下半期の注目記事(前編) - CNET Japan」
「[年末特集:2007]ミクシィの新オフィスがすごかった--下半期の注目記事(後編) - CNET Japan」
分解記事が多い

「海外ラウンドアップ2007:アップルが踏み出した新たな一歩--「iPhone」登場 - CNET Japan」
今年はアップルの年って言っても間違いじゃないと思う


「「SNES CD/ プレイステーション」コントローラ 出品中 - Engadget Japanese」
任天堂とソニーが手を取って作った?コントローラー
十字キーじゃないのか

2007年12月30日

見てるのに気付かない

本当こういう時に2ちゃんねるは役に立つ

ちょっと改造してみた

;test3.ahk
;2007/12/30作成
;簡易エクスプローラー(ファイルなら実行、フォルダなら潜る+上のフォルダに戻る)
;起動時に最後に\なしのフォルダパスを渡せばそこから起動(空白ある場合は""で囲む)
;なければスクリプトのあるフォルダを開く

;変更点
;2007/12/30
;・フォルダとファイルを判別しやすいように拡張子も表示するようにした
;・フォルダ移動したらタイトルを変更できるようにした
;・FileGetAttribを使ってパスに.が入ってても大丈夫なようにした

;問題点
;・ファイル、フォルダが多いと読み込みに時間がかかる
;・起動時に最後に\ありのパスを引数にして起動してもスクリプトのあるフォルダから起動する

;todo
;・エラーの修正
;・その他バグ?修正

#NoTrayIcon
;引数があったら
If 0 <> 0
{
;引数分割
SplitPath, 1, Name, Dir
;属性取得
FileGetAttrib, Attrib, %1%
;Msgbox, %Attrib%
;引数がフォルダだった場合
IfInString, Attrib, D
{
Path = %Dir%\%Name%
}
;引数がファイルだった場合
Else
{
Path = %Dir%
}
SetWorkingDir, %Path%
}

;Msgbox, %A_WorkingDir%

;ListView1作成
Gui, Add,ListView, R10 w400 gLV vListView1, 名前|拡張子|フルパス
;関数呼び出し
ViewAdd()
;表示
Gui, Show, , %A_WorkingDir%
return

;サブルーチン

LV:
;ダブルクリック以外は無視
if A_GuiEvent = DoubleClick
{
;フルパス取得
LV_GetText(FullPath, A_EventInfo, 3)
;フォルダ判定用+フォルダだった場合に使う
SplitPath, FullPath, Name, Dir
;属性取得
FileGetAttrib, Attrib, %FullPath%
;Msgbox, %Fullpath%, %Attrib%
;項目がフォルダだった場合
IfInString, Attrib, D
{
;MsgBox, %Ext%
;上のフォルダに戻る場合
If LV_GetNext() = 1
{
SplitPath, A_WorkingDir, , Dir
Path = %Dir%
}
;フォルダだった場合
Else
{
;パス改造
Path = %Dir%\%Name%
}
;%A_WorkingDir変更
SetWorkingDir, %Path%
;関数呼び出し
ViewAdd()
}
;ファイルだった場合
Else
{
;MsgBox, %Ext%
;実行
Run, %FullPath%
}
}
return

GuiClose:
ExitApp

;ビューに追加関数
;引数、戻り値共になし
ViewAdd()
{
;再描画停止
GuiControl, -Redraw, ListView1
;ビュー全削除
LV_Delete()
;上のフォルダに戻る用ビュー作成
Lv_Add("","..", "", A_WorkingDir)
;A_WorkingDir読み込み
Loop, %A_WorkingDir%\*.*, 1
{
;拡張子取得
SplitPath, A_LoopFileLongPath, , , Ext
;属性取得
FileGetAttrib, Attrib, %A_LoopFileLongPath%
;Msgbox, %A_LoopFileName%, %Attrib%
;フォルダだった場合
IfInString, Attrib, D
{
Lv_Add("",A_LoopFileName, "", A_LoopFileLongPath)
}
;ファイルだった場合
else
{
Lv_Add("",A_LoopFileName, Ext, A_LoopFileLongPath)
}
}
;幅調整
LV_ModifyCol(1)
;タイトル変更
GUI, Show, , %A_WorkingDir%
;再描画
GuiControl, +Redraw, ListView1
}
検索してたらAutoHotkey スレッド part4 - ソフトウェア板にヒットした
まだまだ改造していく予定

iTunes再生中の曲に埋め込んである歌詞を表示

埋め込みの歌詞があること忘れてた・・・

#NoTrayIcon
#Include CoHelper.ahk

CoInitialize()

iTunesApp := ActiveXObject("iTunes.Application")
;現在のタイトルの情報を取得する
Current := Invoke(iTunesApp, "CurrentTrack")
;歌詞取得
Name := Invoke(Current, "Lyrics")

;表示
Msgbox, %Name%

Release(Current)
Release(iTunesApp)
CoUninitialize()
return
「iTunes COM for Windows SDK 」から探してるんだけどなんでIITTrackからLyricsが取得できるか分からない
オブジェクト指向型ちゃんと勉強しないといけないな

再生中の曲の歌詞を表示

まあ簡単にできた

#NoTrayIcon
#Include CoHelper.ahk

CoInitialize()

iTunesApp := ActiveXObject("iTunes.Application")
;現在のタイトルの情報を取得する
Current := Invoke(iTunesApp, "CurrentTrack")
;タイトル取得
Name := Invoke(Current, "Name")
;Msgbox, %Name%

;歌詞.txtがあるフォルダ名
Path = C:\Program Files\Multimedia\MUSIC\lyric
;パス作成
FilePath = %Path%\%Name%.txt
;ファイル読み込み
FileRead, test, %FilePath%

;表示
Msgbox, %test%

Release(Current)
Release(iTunesApp)
CoUninitialize()
return

本当は歌詞のあるフォルダをC:\Program Files\マルチメディア\MUSIC\lyricに入れてたんだけど「チ」で文字化け・・・
やっぱり日本語パスは使うものじゃない

もっと簡単にAutoHotKeyでiTunesを操作する

もっと簡単な方法あるじゃん・・・

「iTunes Ratings - AutoHotKey Community」をちょっと改変

#NoTrayIcon
#Include CoHelper.ahk

CoInitialize()

iTunesApp := ActiveXObject("iTunes.Application")
;再生・一時停止する
Invoke(iTunesApp, "PlayPause")
;現在のタイトルの情報を取得する
Current := Invoke(iTunesApp, "CurrentTrack")
;タイトル取得
Name := Invoke(Current, "Name")
;アーティスト名取得
Artist := Invoke(Current, "Artist")
;アルバム名取得
Album := Invoke(Current, "Album")
;表示
Msgbox, %Name%`n%Artist%`n%Album%

Release(Current)
Release(iTunesApp)
CoUninitialize()
return

これだけで再生・一時停止+曲名、アーティスト名、アルバム名が取得できた
自分はtxt形式の歌詞を曲名で保存してるからこのスクリプトを活用すれば歌詞表示までできるかもしれない

iPhone/iPod touchのファームウェア1.1.3がもうすぐでるかも

なにやら流失した模様

「iPhone ファームウェア v1.1.3 流出? - Engadget Japanese」
新バージョンで追加されるのはスプリングボード(ホーム画面)のアイコン並び替えや複数ページ化、
ウェブブックマークをアイコンとして配置できる機能、
Google Mapsアプリでハイブリッドビューの追加、
携帯ネットワークを使った位置情報システムの実装、
SMSの複数受信者への送信など。
自作ソフトでもうできてる分もあるけどいろいろ楽しみな内容だ


「Optimus Tactus タッチディスプレイ キーボード - Engadget Japanese」
Optimus Tactusはキーボードを名乗りながらメカニカルな鍵を持たず、一枚のフラットなタッチスクリーンディスプレイにキーを表示するいわば「ハードウェア・ソフトウェアキーボード」のようなもの。
自分はキーボードにはクリック感がないと駄目だな

「Wiiのクラック成功、ネイティブアプリが起動可能に - Engadget Japanese」
これにより内蔵無線LANやUSB、Bluetoothといったハードウェアを含むWii本来の能力にアクセスできることになります。
とりあえず新しいゲーム、家電があるとハックと分解する人はでてくるなー

AutoHotKeyだけでiTunesを操作する

検索してたらちょうどいいページを発見した

「COM Helper - AutoHotKey Community」からCoHelper.ahkをダウンロードする

使い方は「COM Helper - AutoHotKey Community」より

#Include CoHelper.ahk 

CoInitialize()

CLSID_iTunesApp := "{DC0C2640-1415-4644-875C-6F4D769839BA}"
IID_IiTunes := "{9DD6680B-3EDC-40DB-A771-E6FE4832E34A}"

piT := CreateObject(CLSID_iTunesApp, IID_IiTunes)

DllCall(VTable(piT,11), "Uint", piT) ; Play
DllCall(VTable(piT, 9), "Uint", piT) ; NextTrack

Release(piT)

CoUninitialize()
こんな感じで書くと再生→次の曲ができるようになった
操作はできたけど曲名とか取得できるんだろうか、模索中


これよりjavascriptの方が簡単だけど・・・あくまで「AutoHotKey」でやることが目的なので気にしない