GetUserName (Devuelve en nombre del usuario) | API |
'Código para el Procedimiento
'Definimos las variables
Dim Texto As String * 255
Dim Longitud As Long
Dim CadenaResultante As Long
'Inicializamos las variables
Longitud = Len(Texto)
CadenaResultante = GetUserName(Texto, Longitud)
'CadenaResultante = Devuelve cero en caso de error.
'mostramos el resultado
NombreUsuario.Caption = Left(Texto, Longitud)
GetComputerName (Devuelve en nombre del computador) | API |
'Código para el Procedimiento
'Definimos las variables
Dim Texto As String * 255
Dim Longitud As Long
Dim CadenaResultante As Long
'Inicializamos las variables
Longitud = Len(Texto)
CadenaResultante = GetComputerName(Texto, Longitud)
'CadenaResultante = Devuelve cero en caso de error.
'mostramos el resultado
NombreComputador.Caption = Left(Texto, Longitud)
GetDiskFreeSpace (Devuelve información sobre el disco duro) | API |
'Código para el Procedimiento
'Definimos las variables
Dim Texto As String * 255
Dim SecPorClau As Long
Dim BitsPorSec As Long
Dim NumFreeClusters As Long
Dim TotalNumClusters As Long
Dim CadenaResultante As Long
'Inicializamos las variables
SecPorClau = Len(Texto)
BitsPorSec = Len(Texto)
NumFreeClusters = Len(Texto)
TotalNumClusters = Len(Texto)
'Indicamos la unidad a revisar
Texto = "c:\" & Chr(0)
CadenaResultante = GetDiskFreeSpace(Texto, SecPorClau, BitsPorSec, NumFreeClusters, TotalNumClusters)
'CadenaResultante = Devuelve cero en caso de error.
'mostramos el resultado
'Numero de sectores por cluster
SectoresPorCluster.Caption = SecPorClau
'Bits por sector
BitsPorSector.Caption = BitsPorSec
'Numero de clusters vacios
NumeroClustersVacios.Caption = Format(NumFreeClusters, "#,##0")
'Numero total de clusters del disco
TotalNumeroClusters.Caption = Format(TotalNumClusters, "#,##0")
'Espacio disponible en disco
EspacioDisponible.Caption = Format(SecPorClau * NumFreeClusters * BitsPorSec, "#,##0")
'Espacio utilizado en disco
EspacioUtilizado.Caption = Format((TotalNumClusters - NumFreeClusters) * SecPorClau * BitsPorSec, "#,##0")
GetDiskFreeSpaceEx (Devuelve la capacidad de un disco mayor de 2Mb.) | API |
'Código para el Procedimiento
'Definimos las variables
Dim CadenaResultante As Long
Dim Disco As String
Dim lpFreeBytesAvailableToCaller As Currency
Dim TotalEspacioDisco As Currency
Dim TotalEspacioLibreDisco As Currency
'Inicializamos las variables
Disco = "c:\" & Chr(0)
CadenaResultante = GetDiskFreeSpaceEx(Disco, lpFreeBytesAvailableToCaller, TotalEspacioDisco, TotalEspacioLibreDisco)
'CadenaResultante = Devuelve cero en caso de error.
'mostramos el resultado
Print "Espacio total del disco : " & Format(TotalEspacioDisco * 10000, "###,###,###")
Print "Espacio libre en disco : " & Format(TotalEspacioLibreDisco * 10000, "###,###,###")
Print "Espacio utilizado : " & Format((TotalEspacioDisco - TotalEspacioLibreDisco) * 10000, "###,###,###")
GetVolumeInformation (Nombre del Disco, tipo de formato y numero de disco) | API |
'Código para el Procedimiento
'Definimos las variables
Dim i As Integer
Dim NumeroDisco As Long
Dim CadenaResultante As Long
Dim NombreDisco As String
Dim FormatoDisco As String
Dim Unidad As String
Dim LongitudNombreProgramaMasLargo As Long
Dim Flags As Long
'Inicializamos las variables
Unidad = "c:\"
NombreDisco = String(255, Chr(0))
FormatoDisco = String(255, Chr(0))
CadenaResultante = GetVolumeInformation(Unidad, NombreDisco, Len(NombreDisco), NumeroDisco, LongitudNombreProgramaMasLargo, Flags, FormatoDisco, Len(FormatoDisco))
'CadenaResultante = Devuelve cero en caso de error.
'mostramos el resultado
i = InStr(NombreDisco, Chr(0))
NombreDisco = Mid(NombreDisco, 1, i - 1)
i = InStr(FormatoDisco, Chr(0))
FormatoDisco = Mid(FormatoDisco, 1, i - 1)
Print NombreDisco
Print FormatoDisco
Print Hex(NumeroDisco)
Print LongitudNombreProgramaMasLargo
GetLogicalDriveStrings (Devuelve las unidades disponibles en un ordenador) | API |
'Código para el Procedimiento
'Definimos las variables
Dim Texto As String * 255
Dim Longitud As Long
Dim CadenaResultante As Long
Dim i as integer
'Inicializamos las variables
Longitud = Len(Texto)
CadenaResultante = GetLogicalDriveStrings(Longitud, Texto)
'CadenaResultante = Devuelve el numero de unidades. Cero en caso de error.
'mostramos el resultado
For i = 1 To CadenaResultante Step 4
Print Mid(Texto, i, 3)
Next i
GetLocalTime (Devuelve la fecha y hora del ordenador) | API |
Type SYSTEMTIME
wYear As Integer
wMonth As Integer
wDayOfWeek As Integer
wDay As Integer
wHour As Integer
wMinute As Integer
wSecond As Integer
wMilliseconds As Integer
End Type
Global DatosFechaSistema As SYSTEMTIME
'Código para el Procedimiento
Call GetLocalTime(FechaSistema)
'mostramos el resultado
Print DatosFechaSistema.wDay 'Dia
Print DatosFechaSistema.wMonth 'Mes
Print DatosFechaSistema.wYear 'Año
Print DatosFechaSistema.wDayOfWeek 'Dia de la Semana (0-Domingo, 6-Sabado)
Print DatosFechaSistema.wHour 'Hora
Print DatosFechaSistema.wMinute 'Minutos
Print DatosFechaSistema.wSecond 'Segundos
Print DatosFechaSistema.wMilliseconds 'Milisegundos
GetCursorPos/SetCursorPos (Devuelve la posición del cursor en la pantalla/Establece la posicion del cursor) | API |
Type POINTAPI
x As Long
y As Long
End Type
Global PosicionCursor As POINTAPI
'Código para el Procedimiento
'Definimos las variables
Dim CadenaResultante As Long
CadenaResultante = GetCursorPos(PosicionCursor)
'CadenaResultante = Devuelve cero en caso de error.
'mostramos el resultado
Print PosicionCursor.x 'Posición Horizontal
Print PosicionCursor.y 'Posición Vertical
'Colocamos el cursor en la posicion 100,100 de la pantalla
Call SetCursorPos(100, 100)
GetDriveType (Devuelve el tipo de Unidad) | API |
Public Const Disco_CD = 5
Public Const Disco_Fijo = 3
Public Const Disco_Ram = 6
Public Const Disco_Remoto = 4
Public Const Disco_Removible = 2
'Código para el Procedimiento
'Definimos las variables
Dim Disco As String
Dim CadenaResultante As Long
Dim Informacion As String
'Inicializamos las variables
Disco = "c:\"
CadenaResultante = GetDriveType(Disco)
'CadenaResultante = Cero si no se pudo identificar el dispositivo. Uno si el directorio especificado no existe.
'mostramos el resultado
'Segun el numero devuelto por la función, podremos saber que tipo de unidad se trata
Select Case CadenaResultante
Case Disco_Removible
Informacion = "Unidad removible"
Case Disco_Fijo
Informacion = "Disco Fijo"
Case Disco_Remoto
Informacion = "Unidad Remota"
Case Disco_CD
Informacion = "Unidad CD"
Case Disco_Ram
Informacion = "Unidad Ram"
Case Else
Informacion = "Unidad Desconocida"
End Select
Print Informacion
SetWindowPos (Formulario Siempre Visible) | API |
Public Const SWP_HIDEWINDOW = &H80 'Esconde la ventana
Public Const SWP_NOACTIVATE = &H10 'No activa la ventana
Public Const SWP_NOMOVE = &H2 'Mantiene la posición Actual
Public Const SWP_NOREDRAW = &H8 'La ventana No se redibuja automáticamente
Public Const SWP_NOSIZE = &H1 'Mantiene el tamaño vigente
Public Const SWP_NOZORDER = &H4 'Mantiene la posición vigente en la lista de ventanas
Public Const SWP_SHOWWINDOW = &H40 'Presenta en pantalla la ventana
'Para mantenerlo siempre visible, podeis utilizar estas opciones
Public Const SWP_FLAGS = SWP_NOMOVE Or SWP_NOSIZE Or SWP_SHOWWINDOW Or SWP_NOACTIVATE
Declare Function SetWindowPos Lib "User32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
'Código para el evento 'Load' del Formulario
'Definimos la variable
Dim CadenaResultante As Long
CadenaResultante = SetWindowPos(hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_FLAGS)
'CadenaResultante = Devuelve cero en caso de error.
'NOTA: Para finalizar la posición de siempre visible, cambiar HWND_TOPMOST por HWND_NOTOPMOST
GlobalMemoryStatus (Información sobre la memoria fisica disponible) | API |
Type MEMORYSTATUS
dwLength As Long
dwMemoryLoad As Long 'porcentaje de memoria en Uso
dwTotalPhys As Long 'Total Bytes de memoria física
dwAvailPhys As Long 'Memoria física libre en bytes
dwTotalPageFile As Long
dwAvailPageFile As Long
dwTotalVirtual As Long
dwAvailVirtual As Long
End Type
Global Memoria As MEMORYSTATUS
'Código para el procedimiento
Memoria.dwLength = Len(Memoria)
GlobalMemoryStatus Memoria
'mostramos el resultado
Print "Memoria fisica total : " & Format(Memoria.dwTotalPhys, "#,##0")
Print "Memoria fisica disponible : " & Format(Memoria.dwAvailPhys, "#,##0")
Print "Porcentaje de Memoria Utilzada : " & Memoria.dwMemoryLoad & "%"
Print "Porcentaje de Memoria Disponible : " & 100 - Memoria.dwMemoryLoad & "%"
ShellExecute (Ejecutar) | API |
'Código para el procedimiento
'Definimos las variables
Dim CadenaResultante As Long
'Abre un nuevo correo electronico
CadenaResultante = ShellExecute(hwnd, "open", "mailto:[email protected]?subject=API's para Visual Basic", "", "", 1)
'Abre una página Web en el navegador por defecto del sistema
CadenaResultante = ShellExecute(hwnd, "open", "http://www.lawebdelprogramador.com", "", "", 1)
'Abre una hoja de calculo, en este caso del Excel de Microsoft
CadenaResultante = ShellExecute(hwnd, "open", "nombre_directorio.xls", "", "", 1)
GetVersionEx (Devuelve la versión del Windows) | API |
Type OSVERSIONINFO
dwOSVersionInfoSize As Long
dwMajorVersion As Long
dwMinorVersion As Long
dwBuildNumber As Long
dwPlatformId As Long
szCSDVersion As String * 128
End Type
Public Const PLATAFORMA_WIN32_NT& = 2
Public Const PLATAFORMA_WIN32_WINDOWS& = 1
'Código para el procedimiento
'Definimos las variables
Dim Version As OSVERSIONINFO
Dim CadenaResultante As Long
Dim x As Long
Version.dwOSVersionInfoSize = Len(Version)
CadenaResultante = GetVersionEx(Version)
'mostramos el resultado
If Version.dwPlatformId = PLATAFORMA_WIN32_NT Then Print "Windows NT"
If Version.dwPlatformId = PLATAFORMA_WIN32_WINDOWS Then Print "Windows 95/98"
x = InStr(Version.szCSDVersion, Chr(0))
Print Version.dwMajorVersion & "." & Version.dwMinorVersion & Left(Version.szCSDVersion, x - 1)
SystemParametersInfo (Cambia el fondo de pantalla del Windows) | API |
Public Const SPI_SETDESKWALLPAPER = 20
Public Const SPIF_UPDATEINIFILE = &H1
'Código para el procedimiento
'Cambiar "nombre_ubicacion", por la direccion y nomre del archivo de imagen a utilizar.
SystemParametersInfo SPI_SETDESKWALLPAPER, 0, ByVal "nombre_ubicacion", SPIF_UPDATEINIFILE
SHFileOperation (Enviar un archivo a la papelera de reciclaje) | API |
Public Declare Function SHFileOperation Lib "shell32.dll" Alias "SHFileOperationA" (lpFileOp As SHFILEOPSTRUCT) As Long
Public Const FO_DELETE = &H3
Public Const FOF_ALLOWUNDO = &H40
'Código para el procedimiento
'Definimos las variables
Dim SHFO As SHFILEOPSTRUCT
Dim CadenaResultante As Long
'Inicializamos las variables
With SHFO
.wFunc = FO_DELETE
.pFrom = "archivo_directorio"
.fFlags = FOF_ALLOWUNDO
End With
CadenaResultante = SHFileOperation(SHFO)
GetWindowsDirectory (Mustra la ruta del Windows) | API |
'Código para el procedimiento
'Definimos las variables
Dim DirectorioWindows As String * 255
Dim CadenaResultante As Long
CadenaResultante = GetWindowsDirectory(DirectorioWindows, 255)
'mostramos el resultado
Print Left(DirectorioWindows, CadenaResultante)
GetSystemDirectory (Mustra la ruta del directorio System de Windows) | API |
'Código para el procedimiento
'Definimos las variables
Dim DirectorioSystem As String * 255
Dim CadenaResultante As Long
CadenaResultante = GetSystemDirectory(DirectorioSystem, 255)
'mostramos el resultado
Print Left(DirectorioSystem, CadenaResultante)