ApplicationDataフォルダパスの取得

解決


TtPIPICH  2004-07-16 01:57:07  No: 9930  IP: [192.*.*.*]

るるとん@Kです
環境変数の取得方法を調べたのですが、引数のPCharの文字列を何にしたら良いのか分かりません。
多分APIのヘルプに載っているのかと思いますが、ヘルプを持っておりません。
教えて頂けないでしょうか?

編集    削除
さわ  2004-07-16 02:06:59  No: 9931  IP: [192.*.*.*]

システムプロパティの環境変数を見ればキー文字列判りますよ
もしくはコマンドラインでSETを叩くか?

編集    削除
TtPIPICH  2004-07-16 02:19:32  No: 9932  IP: [192.*.*.*]

プログラム->アクセサリ->システムツール->システム情報
でも、
マイコンピュータ->プロパティ
でものってません

編集    削除
TtPIPICH  2004-07-16 02:21:05  No: 9933  IP: [192.*.*.*]

コマンドラインの結果
TMP=c:\windows\TEMP
TEMP=C:\windows\TEMP
PROMPT=$p$g
winbootdir=C:\WINDOWS
COMSPEC=C:\WINDOWS\COMMAND.COM
PATH=C:\WINDOWS;C:\WINDOWS\COMMAND;C:\PERL\BIN;C:\WINDOWS;C:\WINDOWS;C:\WINDOWS\
COMMAND;C:\PROGRA~1\BORLAND\DELPHI6\BIN;C:\PROGRA~1\BORLAND\DELPHI6\PROJECTS\BPL

windir=C:\WINDOWS
BLASTER=A220 I5 D1 T4

編集    削除
さわ  2004-07-16 02:29:01  No: 9934  IP: [192.*.*.*]

↑結果が切れてますょ
set APPDATA って叩いて?
出てきたパスがあなたの欲しかったパスであれば?
ビンゴじゃないですか。。

編集    削除
TtPIPICH  2004-07-16 02:32:19  No: 9935  IP: [192.*.*.*]

構文エラーだそうです
ちなみに引数をAPPDATAにしても無駄でした

編集    削除
さわ  2004-07-16 02:41:42  No: 9936  IP: [192.*.*.*]

あなたの環境にはシェルフォルダがありません。。
残念。。

編集    削除
TtPIPICH  2004-07-16 02:45:02  No: 9937  IP: [192.*.*.*]

あちゃー
C:\WINDOWS\Application Data内にフォルダを作ったアプリケーションはどうやったんだー
Win98だからすか?

編集    削除
にしの  2004-07-16 02:55:23  No: 9938  IP: [192.*.*.*]

194702 - [HOWTO] Windows の特殊フォルダの位置を知る方法
http://support.microsoft.com/default.aspx?scid=kb;ja;194702

例えば。
procedure TForm1.Button1Click(Sender: TObject);
var
  Buf: array[0..512] of char;
begin
  SHGetSpecialFolderPath(Handle, Buf, CSIDL_APPDATA, FALSE);
  ShowMessage(String(Buf));
end;

編集    削除
TtPIPICH  2004-07-16 03:07:50  No: 9939  IP: [192.*.*.*]

usesにShellAPIを入れてみましたがSHGetSpecialFolderPathが未定義..

編集    削除
TtPIPICH  2004-07-16 03:13:52  No: 9940  IP: [192.*.*.*]

function SHGetSpecialFolderPath; external 
                                 shell32 name 'SHGetSpecialFolderPathA';
分かりました

編集    削除
さわ  2004-07-16 03:14:52  No: 9941  IP: [192.*.*.*]

余談ですがDelphiにはShlObjってUnitがあります。。

編集    削除
TtPIPICH  2004-07-16 03:17:23  No: 9942  IP: [192.*.*.*]

にしのさんさわさん有難う御座います。
ところで、これは9x系とNT系両方で有効なのでしょうか?

編集    削除
jok  2004-07-16 04:38:38  No: 9943  IP: [192.*.*.*]

>ところで、これは9x系とNT系両方で有効なのでしょうか?

MSDN より

Minimum operating systems 
Windows 2000, Windows NT 4.0 with Internet Explorer 4.0, 
Windows 98, Windows 95 with Internet Explorer 4.0

編集    削除
TtPIPICH  2004-07-16 06:17:25  No: 9944  IP: [192.*.*.*]

9x系のmeとnt系xpが分からない

編集    削除
jok  2004-07-16 07:48:38  No: 9945  IP: [192.*.*.*]

Minimum なんだから、それ以上は大丈夫なのでは?

編集    削除
TtPIPICH  2004-07-16 17:01:49  No: 9946  IP: [192.*.*.*]

あ、そっか
ありがとうございます!

編集    削除