ApplicationDataフォルダパスの取得

解決


TtPIPICH  2004-07-15 16:57:07  No: 9930  IP: 192.*.*.*

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

編集 削除
さわ  2004-07-15 17:06:59  No: 9931  IP: 192.*.*.*

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

編集 削除
TtPIPICH  2004-07-15 17:19:32  No: 9932  IP: 192.*.*.*

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

編集 削除
TtPIPICH  2004-07-15 17: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-15 17:29:01  No: 9934  IP: 192.*.*.*

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

編集 削除
TtPIPICH  2004-07-15 17:32:19  No: 9935  IP: 192.*.*.*

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

編集 削除
さわ  2004-07-15 17:41:42  No: 9936  IP: 192.*.*.*

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

編集 削除
TtPIPICH  2004-07-15 17:45:02  No: 9937  IP: 192.*.*.*

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

編集 削除
にしの  2004-07-15 17: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-15 18:07:50  No: 9939  IP: 192.*.*.*

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

編集 削除
TtPIPICH  2004-07-15 18:13:52  No: 9940  IP: 192.*.*.*

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

編集 削除
さわ  2004-07-15 18:14:52  No: 9941  IP: 192.*.*.*

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

編集 削除
TtPIPICH  2004-07-15 18:17:23  No: 9942  IP: 192.*.*.*

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

編集 削除
jok  2004-07-15 19: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-15 21:17:25  No: 9944  IP: 192.*.*.*

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

編集 削除
jok  2004-07-15 22:48:38  No: 9945  IP: 192.*.*.*

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

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

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

編集 削除