サイトトップ

Director Flash 書籍 業務内容 プロフィール
 

Macromedia Director非公式テクニカルノート

Buddy API: baSysFolder()

ID: FN0412002 Product: Director

Platform: All
Viersion: Buddy API 3.7/Windows & 1.6/Macintosh

シンタックス
Result = baSysFolder(フォルダの種類)

引数
フォルダの種類   パスを取得したいフォルダの種類を文字列で指定します。指定できる文字列は、下表のとおりです(なお、後述の注釈参照)。

文字列
Windows
Macintosh
windows Windowsフォルダ
system Systemフォルダ システム(System)フォルダ
prefs Windowsフォルダ Preferencesフォルダ
system16 Systemフォルダ(16ビットファイル)
system32 Systemフォルダ(32ビットファイル)
temp Tempフォルダ(テンポラリファイルの格納場所) 起動ディスク内のTemporary Itemsフォルダ
current DOSカレントディレクトリ
desktop デスクトップフォルダ Desktop(デスクトップ)フォルダ
common desktop 全ユーザー(All Users)のデスクトップフォルダ
groups [スタート]メニューのプログラムグループフォルダ
start menu [スタート]メニューフォルダ
common start menu 全ユーザー(All Users)の[スタート]メニューフォルダ
boot
起動ディスクのボリューム名
apple
アップルメニューフォルダ
control panels
コントロールパネルフォルダ
extensions
機能拡張フォルダ
personal マイドキュメント(My Documents)フォルダ ユーザの書類(Documents)フォルダ
favorites お気に入り(Favorites)フォルダ ユーザのFavoritesフォルダ
startup スタートアッププログラムグループフォルダ 起動項目フォルダ
common startup 全ユーザー(All Users)のスタートアッププログラムグループフォルダ
recent 最近使ったファイル(Recent)フォルダ
sendto SendToフォルダ
network Network Neighborhood(NetHood)フォルダ
fonts Fontsフォルダ システム(System)のライブラリ(Library)のFontsフォルダ
shellnew 新規ドキュメント用のTemplateasフォルダ
program files Program Filesフォルダ
common files Program Files内のCommon Filesフォルダ
apps
アプリケーション(Applications)フォルダ
trash
ゴミ箱(Trashフォルダ)

戻り値
指定された種類のフオルダの完全パスを、文字列で返します。引数が無効だったり、フォルダが存在しない場合には、空文字列""が返されます。

例文
つぎのステートメントは、オペレーティングシステムのシステム(System)フォルダの完全パスを変数sSystemPathに格納したうえで、その値の文字列を[メッセージ]ウィンドウに表示します。

sSystemPath = baSysFolder("system")
put sSystemPath

-- Macintoshの場合(Mac OS X.3.5)
-- "Macintosh HD:System:"

-- Windowsの場合(Windows XP SP2)
-- "C:\WINDOWS\System32\"

注釈
返される完全パスの文字列は、末尾にパスデリミタ(Macintoshは":"、Windowsは"\")がつきます。

なお、上記の表に列挙した以外のフォルダについて、パスを取得することも可能です。ただし、環境によって取得可能なフォルダは異なることがありますので、ご注意ください。

Windowsでは、引数に番号を文字列として渡すことができます[*1]。たとえば、以下のステートメントは、Cookiesフォルダのパスを[メッセージウィンドウ]に表示します。

put baSysFolder( "33" )
-- "C:\Documents and Settings\<ユーザー名>\Cookies\

引数として与える番号は、Windows Platform SDKの<ShlObj.h>プログラミングヘッダファイル内に、リストされています。番号の文字列を指定すると、その値はSHGetSpecialFolderLocation APIの呼出しに直接渡されます。

Macintoshでは、4文字のコードを用いて、フォルダを調べることができます。たとえば、以下のステートメントは、Application Supportフォルダのパスを[メッセージ]ウィンドウに表示します。

put baSysFolder("asup")
-- "Macintosh HD:Library:Application Support:"

4文字のコードについては、Apple Computerで公開されている<Folders.h>プログラミングヘッダファイルから、リストを取得することができます[*2]。

[*1] 番号とフォルダを簡単に確認するには、つぎのムービースクリプトを作成し、引数に最大値となる任意の整数を指定して呼出してみればよいでしょう。[メッセージ]ウィンドウに、番号と対応するフォルダのパスが表示されます。

-- ムービースクリプト
on xGetFolders(n)
   repeat with i = 0 to n
     put [i, baSysFolder(string(i))]
   end repeat
end

[*2] <Folders.h>ファイルから、上記の表に掲載されていないフォルダの4文字コードを例示すると、たとえば次表のようなものがあります。

4文字コード
Macintosh
rdoc アップルメニューの最近使った書類フォルダ
rapp アップルメニューの最近使ったアプリケーションフォルダ
appr アピアランスフォルダ
shdf システム終了項目フォルダ
usrs 全ユーザを格納するユーザ(Users)フォルダ
cusr カレントユーザ(ユーザ名)フォルダ
sdat 全ユーザの共有(Shared)フォルダ

参考資料
Buddy API 3.7/Windows & 1.6/Macintosh付属ヘルプ

_____

作成者: 野中文雄
作成日: 2004年12月31日


Copyright © 2001-2006 Fumio Nonaka.  All rights reserved.