HSPでWindowsのいろんなディレクトリ取得 (CSIDLの値)

HSPでWindowsのいろんなディレクトリ取得 (CSIDLの値)

ちょっとWindowsのディレクトが調べたくて、dirinfoでやろうとしたんですけど、よく知らないんで調べてみました。
んでもって、CSIDL_のやつの値を全部定義するだけという簡単なスクリプト書きます。
たぶんいままでブログに書いてきたサンプルの中で一番苦労しないで書いたサンプル…。
でも、これを張り付けるだけで簡単にできると思えば、スクリプト自体が簡単な割に、使いやすい (?) と思います。

// CSIDLの              \あたい/             定義しまくり
//           ,.ヘ         /\
//            /::::::\      /::::::::::::}
//         /:::::::::::::::\, --/::::::::::::::::::ト-、
//         ./:::::::;> ''"´ ̄ ̄ `"''<::::::::::::::::| /`!_
//         |:;>'"            `ヽ:::::ア´ `ヽ- `ヽ
//       / ,   {   |  ,ハ__    `ヽ ∨    _,ン
//      ./  /  _∧   ト、/_」、 ,ハ   ∨  /´
//       '  '  |/ _`'、  | ´んlハY ト、 /   /
//      .{  |  |イ lハ \! 弋zソム/ ./   ∧
//      ヽ ハ .八 lり       ⊂⊃r/   /  \
//        ソイレ}7⊃ rァ  ̄`ヽ   ソ´ゝ-、./ | r、)
//       .// 人   、    ノ /  ヽ- イ /}ノ
//      (r','  _.ノ> 、.,__  イ{      }´ _,,.. -─ァ
//        |r'´∨´,>r/ |__/ /!    /'"´   /__/
//          \/ /:::|/ム、_/:::|ヽ-‐ァ' --‐‐ ''"´/
//         <r{ /::::{X}:::::::::::レ'::/  ,,.. -‐ '''"´
//         /7:::::::::::::::::::::::::::/  ̄ "'' ー- 、
//      ,/´ ̄ヽ/::::::::|::::/:::::::::::/ ---─  '''"´
//     {|   ̄}ノ:::::::::::!::':::::::::::/ト 、 \/\
//     ヽ._,ソ'::::::::::::::::::::::::::::::::'、 `'' ー---ヽ
//        /::::::::::::::::::::::::::::::::::::::::ヽ
//       ./:::::::::::::::::、__/::::::::::::::::::::\
//       /:::::::::::::::::::::::::::::::::::::::::::::::::::::::::\
//     ∧/\:::::::::::::::::::::::::::::::::::::/\/ ハ
//     l、     \/\/\/\/    /
//        ト ...,,,_____,,..、-‐''"「´
//       .|   /          '.,   ',
//      {、_;'           ' ___,.ハ
//      ト--イ            |--‐ }
//      '、_ノ            、_ノ
#const CSIDL_DESKTOP 0
#const CSIDL_INTERNET 1
#const CSIDL_PROGRAMS 2
#const CSIDL_CONTROLS 3
#const CSIDL_PRINTERS 4
#const CSIDL_MY_DOCUMENTS 5
#const CSIDL_FAVORITES 6
#const CSIDL_STARTUP 7
#const CSIDL_RECENT 8
#const CSIDL_SENDTO 9
#const CSIDL_BITBUCKET 0xA
#const CSIDL_STARTMENU 0xB
#const CSIDL_MYMUSIC 0xD
#const CSIDL_MYVIDEO 0xE
#const CSIDL_DESKTOPDIRECTORY 0x10
#const CSIDL_DRIVES 0x11
#const CSIDL_NETWORK 0x12
#const CSIDL_NETHOOD 0x13
#const CSIDL_FONTS 0x14
#const CSIDL_TEMPLATES 0x15
#const CSIDL_COMMON_STARTMENU 0x16
#const CSIDL_COMMON_PROGRAMS 0x17
#const CSIDL_COMMON_STARTUP 0x18
#const CSIDL_COMMON_DESKTOPDIRECTORY 0x19
#const CSIDL_APPDATA 0x1A
#const CSIDL_PRINTHOOD 0x1B
#const CSIDL_LOCAL_APPDATA 0x1C
#const CSIDL_ALTSTARTUP 0x1D
#const CSIDL_COMMON_ALTSTARTUP 0x1E
#const CSIDL_COMMON_FAVORITES 0x1F
#const CSIDL_INTERNET_CACHE 0x20
#const CSIDL_COOKIES 0x21
#const CSIDL_HISTORY 0x22
#const CSIDL_COMMON_APPDATA 0x23
#const CSIDL_WINDOWS 0x24
#const CSIDL_SYSTEM 0x25
#const CSIDL_PROGRAM_FILES 0x26
#const CSIDL_MYPICTURES 0x27
#const CSIDL_PROFILE 0x28
#const CSIDL_SYSTEMX86 0x29
#const CSIDL_PROGRAM_FILESX86 0x2A
#const CSIDL_PROGRAM_FILES_COMMON 0x2B
#const CSIDL_PROGRAM_FILES_COMMONX86 0x2C
#const CSIDL_COMMON_TEMPLATES 0x2D
#const CSIDL_COMMON_DOCUMENTS 0x2E
#const CSIDL_COMMON_ADMINTOOLS 0x2F
#const CSIDL_ADMINTOOLS 0x30
#const CSIDL_CONNECTIONS 0x31
#const CSIDL_COMMON_MUSIC 0x35
#const CSIDL_COMMON_PICTURES 0x36
#const CSIDL_COMMON_VIDEO 0x37
#const CSIDL_RESOURCES 0x38
#const CSIDL_RESOURCES_LOCALIZED 0x39
#const CSIDL_COMMON_OEM_LINKS 0x3A
#const CSIDL_CDBURN_AREA 0x3B
#const CSIDL_COMPUTERSNEARME 0x3D
// サンプルっぽい物体。0x10000にCSIDLのチルノ値を足して使う。
mes dirinfo(0x10000+CSIDL_PROGRAM_FILES)
mes dirinfo(0x10000+CSIDL_PROGRAM_FILESX86)

ほとんどコピペで作りました。もうしわけありません。


「HSPでWindowsのいろんなディレクトリ取得 (CSIDLの値)」への2件のフィードバック

  1. やっぱり英語は嫌いだ
    3行以上あると読む気がww

    お疲れ様です

  2. HSP用ではないスクリプトをコピペして置換しただけです…。

    英語って言っても…これくらいは読みましょうよ!どうしてもわからなくてもYahoo! 翻訳でやれば…。

    (Yahoo! 翻訳で「I am kerupani.」を訳したら「私はケルパニ午前」って出てきたけど…でもまあこれくらいだったら大丈夫だと思う。たぶん。)

コメントは受け付けていません。