PDA

View Full Version : سوال: فهمیدن اطلاعات دخیره شده داخل Setting



forodo
شنبه 24 خرداد 1393, 15:31 عصر
سلام
من یه برنامه کوچولو نوشتم و فقط exe رو تحویل می دم. یعنی کلاً یه فایل میدم.
حالا اونا وقتی نام کاربری و رمزعبور رو تغییر می دهند من گفتم که داخل Setting در قسمت Properties ذخیره بشه.
خب من اون exe رو میندازم توی پوشه Debup پروژه و روی exe قبلی قرارش می دم و قبلی رو جذف می کنم.
حالا وقتی که با ویژوال برنامه رو اجرا می کنم باید نام کاربری و رمز عبور اونها توی برنامه ذخیره شده باشه و من بتونم با اطلاعات اونا وارد برنامه بشم ولی اینطور نیست و اطلاعات قبلی خودم رو برنامه قبول می کنه.
اصلاً اون Setting داخل exe وجود داره؟ کجا ذخیره می شه؟
با تشکر

khokhan
شنبه 24 خرداد 1393, 15:59 عصر
سلام
من یه برنامه کوچولو نوشتم و فقط exe رو تحویل می دم. یعنی کلاً یه فایل میدم.
حالا اونا وقتی نام کاربری و رمزعبور رو تغییر می دهند من گفتم که داخل Setting در قسمت Properties ذخیره بشه.
خب من اون exe رو میندازم توی پوشه Debup پروژه و روی exe قبلی قرارش می دم و قبلی رو جذف می کنم.
حالا وقتی که با ویژوال برنامه رو اجرا می کنم باید نام کاربری و رمز عبور اونها توی برنامه ذخیره شده باشه و من بتونم با اطلاعات اونا وارد برنامه بشم ولی اینطور نیست و اطلاعات قبلی خودم رو برنامه قبول می کنه.
اصلاً اون Setting داخل exe وجود داره؟ کجا ذخیره می شه؟
با تشکر

می شه کدهای ذخیه و بازخوانی رو بگذارین؟

forodo
شنبه 24 خرداد 1393, 16:04 عصر
می شه کدهای ذخیه و بازخوانی رو بگذارین؟
بازخوانی
if (txtUser.Text.Trim() == SeeUseAndPassRadman.Properties.Settings.Default.Us ernameSee &&
txtpass.Text.Trim() == SeeUseAndPassRadman.Properties.Settings.Default.Pa sswordSee)
{
tabControl1.Visible = true;
}
ذخیره
SeeUseAndPassRadman.Properties.Settings.Default.Us ernameSee = txtUseNew.Text.Trim().ToString();
SeeUseAndPassRadman.Properties.Settings.Default.Pa sswordSee = txtPassNew.Text.Trim().ToString();
SeeUseAndPassRadman.Properties.Settings.Default.Sa ve();

forodo
یک شنبه 25 خرداد 1393, 09:42 صبح
برنامه خیلی ساده است و شاید کل برنامه 200 خط نشه ولی چزا اینطوری میشه؟

NASA's Spaceman
یک شنبه 25 خرداد 1393, 16:27 عصر
دوست عزیز برای هر خط کد کد ذخیره رو هم باید بنویسی
Properties.Settings.Default.Save();
با سپاس Spaceman

forodo
یک شنبه 25 خرداد 1393, 17:13 عصر
دوست عزیز برای هر خط کد کد ذخیره رو هم باید بنویسی
Properties.Settings.Default.Save();
با سپاس Spaceman

فرقی نکرد.
درست نشد.

NASA's Spaceman
یک شنبه 25 خرداد 1393, 22:05 عصر
تو یه پروژه جدید همین رو بنویس
و توی خوندن از setting اول مقدارت رو تو یه تکست باکس بزار (اگه چیزی که ذخیره کردی متنی هست) و بعد visible تکست باکس رو false کن و بعد شرطت رو با اون تکست باکس انجام بده
احتمالا مشکلت حل میشه
با سپاس Spaceman

forodo
یک شنبه 25 خرداد 1393, 22:40 عصر
تو یه پروژه جدید همین رو بنویس
و توی خوندن از setting اول مقدارت رو تو یه تکست باکس بزار (اگه چیزی که ذخیره کردی متنی هست) و بعد visible تکست باکس رو false کن و بعد شرطت رو با اون تکست باکس انجام بده
احتمالا مشکلت حل میشه
با سپاس Spaceman
منظور شما اینه که متوجه بشم که آیا واقعاً مقدار داخل ستینگ ویرایش شده یا نه؟

NASA's Spaceman
دوشنبه 26 خرداد 1393, 10:46 صبح
اره
تستش کن ببین چی میشه
و اگه درست بنویسی هیچ مشکلی توی بازیابی setting نداه و 100 در صد یجاش رو داری اشتباه میری
و یه عکس از صفحه نمایشت بخش فقط این دو تا کد رو بزار تا ببینم کجاش ایراد داری
با سپاس Spaceman

gerdioz
دوشنبه 26 خرداد 1393, 16:51 عصر
دوست عزیز
خب شما وقتی فایل exe اونها رو جایگزین میکنی ؟
وقتی برنامه دیباگ میشه ی فایل exe جدید می سازه از روی setting شما درسته
پس اطلاعات جدید رو می خونه

Mahmoud.Afrad
پنج شنبه 29 خرداد 1393, 17:34 عصر
این اطلاعات در فایل exe ذخیره نمیشن.
داده های setting در مسیر C:\Users\<Your User Account>\AppData\Local\Microsoft و در پوشه ای که ابتدای اون هم نام فایل exe و داخل اون یک پوشه هم نام ورژن فایل exe و درون یک فایل XML با پسوند config ذخیره میشن.
مثلا داده های setting پروژه ای به نام WindowsFormsApplication1 در مسیر
C:\Users\<Your user>\AppData\Local\Microsoft\WindowsFormsApplication1. _Url_r3scmb5oz0uanjgfrszqmxscw1rueugz\1.0.0.0\user .config

ذخیره میشه که با باز کردن اون اطلاعات رو میبینید.

پس اطلاعات مهم رو باید encrypt کنید تا لو نره.