آمورش باز نمودن فایل ها در سی شارپ به روش های مختلف
در این پست میخوام براتون یک مثال عملی در سی شارپ بزنم که چطور میشه
1- یک فایل رو از روی هارد دیسک با یک نرم افزار دلخواه بازکرد،
2- یک فایل رو از روی هارد دیسک با نرم افزار پیفرضی که برای ویندوز تعریف شده، بازکرد
3- یک فایل رو در پنجره ی Explorer باز کرد در حالی که اون فایل به حالت انتخاب در اومده
کل کاری که باید انجام داد اینه که توسط دستور زیر فایل ها و نرم افزارهایی رو که میخواید، اجرا کنید. و پارامتر به اونا بفرستید
System.Diagnostics.Process.Start(fileName, arguments)
1- برای باز کردن یک فایل با یک نرم افزار مشخص، از دستور زیر میتوان استفاده کرد. (به عنوان مثال: یک عکس با نرم افزار Paint)
System.Diagnostics.Process.Start("msPaint", "C:\\Pic.jpg");
2- برای باز کردن یک فایل با نرم افزار پیشرفض، از دستور زیر میتوان استفاده کرد. (به عنوان مثال: یک عکس با هر نرم افزاری که کاربر برای ویندوز مشخص نموده است)
System.Diagnostics.Process.Start("Explorer", "C:\\Pic.jpg");
3- حال اگر نمیخواهید که فایل اجرا شود و تنها مایلید که آن را در Explorer نمایش دهید و همچنین انتخاب نیز باشد، میتوانید از دستور زیر استفاده کنید.(به عنوان مثال: پنجره ی Explorer باز شود و در حالی که محتویات درایو C را نمایش میدهد، فایل Pic.jpg نیز انتخاب باشد)
[System.Diagnostics.Process.Start("Explorer", "/SELECT, C:\\Pic.jpg");[/CODE]
جهت کسب اطلاعات بیشتر در مورد این تابع پر کاربرد میتوانید از لینک زیر استفاده نمایید
http://msdn.microsoft.com/en-us/library/h6ak8zt5.aspx
نقل قول: باز نمودن فایل ها در سی شارپ به روش های مختلف
اگر در سی شارپ بخواهیم یک فایل ایمیج با پسوند iso را اجرا کنیم چگونه مشود از دستورات فوق استفاده کرد؟ آیا فریاد رسی هست؟
نقل قول: باز نمودن فایل ها در سی شارپ به روش های مختلف
با اجازه از استارتر پست
اجرا کردن یک فایل ایمیج با پسوند iso
using System.Diagnostics;
// ...
string isoPath = "C:\\example\\image.iso";
// اجرای فایل ایمیج با پسوند iso
ProcessStartInfo startInfo = new ProcessStartInfo
{
FileName = "explorer.exe",
Arguments = $"/select, "{isoPath}""
};
Process.Start(startInfo);
نقل قول: باز نمودن فایل ها در سی شارپ به روش های مختلف
نقل قول:
نوشته شده توسط
پرستو پارسایی
با اجازه از استارتر پست
اجرا کردن یک فایل ایمیج با پسوند iso
using System.Diagnostics;
// ...
string isoPath = "C:\\example\\image.iso";
// اجرای فایل ایمیج با پسوند iso
ProcessStartInfo startInfo = new ProcessStartInfo
{
FileName = "explorer.exe",
Arguments = $"/select, "{isoPath}""
};
Process.Start(startInfo);
از پاسخ شما ممنونم
تخصص بنده نرم افزار نیست و فقط در مواقع لزوم ناچارم برای مشکلات بوجود آمده به سایر دوستان مراجعه کنم آنهم در شرایطی که از همه جا تقریبا ناامید شده ام .
ای کاش توضیح میدادید کمی بیشتر .... چون در خط 13 Arguments به تنهایی در اینتلیسنس وجود ندارد . ای کاش بهتر و بیشتر میشد کمک کنید.در هر صورت ممنون
1 ضمیمه
نقل قول: باز نمودن فایل ها در سی شارپ به روش های مختلف
نقل قول:
نوشته شده توسط
jebco2000
از پاسخ شما ممنونم
تخصص بنده نرم افزار نیست و فقط در مواقع لزوم ناچارم برای مشکلات بوجود آمده به سایر دوستان مراجعه کنم آنهم در شرایطی که از همه جا تقریبا ناامید شده ام .
ای کاش توضیح میدادید کمی بیشتر .... چون در خط 13 Arguments به تنهایی در اینتلیسنس وجود ندارد . ای کاش بهتر و بیشتر میشد کمک کنید.در هر صورت ممنون
سلام به همه.
برای اجرای یک فایل .ISO در ویندوز 10 می تونید با دابل کلیک اجراش کنید...
یا از منوی راست کلیک آیتم پیش فرض Mount رو کلیک کنید.
در صورتی که آیتم Mount حذف شده باشه می تونید از منوی Open With... --> Windows Explorer استفاده کنید.
ضمیمه 155630
نقل قول: باز نمودن فایل ها در سی شارپ به روش های مختلف
نقل قول:
نوشته شده توسط
ROSTAM2
سلام به همه.
برای اجرای یک فایل .ISO در ویندوز 10 می تونید با دابل کلیک اجراش کنید...
یا از منوی راست کلیک آیتم پیش فرض Mount رو کلیک کنید.
در صورتی که آیتم Mount حذف شده باشه می تونید از منوی Open With... --> Windows Explorer استفاده کنید.
ضمیمه 155630
از توجه شما سپاسگزارم
اما ماجرا اجرای یک فایل iso در سی شارپ است.
نقل قول: باز نمودن فایل ها در سی شارپ به روش های مختلف
با سلام البته من نمیدونم چرا این پست را بالا اوردید ، کاش یک تاپیک جدید ایجاد میکردید
فایل iso در واقع یک فایل فشرده مانند زیپ هست که هدرش کمی فرق میکنه
اگه منظورتون این بود که چجوری میشه در سی شارپ محتوای فایل iso را استخراج کرد،
از کتابخانه .NET DiscUtils میتونید استفاده کنید
using DiscUtils;using DiscUtils.Iso9660;
void ExtractISO(string ISOName, string ExtractionPath)
{
using (FileStream ISOStream = File.Open(ISOName, FileMode.Open))
{
CDReader Reader = new CDReader(ISOStream, true, true);
ExtractDirectory(Reader.Root, ExtractionPath + Path.GetFileNameWithoutExtension(ISOName) + "\", "");
Reader.Dispose();
}
}
void ExtractDirectory(DiscDirectoryInfo Dinfo, string RootPath, string PathinISO)
{
if (!string.IsNullOrWhiteSpace(PathinISO))
{
PathinISO += "\" + Dinfo.Name;
}
RootPath += "\" + Dinfo.Name;
AppendDirectory(RootPath);
foreach (DiscDirectoryInfo dinfo in Dinfo.GetDirectories())
{
ExtractDirectory(dinfo, RootPath, PathinISO);
}
foreach (DiscFileInfo finfo in Dinfo.GetFiles())
{
using (Stream FileStr = finfo.OpenRead())
{
using (FileStream Fs = File.Create(RootPath + "\" + finfo.Name)) // Here you can Set the BufferSize Also e.g. File.Create(RootPath + "\" + finfo.Name, 4 * 1024)
{
FileStr.CopyTo(Fs, 4 * 1024); // Buffer Size is 4 * 1024 but you can modify it in your code as per your need
}
}
}
}
static void AppendDirectory(string path)
{
try
{
if (!Directory.Exists(path))
{
Directory.CreateDirectory(path);
}
}
catch (DirectoryNotFoundException Ex)
{
AppendDirectory(Path.GetDirectoryName(path));
}
catch (PathTooLongException Exx)
{
AppendDirectory(Path.GetDirectoryName(path));
}
}
اینم نحوه استفاده تابع:
ExtractISO(ISOFileName, Environment.GetFolderPath(Environment.SpecialFolde r.DesktopDirectory) + "\");
نقل قول: باز نمودن فایل ها در سی شارپ به روش های مختلف
با سلام و احترام و عرض تشکر
راستش اینکه چرا این تایپیک را اینجا درج کردم دلیلش این بود که استارتر محترم چیزی شبیه به آنچه بنده نیاز داشتم و همچنان نیاز دارم را ارائه کرده بودند و من هم زیر همان تقاضای کمک کردم.
فایل های ایزو برای اجرا شدن بعد از اکسترکت معمولا یک فایل اتوران و یا چیزی شبیه به آن در کنار فایل های dll خودشان دارند که با استفاده از آن میشود آنرا اجرا کرد.
من قبلا از کتابخانه DiscUtils استفاده کرده ام ولی کدهایی که برای اجرای فایل iso مورد نظر دیدم کمی با آنجه سرکارعالی ارائه فرمودید متفاوت است . هر چند که اظهار نظرات جالبی در باره Dokan در صفحات مختلف وجود ندارد و از باگ های گسترده آن صحبت میشود اما حتما با دقت کدهایی را که زحمت کشیدید و ارسال فرمودید برسسی و تست می کنم جون در نهایت بعد از Explor باید توسط فراخوانی Autorun اجرا بشود . در هر صورت ممنونم.