try something likeusing System.Runtime.InteropServices;[DllImport("kernel32.dll")]
private static extern long GetVolumeInformation(string rootPathName,
StringBuilder volumeNameBuffer,
long volumeNameSize,
long volumneSerialNumber,
long maximumComponentLength,
long fileSystemFlags,
StringBuilder fileSystemNameBuffer,
long fileSystemNameSize);// Get the volume name
StringBuilder buff = new StringBuilder(255);
long size=0;
StringBuilder fileBuf = new StringBuilder(255); int retVal = GetVolumeInformation("c:\", buff, 255, size, 0, 0,
fileBuf, 255);
private static extern long GetVolumeInformation(string rootPathName,
StringBuilder volumeNameBuffer,
long volumeNameSize,
long volumneSerialNumber,
long maximumComponentLength,
long fileSystemFlags,
StringBuilder fileSystemNameBuffer,
long fileSystemNameSize);// Get the volume name
StringBuilder buff = new StringBuilder(255);
long size=0;
StringBuilder fileBuf = new StringBuilder(255); int retVal = GetVolumeInformation("c:\", buff, 255, size, 0, 0,
fileBuf, 255);
private void button1_Click(object sender, System.EventArgs e)
{
// Get the volume name
StringBuilder buff = new StringBuilder(255);
long size=0;
StringBuilder fileBuf = new StringBuilder(255);
long retVal = GetVolumeInformation ("D:\\", buff, 255, size, 0, 0,fileBuf, 255);
MessageBox.Show (retVal.ToString ());
}
但为什么连续两次Click,第一按Click的值会和第二次按下这Click的值不同呢?
兄弟们帮帮俺呀!!!!!
public static extern int SendMessage(IntPtr hWnd, int Msg, int wParam, int lParam);
long size=0;
StringBuilder fileBuf = new StringBuilder(1024);
long retVal = GetVolumeInformation ("D:\\", buff, 1024, size, 0, 0,fileBuf, 1024);
MessageBox.Show (retVal.ToString ());