PDA

View Full Version : سوال: پيدا كردن پوشه ي Applicatio Data



Yasersadegh
شنبه 21 شهریور 1388, 13:06 عصر
سلام خدمت دوستان عزيز
من تويه برنامم چطوري مي تونم آدرس پوشه ي Application Data رو پيدا كنم!!؟
اگر در Run خود ويندوز دستور %APPDATA% رو تايپ كنيم و اينتر كنيم اين پوشه رو باز ميكنه!! حالا مي خوام تويه برنامم هم با يه تابع آدرس اين پوشه رو بدست بيارم!!!:متفکر:
ممنون ميشم اگه دوستان راهنمايي كنند!!:لبخند:

deopen
شنبه 21 شهریور 1388, 14:54 عصر
این سوال شما هم مانند سوال قبلی تان بود فقط بعد از آدرس user آدرس :
Application Data
میباشد یعنی اگر درایو ویندوز C باشد و کاربر با Administrator لوگین کرده باشد آدرس مورد نظر , آدرس زیر است:
C:\Documents and Settings\Administrator\Application Data

برای بدست آوردن درایو ویندوز و پروفایل لوگین کرده توضیحاتم را در این تاپیک گذاشتم:
http://barnamenevis.org/forum/showthread.php?t=178988

Nima_NF
شنبه 21 شهریور 1388, 16:09 عصر
یک تابع API با نام SHGetFolderPath برای ویندوز های قبل از vista و یک تابع دیگر با نام SHGetKnownFolderPath برای ویندوز های بعد از Vista وجود دارد که فولدرهای مورد نظر سیستمی شما را مستقیم به شما می دهد.

پارامتر دوم این تابع CSIDL هست که باید از MSDN چک کنید تا فولدر مورد نظر را بگیرید،
مثلا CSIDL_APPDATA برای همان فولدر مورد نظر ما است
و فلگ FOLDERID_RecycleBinFolder (در تابع دومی) و فلگ CSIDL_BITBUCKET برای سطل زباله ویندوز است.



مثال بر گرفته از MSDN:



TCHAR szPath[MAX_PATH];

if(SUCCEEDED(SHGetFolderPath(NULL,
CSIDL_PERSONAL|CSIDL_FLAG_CREATE,
NULL,
0,
szPath)))
{
PathAppend(szPath, TEXT("New Doc.txt"));
HANDLE hFile = CreateFile(szPath, ...);
}



دقت کنید که:
- باید کتابخانه shell32.lib را به بخش library پروژه لینک کنید.
- هدر فایل shlobj.h را اضافه کنید