Página 1 de 2

[DLL] Drive 1.0.0.0

Publicado: 10 Abr 2013 10:29
por Ceone
ImagenImagen

Buenas amigos de AMSSpecialist, a petición de un usuario del foro he echo esta DLL para poder modificar las etiquetas de las unidades, he puesto 2 funciones una que devuelva la etiqueta de una unidad y otra que permite modificar dicha etiqueta, espero que os guste y os sea de gran utilidad.

Funciones:
  • GetDriveLabel - Retorno String "devuelve un string con el nombre de la etiqueta, si esta funcion falla devuelve "ERROR"."
  • SetDriveLabel - Retorno Number "devuelve un numero si el resultado es 1 significa que la operacion de etiquetado se a realizado con exito si devuelve 0 es que existe algun fallo."
  • GetDriveInfo - Retorno String "devuelve un string con toda la informacion de esa unidad separado por comas en el ejemplo se ve que valores son los que devuelve."
Código 1.0.0.0:
UnmanagedExports.cs:
using System;
using System.IO;
using RGiesecke.DllExport;

namespace Drive
{
internal static class DriveClass
{

/// <summary>
/// Esta función es para leer el nombre de una unidad, simplemente tienes que hacer la llamada a esta
/// función y decir la unidad a la que deseas.
/// </summary>
/// <param name="DriveLetter">La letra de la unidad que deseas.
/// Ejemplo: "D:\\"</param>
/// <returns>Devuelve un string con la etiqueta de la unidad si ocurre un error devuelve "ERROR".</returns>
[DllExport("GetDriveLabel", CallingConvention = System.Runtime.InteropServices.CallingConvention.StdCall)]
static string GetDriveLabel(string DriveLetter)
{
string returnval = "ERROR";

if (DriveLetter != "")
{

DriveInfo[] allDrives = DriveInfo.GetDrives();
foreach (DriveInfo d in allDrives)
{
if (d.Name == DriveLetter)
{
returnval = d.VolumeLabel;
}
}
}
return returnval;
}

/// <summary>
/// Esta función es para cambiar el nombre de una unidad, simplemente tienes que hacer la llamada a esta
/// función y decir la unidad a la que deseas cambiarle es nombre y el nuevo nombre que deseas fijarle.
/// </summary>
/// <param name="DriveLetter">La letra de la unidad que deseas.
/// Ejemplo: "D:\\"</param>
/// <param name="NewLabel">La nueva etiqueta que se fijara en la unidad que as seleccionado.
/// Ejemplo: "LaNuevaEtiqueta"</param>
/// <returns>Devuelve un numero.
/// 0: Si existe algun error.
/// 1: Si se a realizado con exito.</returns>
[DllExport("SetDriveLabel", CallingConvention = System.Runtime.InteropServices.CallingConvention.StdCall)]
static int SetDriveLabel(string DriveLetter, string NewLabel)
{
int returnval = 0;

if (DriveLetter != "" && NewLabel != "")
{
DriveInfo[] allDrives = DriveInfo.GetDrives();
foreach (DriveInfo d in allDrives)
{
if (d.Name == DriveLetter)
{
if (d.IsReady == true)
{
d.VolumeLabel = NewLabel;
returnval = 1;
}
}
}
}
return returnval;
}

[DllExport("GetDriveInfo", CallingConvention = System.Runtime.InteropServices.CallingConvention.StdCall)]
static string GetDriveInfo(string DriveLetter)
{
string Info = "";
if (DriveLetter != "")
{
DriveInfo[] allDrives = DriveInfo.GetDrives();
foreach (DriveInfo d in allDrives)
{
if (d.Name == DriveLetter)
{
Info = d.Name;
Info = Info + "," + d.VolumeLabel;
Info = Info + "," + d.DriveType;
Info = Info + "," + d.DriveFormat;
Info = Info + "," + d.TotalSize;
Info = Info + "," + d.TotalFreeSpace;
}
}
}
return Info;
}
}
}


Descarga:
HIDE: ON
Hidebb Message Hidden Description

Publicado: 10 Abr 2013 11:26
por Haitham.2012
great , thanks

Publicado: 10 Abr 2013 16:59
por sattel
Uy Ceone....umffffffffffff eres el mejor...

Esto es para mi proyecto de Usb tool apenas lo adapte subo el apz para todos ustedes...

Colombia esta en agradecimiento...Venite para ca Ome...el vallento tambien es bueno

Publicado: 10 Abr 2013 18:15
por abood1987
ON Set Drive Label :

Imagen

My Windows is :

Imagen

Publicado: 10 Abr 2013 19:21
por mecivic
I am getting the same problem as abood

Publicado: 10 Abr 2013 21:43
por tam
thanks

Publicado: 10 Abr 2013 23:06
por Ceone
abood1987 escribió:Error..
mecivic escribió:I am getting the same problem as abood
the example change label of Drive "D:\\" are u drive D? and is labeable?

Publicado: 10 Abr 2013 23:41
por abood1987
Imagen

Re: [DLL] Drive 1.0.0.0

Publicado: 11 Abr 2013 07:56
por carsonzillo
mola a ver como esta esto hecho

Publicado: 11 Abr 2013 11:35
por Ceone
abood1987 escribió:Imagen
abood1987 I do not need put any image for all! use keyboard :)

problem is in set arabic chars... im not sure but start testing... thanks for report... :friends: :friends: :friends:
mecivic escribió:I am getting the same problem as abood
The drive D:\\ exist in ur computer? can u tell me the name of this drive?

Publicado: 10 Jul 2013 17:22
por jaynor
gracias mano

Publicado: 24 Ago 2013 20:09
por Cael
muy util!!

Publicado: 30 Ago 2013 21:07
por chakal03
thanks

Publicado: 24 Sep 2013 19:21
por Ares-Solution
Thanks

Re: [DLL] Drive 1.0.0.0

Publicado: 24 Sep 2013 19:31
por Ares-Solution
how about reading the pendrive or removable

Publicado: 01 Oct 2013 13:56
por carsonzillo
No recuerdo si esto estaba en el ams specialist pack me lo descargo de nuevo porque no lo encuentro

Re: [DLL] Drive 1.0.0.0

Publicado: 04 Oct 2013 20:34
por barriokan
Buen trabajo. A probarla.....y grasias.

Publicado: 06 Oct 2013 02:37
por zero29
grasias

Publicado: 21 Oct 2013 21:00
por amsuser24
:friends:

Publicado: 24 Oct 2013 06:30
por GEORGEFTR
Observando