Home

Karafuto Blog

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  • Comments (Close): -
  • TrackBack (Close): -

AutoHotkeyでドライブ文字を取得する

AutoHotkeyのコマンドでドライブ文字を取得

AutoHotkeyDriveGetコマンドの Listオプションでドライブ文字の一覧を取得する。

DriveGet, drives, List
list := RegExReplace(drives, "\w", "$0,", count, -1)
StringLen, length, list
StringLeft, list, list, % length - 1
MsgBox, %list%

; C,D,E

レジストリからドライブ文字を取得

AutoHotkeyの Loop (registry)コマンドでレジストリの「HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices」キーから「\DosDevices\(アルファベット):」という値を探して、ドライブ文字を取り出す。これだと、過去に使用したドライブ文字が残るようだ。

Loop, HKEY_LOCAL_MACHINE, SYSTEM\MountedDevices
{
    IfInString, A_LoopRegName, \DosDevices\
    {
        StringMid, drive, A_LoopRegName, 13, 1
        If (! list) {
            list = %drive%
        } else {
            list .= "`,"drive
        }
    }
}
Sort, list, CL D,
MsgBox, %list%

; A,C,D,E,F,G

Win32 APIでドライブ文字を取得

Win32 APIの GetLogicalDriveStrings 関数でドライブレターを取得するが、AutoHotkeyでは Null文字の後の値が取れないようなので、NumGet()関数で変数のメモリから数値を取り出し、文字に変換してみた。一応取れているけど、こんなやり方でいいんだろうか。

GetLogicalDriveStrings() { 
    nBufferLength = 108
    VarSetCapacity(lpBuffer, nBufferLength)
    length := DllCall("GetLogicalDriveStringsA", UInt, nBufferLength, Str, lpBuffer)
    Loop, %length%
    {
        If (A_Index = length) {
            break
        }
        chr := NumGet(lpBuffer, A_Index - 1, "UChar")
        chr := chr = 0 ? "`," : Chr(chr)
        str .= chr
    }
    return str
}

list := GetLogicalDriveStrings()
StringReplace, list, list, :\, , All
MsgBox, %list%

; C,D,E

AutoHotkeyでディスクの容量を取得する

AutoHotkeyのコマンドでディスクの容量を取得

AutoHotkeyDriveGetコマンドの Capacityオプションでディスクの容量を取得して、DriveSpaceFreeコマンドでディスクの空き容量を取得する。

SetFormat, float, 0.2

