ホーム   フォーラム   FAQ
 
メインメニュー
ログイン
ユーザー名:

パスワード:


パスワード紛失

マイドキュメントのフォルダパスについて

  • このフォーラムに新しいトピックを立てることはできません
  • このフォーラムではゲスト投稿が禁止されています
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2008-7-17 16:53
iwakisystem  半人前   投稿数: 34
こんにちは。

FileDLG関数を使用してダイアログをオープンした時に、マイドキュメントの中を初めから表示させるために、マイドキュメントのパスを取得するにはどうすれば良いのですか!?

宜しくお願いします。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2008-7-17 19:42
muka  常連 居住地: 東京都練馬区  投稿数: 69
レジストリから直接取得するのが良いかと・・・。

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\Personal
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2008-7-18 8:34
iwakisystem  半人前   投稿数: 34
レジストリから直接取得するしかないのですね・・・

MAGICからそれを見るためにはどうすればよいのでしょうか?
何かのDLLを使用してとか・・

クライアントPCによってマイドキュメントの場所が違うので・・・
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 .2 | 投稿日時 2008-7-18 11:20 | 最終変更
muka  常連 居住地: 東京都練馬区  投稿数: 69
Win32のAPIを使用することにより、DLLを使わなくてもアクセスが可能です。
サンプルプログラムを公開しますので、参考にしてみて下さい。

http://www.eternaldesign.jp/data/dbmagic/RegGetKeyValueA.lzh
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2008-7-18 14:17
muka  常連 居住地: 東京都練馬区  投稿数: 69
V9の話題だったことをすっかり忘れてました。(^^;
V9のソースをアーカイブに追加しましたので、V9版が目的で既にDLされた方は、もう一度同じファイルをダウンロードし直して下さるようお願い致します。m(__)m
ドキュメントに誤りがありまして、2番目のパラメータ(Keyの指定)の先頭の"\"は不要です。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2008-7-18 14:20
iwakisystem  半人前   投稿数: 34
mukaさん サンプルまで付けて頂いてありがとうございます。

しかし、V10(体験版)にリポジトリ入力して実行してみたのですが結果が何も返ってきません。 どうしてでしょう!?

V9側でもV10のソースを見ながら作って見ましたが結果は変わらずです。

ちなみに、OSは Windows XP Professional sp2 です。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2008-7-18 15:25
muka  常連 居住地: 東京都練馬区  投稿数: 69
キーを指定する際の先頭の"\"が付いているのではないかと・・・。
(ドキュメントに誤りがありました。)
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2008-7-18 15:33
iwakisystem  半人前   投稿数: 34
mukaさん 思い通りの結果が得られました ありがとうございました。

ついでなんですけど、Googleで「マイドキュメント フォルダ パス」として検索した場合にヒットする、特別なシェルフォルダのディレクトリパスを取得するSHGetSpecialFolderLocation関数名のですが、これって試したことありますか!?
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2008-7-18 15:52
muka  常連 居住地: 東京都練馬区  投稿数: 69
SHGetFolderLocation関数は使ったことがないですが、使えるかもしれませんね。

ちなみにシェルスクリプト(wsh)でも特殊フォルダの取得が可能です。
(下記のソースを拡張子*.jsで保存し実行してみて下さい。)
objWshShell = WScript.CreateObject("WScript.Shell");
strDocumentPath = objWshShell.SpecialFolders("MyDocuments");
WScript.Echo("マイドキュメント : ", strDocumentPath);

これを応用すると、自分のプロファイルフォルダにMAGIC.INIをコピーしてMAGICを起動させるようなことができます。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 .2 .3 | 投稿日時 2008-8-18 18:01
tiyn  常連   投稿数: 70
OSの環境変数を取得する関数なのですが
OSEnvGet ('USERPROFILE') & 'My Documents'
とかではどうですかね? XPでしか確認してませんが。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2008-8-19 5:28
sigeno56  長老   投稿数: 336
> OSEnvGet ('USERPROFILE') & 'My Documents'

これいいですね♪

V10でも便利な関数が増えていますね。

ちなみに My Documents の前に ¥ マークが必要ですね。

C:\Documents and Settings\Administrator\My Documents
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2008-8-19 8:26
iwakisystem  半人前   投稿数: 34
こんな方法もあるんですね。
勉強になります!!

今はmukaさんに教えてもらった方法で運用してました。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2008-8-19 8:43
muka  常連 居住地: 東京都練馬区  投稿数: 69
特殊フォルダはユーザによって任意のフォルダに変更可能ですから、決め打ちはしないほうが良いと思いますよ。
投票数:0 平均点:0.00

  条件検索へ


Copyright (C) Magic Software Japan K.K. All Rights Reserved.
個人情報保護方針 会員規約