المشاركات : 6
المواضيع 3
الإنتساب : Sep 2019
السمعة :
0
الشكر: 0
تم شكره 2 مرات في 1 مشاركات
أن كان ممكن تحويل هذا الكود الئ C#
Imports System.IO
Imports System.Runtime.InteropServices
Public Class Form1
<DllImport("shell32.dll")> _
Private Shared Function SHFormatDrive(ByVal hwnd As IntPtr, ByVal drive As UInteger, _
ByVal fmtID As UInteger, ByVal options As UInteger) As ULong
End Function
Private Enum SHFormatFlags As Integer
SHFMT_ID_DEFAULT = &HFFFF
SHFMT_OPT_FULL = &H1
SHFMT_OPT_SYSONLY = &H2
SHFMT_ERROR = &HFFFFFFFF
SHFMT_CANCEL = &HFFFFFFFE
SHFMT_NOFORMAT = &HFFFFFFD
SHFD_FORMAT_FULL = 0 ' full format
SHFD_FORMAT_QUICK = 1 ' quick format
End Enum
Private Sub FButton_Click_1(sender As System.Object, e As System.EventArgs) Handles FButton.Click
If CBoxDrives.Text = "" Then
MsgBox("No Drive Selected")
Exit Sub
End If
Dim Iresult As ULong = SHFormatDrive(CType(Me.Handle.ToInt32, IntPtr), CUInt(Asc(CBoxDrives.Text.Substring(0, 1)) - Asc("A")), CUInt(SHFormatFlags.SHFMT_ID_DEFAULT), 1)
End Sub
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
With FButton
End With
Me.Controls.Add(FButton)
With CBoxDrives
.DropDownStyle = ComboBoxStyle.DropDown
End With
Me.Controls.Add(CBoxDrives)
Dim DrivesFound As Integer = 0
Dim allDrives() As DriveInfo = DriveInfo.GetDrives()
Dim d As DriveInfo
For Each d In allDrives
If ((d.DriveType = DriveType.Fixed) Or (d.DriveType = DriveType.Removable)) AndAlso Environment.GetEnvironmentVariable("SYSTEMROOT").StartsWith(d.Name) = False Then
CBoxDrives.Items.Add(d.Name)
DrivesFound += 1
End If
Next
CBoxDrives.SelectedIndex = DrivesFound - 1
End Sub
End Class
المشاركات : 272
المواضيع 4
الإنتساب : Sep 2018
السمعة :
44
الشكر: 238
تم شكره 575 مرات في 245 مشاركات
تفضل الكود بعد التحويل
فى البداية سيتم التاكد من اسدعاء التالى
كود :
using System.IO;
using Microsoft.VisualBasic;
using System.Runtime.InteropServices;
لا تنسي اضافة Microsoft.VisualBasic من خلال References
الان تقوم باضافة الكود التالى خارج اى حدث
كود :
[DllImport("shell32.dll")]
private static extern ulong SHFormatDrive(IntPtr hwnd, uint drive, uint fmtID, uint options);
private enum SHFormatFlags : int
{
SHFMT_ID_DEFAULT = 0xFFFF,
SHFMT_OPT_FULL = 0x1,
SHFMT_OPT_SYSONLY = 0x2,
SHFMT_ERROR = 0xFFFFFFF,
SHFMT_CANCEL = 0xFFFFFFE,
SHFMT_NOFORMAT = 0xFFFFFFD,
SHFD_FORMAT_FULL = 0, // full format
SHFD_FORMAT_QUICK = 1 // quick format
}
فى حدث الزر قم باضافة الكود التالى
كود :
if (CBoxDrives.Text == "")
{
MessageBox.Show("No Drive Selected");
return;
}
ulong Iresult = SHFormatDrive(this.Handle.ToInt32, Convert.ToUInt32((char)(CBoxDrives.Text.Substring(0, 1)) - Strings.Asc("A")), System.Convert.ToUInt32(SHFormatFlags.SHFMT_ID_DEFAULT), 1);
وبالنهاية فى حدث لود الفورم قم باضافة الكود التالى
كود :
var FBlock = FButton;
this.Controls.Add(FBlock);
var CBlock = CBoxDrives;
CBlock.DropDownStyle = ComboBoxStyle.DropDown;
this.Controls.Add(CBoxDrives);
int DrivesFound = 0;
DriveInfo[] allDrives = DriveInfo.GetDrives();
foreach (DriveInfo d in allDrives)
{
if (((d.DriveType == DriveType.Fixed) | (d.DriveType == DriveType.Removable)) && Environment.GetEnvironmentVariable("SYSTEMROOT").StartsWith(d.Name) == false)
{
CBoxDrives.Items.Add(d.Name);
DrivesFound += 1;
}
}
CBoxDrives.SelectedIndex = DrivesFound - 1;
كل ما تبقي عليك هو تغيير المسميات طبقاً لكل اسم اداء مستخدم لديك
والاسماء التى مطلوب النظر اليها
وتذكر بان FButton هو خاص بحدث الزر
المشاركات : 6
المواضيع 3
الإنتساب : Sep 2019
السمعة :
0
الشكر: 0
تم شكره 2 مرات في 1 مشاركات
22-09-19, 11:42 AM
(آخر تعديل لهذه المشاركة : 22-09-19, 11:44 AM {2} بواسطة adel50.)
(21-09-19, 06:28 PM)kiki كتب : تفضل الكود بعد التحويل
فى البداية سيتم التاكد من اسدعاء التالى
كود :
using System.IO;
using Microsoft.VisualBasic;
using System.Runtime.InteropServices;
لا تنسي اضافة Microsoft.VisualBasic من خلال References
الان تقوم باضافة الكود التالى خارج اى حدث
كود :
[DllImport("shell32.dll")]
private static extern ulong SHFormatDrive(IntPtr hwnd, uint drive, uint fmtID, uint options);
private enum SHFormatFlags : int
{
SHFMT_ID_DEFAULT = 0xFFFF,
SHFMT_OPT_FULL = 0x1,
SHFMT_OPT_SYSONLY = 0x2,
SHFMT_ERROR = 0xFFFFFFF,
SHFMT_CANCEL = 0xFFFFFFE,
SHFMT_NOFORMAT = 0xFFFFFFD,
SHFD_FORMAT_FULL = 0, // full format
SHFD_FORMAT_QUICK = 1 // quick format
}
فى حدث الزر قم باضافة الكود التالى
كود :
if (CBoxDrives.Text == "")
{
MessageBox.Show("No Drive Selected");
return;
}
ulong Iresult = SHFormatDrive(this.Handle.ToInt32, Convert.ToUInt32((char)(CBoxDrives.Text.Substring(0, 1)) - Strings.Asc("A")), System.Convert.ToUInt32(SHFormatFlags.SHFMT_ID_DEFAULT), 1);
وبالنهاية فى حدث لود الفورم قم باضافة الكود التالى
كود :
var FBlock = FButton;
this.Controls.Add(FBlock);
var CBlock = CBoxDrives;
CBlock.DropDownStyle = ComboBoxStyle.DropDown;
this.Controls.Add(CBoxDrives);
int DrivesFound = 0;
DriveInfo[] allDrives = DriveInfo.GetDrives();
foreach (DriveInfo d in allDrives)
{
if (((d.DriveType == DriveType.Fixed) | (d.DriveType == DriveType.Removable)) && Environment.GetEnvironmentVariable("SYSTEMROOT").StartsWith(d.Name) == false)
{
CBoxDrives.Items.Add(d.Name);
DrivesFound += 1;
}
}
CBoxDrives.SelectedIndex = DrivesFound - 1;
كل ما تبقي عليك هو تغيير المسميات طبقاً لكل اسم اداء مستخدم لديك
والاسماء التى مطلوب النظر اليها
وتذكر بان FButton هو خاص بحدث الزر
طلعلي غلط بالكود الأخير
https://www.up-00.com/2zloyx1jeoxg
(21-09-19, 06:28 PM)kiki كتب : تفضل الكود بعد التحويل
فى البداية سيتم التاكد من اسدعاء التالى
كود :
using System.IO;
using Microsoft.VisualBasic;
using System.Runtime.InteropServices;
لا تنسي اضافة Microsoft.VisualBasic من خلال References
الان تقوم باضافة الكود التالى خارج اى حدث
كود :
[DllImport("shell32.dll")]
private static extern ulong SHFormatDrive(IntPtr hwnd, uint drive, uint fmtID, uint options);
private enum SHFormatFlags : int
{
SHFMT_ID_DEFAULT = 0xFFFF,
SHFMT_OPT_FULL = 0x1,
SHFMT_OPT_SYSONLY = 0x2,
SHFMT_ERROR = 0xFFFFFFF,
SHFMT_CANCEL = 0xFFFFFFE,
SHFMT_NOFORMAT = 0xFFFFFFD,
SHFD_FORMAT_FULL = 0, // full format
SHFD_FORMAT_QUICK = 1 // quick format
}
فى حدث الزر قم باضافة الكود التالى
كود :
if (CBoxDrives.Text == "")
{
MessageBox.Show("No Drive Selected");
return;
}
ulong Iresult = SHFormatDrive(this.Handle.ToInt32, Convert.ToUInt32((char)(CBoxDrives.Text.Substring(0, 1)) - Strings.Asc("A")), System.Convert.ToUInt32(SHFormatFlags.SHFMT_ID_DEFAULT), 1);
وبالنهاية فى حدث لود الفورم قم باضافة الكود التالى
كود :
var FBlock = FButton;
this.Controls.Add(FBlock);
var CBlock = CBoxDrives;
CBlock.DropDownStyle = ComboBoxStyle.DropDown;
this.Controls.Add(CBoxDrives);
int DrivesFound = 0;
DriveInfo[] allDrives = DriveInfo.GetDrives();
foreach (DriveInfo d in allDrives)
{
if (((d.DriveType == DriveType.Fixed) | (d.DriveType == DriveType.Removable)) && Environment.GetEnvironmentVariable("SYSTEMROOT").StartsWith(d.Name) == false)
{
CBoxDrives.Items.Add(d.Name);
DrivesFound += 1;
}
}
CBoxDrives.SelectedIndex = DrivesFound - 1;
كل ما تبقي عليك هو تغيير المسميات طبقاً لكل اسم اداء مستخدم لديك
والاسماء التى مطلوب النظر اليها
وتذكر بان FButton هو خاص بحدث الزر
طلعلي غلط بالكود الأخير
المشاركات : 272
المواضيع 4
الإنتساب : Sep 2018
السمعة :
44
الشكر: 238
تم شكره 575 مرات في 245 مشاركات
قم بازالة هذه الجملة من السطر
المشاركات : 6
المواضيع 3
الإنتساب : Sep 2019
السمعة :
0
الشكر: 0
تم شكره 2 مرات في 1 مشاركات
(22-09-19, 12:52 PM)kiki كتب : قم بازالة هذه الجملة من السطر
ظهر خطئ أخر
المشاركات : 272
المواضيع 4
الإنتساب : Sep 2018
السمعة :
44
الشكر: 238
تم شكره 575 مرات في 245 مشاركات
بخصوص هذا الخطاء
تاكد من اضافة هذا الملف بالمشروع
Microsoft.VisualBasic
المشاركات : 6
المواضيع 3
الإنتساب : Sep 2019
السمعة :
0
الشكر: 0
تم شكره 2 مرات في 1 مشاركات
(04-10-19, 03:50 PM)kiki كتب : بخصوص هذا الخطاء
تاكد من اضافة هذا الملف بالمشروع
Microsoft.VisualBasic
تم أضافه Microsoft.VisualBasic
أصبح الكود كلا أخطأء
|