; ドライブレターを設定
directoryName = C:\
DriveGet, diskSpace, capacity, %directoryName%
if (ErrorLevel = 0) {
    diskSpace := diskSpace / 1024
    DriveSpaceFree, freeSpace, %directoryName%
    freeSpace := freeSpace / 1024
    text = ディスクの容量`t%diskSpace%GB`nディスクの空き容量`t%freeSpace%GB
} else {
    text = ディスクの容量を取得できませんでした
}
MsgBox, , %directoryName%, %text%

; ディスクの容量 37.27GB
; ディスクの空き容量 25.98GB

Win32 APIでディスクの容量を取得

AutoHotkeyの DllCall()関数で Win32 APIの GetDiskFreeSpaceEx 関数を呼び出して、ディスクの容量、空き容量を取得する。

SetFormat, float, 0.2

GetDiskFreeSpaceEx(lpDirectoryName) { 
    VarSetCapacity(lpTotalNumberOfBytes, 8)
    VarSetCapacity(lpTotalNumberOfFreeBytes, 8)
    result := DllCall("GetDiskFreeSpaceExA", Str, lpDirectoryName, UInt, 0, Uint, &lpTotalNumberOfBytes, UInt, &lpTotalNumberOfFreeBytes) 
    If (result) {
        size = % Numget(lpTotalNumberOfBytes, 0, "Int64") / (1024 * 1024 * 1024) "," Numget(lpTotalNumberOfFreeBytes, 0, "Int64") / (1024 * 1024 * 1024)
    } else {
        size = 0
    }
    return size
}

;ドライブレターを設定
directoryName = C:\
diskSpace := GetDiskFreeSpaceEx(directoryName)
If (diskSpace) {
    StringSplit, diskSpaceList, diskSpace, `,
    text = ディスクの容量`t%diskSpaceList1%GB`nディスクの空き容量`t%diskSpaceList2%GB
} else {
    text = ディスクの容量を取得できませんでした
}
MsgBox, , %directoryName%, %text%

; ディスクの容量 37.27GB
; ディスクの空き容量 25.98GB

AutoHotkeyの DriveGetコマンドと DriveSpaceFreeコマンドは容量をメガバイト単位で取得する(下位を切り捨て)ため、2つのスクリプトでは結果が異なることがある。

参考にしたページ

Internet Explorer 8をインストールした

Internet Explorer 8

Windows Updateを手動で実行したところ、Internet Explorer 8が優先度の高い更新プログラムに出てきたから、インストールしてみた。Internet Explorer 8を使って、気になったところをメモ。

アクセラレータ

アクセラレータ

ページのテキストを選択して、検索などの Webサービスを利用する。プレビューが可能なアクセラレータはページ上に結果を表示する。ページを移動せずに結果を表示することはJavaScriptでも作れないことはないけど、アクセラレータが用意されていれば簡単にサービスの種類が増やせる。

アクセラレータの説明では、ページのテキストを選択すると現れる青い矢印のボタンをクリックして、メニューにマウスカーソルを合わせると、検索などの結果がページ上に表示されると書いてあるが、普通に右クリックメニューからも利用できる。というか、右クリックのほうが早いと思うけど。

Webスライス

Webスライス

お気に入りバーからページの一部の更新情報を表示することができる。RSSじゃあダメなのかなあ?自分でページを切り取れるのならまだしも、サイトで用意されてないと使えないのがな。

Webスライスを表示している時、表示からマウスカーソルを外すと、重くなる(?)。

タブのグループ化

タブのグループ化

タブをグループ化して、色で分ける。同じページから開かれたページは同じグループになり、タブを別のグループに移動させるとそのグループに変わるようだ。タブグループをまとめて閉じることもできる。

タブごとにグループに分けられているので、タブに前のページと全く関係ないページを開いてもそのまま同じグループのままになる。それと、これはタブグループの問題ではないが、タブがたくさんあっても色で見分けやすいのに、あまり多くタブを開くとタブが隠れてしまう。

開発者ツール

HTML、CSS、JavaScriptを調べて、いじれる。ブラウザに開発者ツールが付いてくるのが普通になったな。

あとメニューに、スクリプトや CSSの無効化、要素の情報の表示、要素のアウトライン表示、画像の情報の取得、キャッシュと Cookieの消去や更新、ツール、HTMLや CSSなどの検証、互換性モードのテストなどがある。その中でツールメニューのルーラーとカラーピッカーがちょっと面白いと思った。

ルーラーは水平、垂直だけでなく、斜めにも置ける。拡大鏡も付いている。

ルーラー

カラーピッカーは色を取得するだけ。

カラーピッカー

Internet Explorer 8 新機能紹介ムービー

地球調査員タラバハチロー

Internet Explorer 8 新機能紹介ムービー の主人公、地球調査員タラバハチローがもうちょっと見たくなった。

参考にしたページ

Dropboxを試してみた

  • 2009-06-01 (Mon)
  • web

Dropbox

Dropboxはオンラインストレージサービス。クライアントソフトを使って、複数の PCでファイルを共有させることができる。

  • 無料で 2GB、有料で 50GB
  • Windows、Mac OS、Linuxで使える
  • アクセスの許可は、自分だけ、他のユーザと共有(Share)、公開(Public、Photos)がある
  • 1ファイルのサイズの制限は無い(サイトからアップロードする時は 1ファイル 350MBまで)
  • ファイルの履歴(Revisions)が残る

クライアントソフトをダウンロードして、インストールする。インストールが終わると、Dropbox Setupのウィンドウが表示されるので、「I'm new to Drobox」を選び、アカウントを作成する。アカウントを作成した後、「I want to choose whrer to puto my Dropbox」にチェックを入れれば My Dropboxフォルダ(同期するフォルダ)の場所を選べる(後から Dropboxのタスクトレイアイコンの preferencesから My Dropboxフォルダの場所を変更することもできる)。あとは、作成された My Dropboxフォルダにファイルをコピーすれば、ファイルが自動的に同期される。

My Dropboxフォルダ

ブラウザから Dropboxのサイトでファイルをアップロード、ダウンロード、コピー、移動、リーネーム、削除などを行うこともできる。当然、サイトにアップロードすれば My Dropboxフォルダにファイルはコピーされ、サイトで削除すれば My Dropboxフォルダからファイルが削除される(削除したファイルも Show deleted filesで表示させて Undeleteで戻すことができる)。

Dropboxのサイト

参考にしたページ

Amazonの URL

  • 2009-05-27 (Wed)
  • web

Amazonの URLは種類が多いから、自分が使いそうなものだけをメモした。

Amazonの商品の URL

短い URL
http://www.amazon.co.jp/dp/(ASINコード)/
(例)http://www.amazon.co.jp/dp/B00000BKI1/
アソシエイトIDをつけた URL
よく見かける URL
http://www.amazon.co.jp/exec/obidos/ASIN/(ASINコード)/(アソシエイトID)/ref=nosim/
(例)http://www.amazon.co.jp/exec/obidos/ASIN/B00013EV1A/karafuto50-22/ref=nosim/
Amazonで作成した URL
http://www.amazon.co.jp/dp/(ASINコード)?tag=(アソシエイトID)&camp=XXXX&creative=XXXX&linkCode=(リンクタイプ?)&creativeASIN=(ASINコード)&adid=XXXXXXXXXXXXXXXXXXXX&
(例)http://www.amazon.co.jp/dp/B00013EV1A?tag=karafuto50-22&camp=1027&creative=7407&linkCode=as4&creativeASIN=B00013EV1A&adid=09RMHWVE7HEJE016NEZH&

リンクの動作確認ツール(Amazon アソシエイト・プログラムにログインする必要がある。)で試してみるとどちらでもいいようだ。

Amazonの商品画像の URL

http://images.amazon.com/images/P/(ASINコード).(国別コード).(画像の形式).jpg

日本の国別コードは 09、アメリカとカナダは 01。(?)

画像の形式はいろいろ指定できる(傾き、影、割引率、その他)が、ここでは画像のサイズだけ。省略するとMZZZZZZZの指定になる。小さい方から、THUMBZZZ、TZZZZZZZ、MZZZZZZZ、LZZZZZZZ。

THUMBZZZTZZZZZZZMZZZZZZZ

左から THUMBZZZ、TZZZZZZZ、MZZZZZZZ(http://images.amazon.com/images/P/B001OIZAL6.09.THUMBZZZ.jpg、http://images.amazon.com/images/P/B001OIZAL6.09.TZZZZZZZ.jpg、http://images.amazon.com/images/P/B001OIZAL6.09.MZZZZZZZ.jpg)。

複数の画像がある時

http://images.amazon.com/images/P/(ASINコード).(国別コード).(追加コード).(画像の形式).jpg

追加コードに番号を入れる。省略すると 'MAIN'を指定したことになる。(追加コードにはアングルの指定もある。)

  • 書籍の場合は IN + 数字。(IN01, IN02, IN03, IN04, IN05...)
  • 書籍以外は PT + 数字。(PT01, PT02, PT03, PT04, PT05...)

MAINPT01PT02PT03

左から MAIN、PT01、PT02、PT03(http://images.amazon.com/images/P/B0016AN68G.09.MAIN.MZZZZZZZ.jpg、http://images.amazon.com/images/P/B0016AN68G.09.PT01.MZZZZZZZ.jpg、http://images.amazon.com/images/P/B0016AN68G.09.PT02.MZZZZZZZ.jpg、http://images.amazon.com/images/P/B0016AN68G.09.PT03.MZZZZZZZ.jpg)。

複数の画像(その他のイメージ)がある音楽、本は少ないから、使わないかな。

参考にしたページ

Home

おまかせリンク(R)
全記事表示リンク
Search
Meta
Feeds

Page Top

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。