مشکل در ایجاد یک فایل در یک مسیر مشخص در برنامه
سلام دوستان
من در برنامه ای که می نویسم احتیاج دارم که یک فایل در فولدر windows/system32 ایجاد کنم این کار رو با استفاده از تابع file.createtext انجام میدم اما اگر سیستم ویروس َAutorun داشته باشه این فایل رو نمی سازه در واقع نمی تونه به این مسیر بره. آیا راهی برای رفع این مشکل وجود داره? یعنی تابعی دیگر؟
***ویرایش شده توسط مدیر***
نقل قول: مشکل در ایجاد یک فایل در یک مسیر مشخص در برنامه
بدست آوردن مسیر مورد نظر :
System.Environment.GetFolderPath(Environment.Speci alFolder.System)
برای ایجاد فایل :
using (System.IO.StreamWriter sw = System.IO.File.CreateText(path))
{
sw.Write("This is a sample");
}
نقل قول: مشکل در ایجاد یک فایل در یک مسیر مشخص در برنامه
من از این روش استفاده کردم اما وقتی کامپیوتر ویروسی باشه این فایل رو ایجاد نمی کنه. چه کار باید انجام بدم؟
نقل قول: مشکل در ایجاد یک فایل در یک مسیر مشخص در برنامه
نقل قول:
من از این روش استفاده کردم اما وقتی کامپیوتر ویروسی باشه این فایل رو ایجاد نمی کنه. چه کار باید انجام بدم؟
یعنی چی این حرفت؟!!!!!
برای چی این کار رو نکنه؟؟؟
نقل قول: مشکل در ایجاد یک فایل در یک مسیر مشخص در برنامه
شاید چون دسترسی User رو از این فایل می گیره ،نمی تونید بسازید!
نقل قول: مشکل در ایجاد یک فایل در یک مسیر مشخص در برنامه
نقل قول:
نوشته شده توسط
RED-C0DE
یعنی چی این حرفت؟!!!!!
برای چی این کار رو نکنه؟؟؟
ببینید وقتی که کامپیوترم ویروس Autorun داره و Antivirus م اونو ار بین میبره روی درایو هام که دابل کلیک می کنم پنجره ی Open With باز میشه. این از این .حالا وقتی هم که این برنامه رو اجرا می کنم روی دستور ایجاد فایل error میده که قادر نیست که این فایل رو ایجاد کنه. امید وارم که دقیق گفته باشم مشکلم چیه؟
نقل قول: مشکل در ایجاد یک فایل در یک مسیر مشخص در برنامه
نقل قول:
نوشته شده توسط
SMRAH1
شاید چون دسترسی User رو از این فایل می گیره ،نمی تونید بسازید!
اینی که گفتید یعنی چه ؟؟؟؟ :بامزه::خجالت::کف::متفکر:
نقل قول: مشکل در ایجاد یک فایل در یک مسیر مشخص در برنامه
برای اینکه مطمئن بشید که میتونید یک فایل بسازید یا نه ، بهتره در یک مسیر معمولی اینکار رو امتحان کنید.
مثلا در مسیر C:\Program Files یا در دسکتاپ و ... یک فایل بسازید
اگر موفق شدید یعنی اینکه دسترسی لازم رو به مسیر System32 ندارید
اگر موفق نشدید یعنی اینکه مشکل از جای دیگس و بهتره کدتون رو بزارید تا دوستان بررسی کنند
نقل قول: مشکل در ایجاد یک فایل در یک مسیر مشخص در برنامه
نقل قول:
نوشته شده توسط
samira2008
من از این روش استفاده کردم اما وقتی کامپیوتر ویروسی باشه این فایل رو ایجاد نمی کنه. چه کار باید انجام بدم؟
سلام.
اگر احیانا Case سیستم تکون بخوره، و وقتی شما دارید فایل رو Write میکنید، کابل Data هارد دیسک جدا بشه و فایل ایجاد نشه چی؟ یا بدتر از اون، اومدیم برق هنگام فراخوانی متود Write قطع شد، در این شرایط چیکار باید کرد؟
"اگر برق رفت"، "اگر ویروسی بود"، "اگر فلان کلید رجیستری بخاطر بد سکتور هارد خونده نشد" و ... شرایطی هستن که شما در اون نقشی ندارید ولی کد شما باید برای این شرایط آمادگی نشون داده عکس العمل مناسب داشته باشه. Try/Catch رو واسه همین گذاشتن، که به هر دلیلی، اعم از ویروسی بودن سیستم، وجود ایرادهای فیزیکی، عدم داشتن دسترسی لازم به یک Resource و ... وقتی Resource ای در دسترس نبود، شما مطلع بشید و بتونید رفتار مقتضی از خودتون نشون بدید.
در واقع میخوام بگم، پاسخ سوال شما در خود سوال نهفته هستش: کافیه به کاربر پیام بدید که "فایل مورد نظر ایجاد نشد!" و سپس جزییات بیشتری رو در Event Log ذخیره و کل کاری که انجام میدادید رو Rollback کنید. اینکه فایل به چه دلیلی ایجاد نشده، مساله شما نیست. البته دقت کنید، که این وظیفه شماست که حتی الامکان پیام واضحی به کاربر بدید تا اونو در حل مشکل یاری کنه. بهمین دلیل هستش که کلاسهای زیر ایجاد شدن:
- DirectoryNotFoundException
- EndOfStreamException
- FileNotFoundException
- FileLoadException
- PathTooLongException و ...
در واقع، نباید به IOException بسنده کنید، چون این خیلی کلی هستش و کاربر رو مطلقا راهنمایی نخواهد کرد.