PDA

View Full Version : سوال: کپی گرفتن اتوماتیک از فلش



Mr.Csharp
سه شنبه 19 اسفند 1393, 21:18 عصر
سلام به همه دوستان:قلب:

چن تاپیک دیدم مثل این تاپیک که به سرانجامی که مد نظر من بود نرسیده بودند :متفکر:

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
یه نگاه کلی که مطالب انداختم فهمیدم که با این کد می شه درایو فلش رو بدست آورد :

System.IO.DriveInfo[] drives;
drives = System.IO.DriveInfo.GetDrives();
string NameDrive;
foreach (System.IO.DriveInfo i in drives)
{
if (i.DriveType == System.IO.DriveType.Removable)
{
NameDrive = i.Name;
lbl_Drivename.Text = NameDrive;

}
}
و با این کد میشه کپی کرد :
void Copy()
{
int halfAMeg = (int)(1024 * 1024 * 0.5);
string[] fName = textBox1.Text.Split('\\');
FileStream strIn = new FileStream(textBox1.Text, FileMode.Open);
FileStream strOut = new FileStream(textBox2.Text + "\\" + fName[fName.Length - 1], FileMode.Create);

byte[] buf = new byte[halfAMeg];
while (strIn.Position < strIn.Length)
{
int len = strIn.Read(buf, 0, buf.Length);
strOut.Write(buf, 0, len);
SetProBar(strIn.Position, strIn.Length);
}
}

private delegate void SetProBar_CallBack(long val, long max);
private void SetProBar(long val, long max)
{
if (progressBar1.InvokeRequired)
{
SetProBar_CallBack callBack = new SetProBar_CallBack(SetProBar);
this.Invoke(callBack, new object[] { val, max });
}
else
{
progressBar1.Maximum = Int32.MaxValue;
progressBar1.Value = (int)(Int32.MaxValue / (max / val));
}
}


public string FileBrowse()
{
try
{
OpenFileDialog OpenFileDialog = new OpenFileDialog();
OpenFileDialog.ShowDialog();
if (DialogResult != DialogResult.Cancel)
{
return OpenFileDialog.FileName;
}
else
return "";
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Exception", MessageBoxButtons.OK, MessageBoxIcon.Error);
return "";
}
}

public string FolderBrowse()
{
try
{
DialogResult result = folderBrowserDialog1.ShowDialog();
if (result == DialogResult.OK)
{
return folderBrowserDialog1.SelectedPath;
}
else
return "";
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Exception", MessageBoxButtons.OK, MessageBoxIcon.Error);
return "";
}
}
ولی ... :گیج:
هر کاری کردم نتونستم این دو تا رو با هم یکی کنم و اون چیزی که می خوام بشه .
.
.
.
حالا برسیم به سوال اصلی من :

- چطوری میتونیم با این کد ها یا کدای دیگه به محض این که فلش رو شناسایی کرد یه کپی بگیره (برای مثال بره تو درایو C ) .
- اگه دوستان نمونه کد ، مقاله و ... هر چیزی در این زمینه دارند بزارن تا استفاده کنیم :قلب:
پیشاپیش ممنون از دوستان :تشویق::تشویق: