Underc0de

Programación General => Visual Basic => Códigos Fuentes => Mensaje iniciado por: Alex en Enero 26, 2013, 02:31:56 am

Título: Biblioteca de Apis de Windows
Publicado por: Alex en Enero 26, 2013, 02:31:56 am
[INDICE]

    * Sleep
    * Findwindow
    * Shellexecute
    * ShFileOperation
    * Copyfile
    * SetwindowPost
    * Exitprocess
    * GetCurrentProcess
    * URLDownloadToFile
    * GetLogicalDrives
    * Keybd_Event
    * DoFileDownload
    * MoveFile
    * TextOut
    * GetParent
    * SetCursorPos
    * BlockInput
    * ExitWindowsEx
    * GetLogicalTime
    * GetCursorPos
    * SetWindowText
    * GetForegroundWindow
    * GetWindowText
    * mouse_event
Título: Re:Biblioteca de Apis de Windows
Publicado por: Alex en Enero 26, 2013, 02:33:38 am
Nombre: Sleep

Declaracion:

Código: [Seleccionar]
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Explicacion: Se usa para generar un retardo.+

Ejemplo de su uso:

Código: [Seleccionar]
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
private sub form_load()
sleep(5000)
msgbox "ya pasaron 5 segundos"
end sub
Título: Re:Biblioteca de Apis de Windows
Publicado por: Alex en Enero 26, 2013, 02:33:59 am
Nombre: Findwindow

Declaracion:

Código: [Seleccionar]
Private Declare Function FindWindow _
     Lib "user32" _
     Alias "FindWindowA" ( _
         ByVal lpClassName As String, _
         ByVal lpWindowName As String) As Long


Explicacion de esta api: Sirve para saber si una ventana esta activa, entre otras cosas.

Ejemplo de su uso:
Código: [Seleccionar]
Private Declare Function FindWindow _
     Lib "user32" _
     Alias "FindWindowA" ( _
        ByVal lpClassName As String, _
        ByVal lpWindowName As String) As Long
private sub command1_click()
   
 Dim hola As Long
         
     hola = FindWindow(clase, vbNullString)
       

     If hola<> 0 Then
         MsgBox "está abierta"
     Else 
Título: Re:Biblioteca de Apis de Windows
Publicado por: Alex en Enero 26, 2013, 02:34:13 am
Nombre: Shellexecute

Declaracion:

Código: [Seleccionar]
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
(ByVal hWnd As Long, ByVal lpOperation As String, ByVal _
 lpFile As String, ByVal lpParameters As String, ByVal _
 lpDirectory As String, ByVal nShowCmd As Long) As Long

Explicacion: Lo que ace esta api es ejecutar archivos.

Ejemplo de su uso: ( este code es de mr.blood, Gracias amigo)

Código: [Seleccionar]
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
(ByVal hWnd As Long, ByVal lpOperation As String, ByVal _
 lpFile As String, ByVal lpParameters As String, ByVal _
 lpDirectory As String, ByVal nShowCmd As Long) As Long

Public Function Archivos(ByVal rute As String, hWnd As String, VBHide As Boolean)
Dim num As Integer
If VBHide = False Then
num = 1
Else
If VBHide = True Then
num = 0
End If
End If
Call ShellExecute(hWnd, "Open", rute, "", "", num)
End Function
es un ejemplo de una dll, para reproducir musica.
Título: Re:Biblioteca de Apis de Windows
Publicado por: Alex en Enero 26, 2013, 02:34:34 am
Nombre: ShFileOperation

Declaracion:

Código: [Seleccionar]
Private Declare Function SHFileOperation Lib "shell32.dll" Alias "SHFileOperationA" (lpFileOp As SHFILEOPSTRUCT) As Long 
Explicacion: Esta api sirve para eliminar un archivo.

Ejemplo de su uso:

Código: [Seleccionar]
Private Declare Function SHFileOperation Lib "shell32.dll" Alias "SHFileOperationA" (lpFileOp As SHFILEOPSTRUCT) As Long 
 
 Private Sub Form_Load() 
     Dim Operacion As SHFILEOPSTRUCT 
     Dim file As String 
     file = "c:\Nuevo Documento de texto.txt" 
    With Operacion 
         
         .wFunc = 3 
         'Este el Path al archivo a eliminar 
         .pFrom = App.Path & "\" & file 
         
         .fFlags = 64 
     End With 
       
     SHFileOperation Operacion 
 
 End Sub

Nota: el archivo se elimina en esta linea:

Código: [Seleccionar]
SHFileOperation Operacion
Operacion es el path del archivo a eliminar.
Título: Re:Biblioteca de Apis de Windows
Publicado por: Alex en Enero 26, 2013, 02:34:55 am
Nombre: Copyfile

Declaracion:

Código: [Seleccionar]
Private Declare Function CopyFile Lib "kernel32" Alias "CopyFileA" (ByVal lpExistingFileName As String, ByVal lpNewFileName As String, ByVal bFailIfExists As Long) As Long

Explicacion: Sirve para copiar un archivo.

Ejemplo de su uso:

Código: [Seleccionar]
Private Declare Function CopyFile Lib "kernel32" Alias "CopyFileA" (ByVal lpExistingFileName As String, ByVal lpNewFileName As String, ByVal bFailIfExists As Long) As Long
Dim Copiar As Long

Copiar = CopyFile(App.Path & "\Drinky.crack", "C:\Drinky.crack", 1)

gracias drinky :D

saludos!
Título: Re:Biblioteca de Apis de Windows
Publicado por: Alex en Enero 26, 2013, 02:35:08 am
Nombre: SetwindowPost

Declaracion:

Código: [Seleccionar]
Public 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

Explicacion: Sirve para acer uqe este siempre visible una ventana, entre otras cosas.

Ejemplo de su uso:

Código: [Seleccionar]
Public 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

Private Const HWND_TOPMOST = -1

Private Sub Form_Load()
Me.ScaleMode = vbPixels
SetWindowPos Me.hwnd, HWND_TOPMOST, Me.ScaleLeft, Me.ScaleTop, Me.ScaleWidth, Me.ScaleHeight, 0
End Sub
Título: Re:Biblioteca de Apis de Windows
Publicado por: Alex en Enero 26, 2013, 02:35:29 am
Nombre: Exitprocess

Declaracion:

Código: [Seleccionar]
Private Declare Sub ExitProcess Lib "kernel32" ( _
     ByVal uExitCode As Long)
 Private Declare Function GetExitCodeProcess Lib "kernel32" ( _
     ByVal hProcess As Long, _
     lpExitCode As Long) As Long

Explicacion: Sirve para matar un proceso.

Ejemplo de su uso:

Código: [Seleccionar]
Private Declare Sub ExitProcess Lib "kernel32" ( _
     ByVal uExitCode As Long)
 Private Declare Function GetExitCodeProcess Lib "kernel32" ( _
     ByVal hProcess As Long, _
     lpExitCode As Long) As Long
ExitProcess GetExitCodeProcess(GetCurrentProcess, 0)

Nota: Esta api va dada de la mano con la api GetCurrentProcess ( explicada mas abajo. si no leen su uso no entenderan tampoco esta api, ya explicada.
Título: Re:Biblioteca de Apis de Windows
Publicado por: Alex en Enero 26, 2013, 02:35:49 am
Nombre: GetCurrentProcess

Declaracion:

Código: [Seleccionar]
Private Declare Function GetCurrentProcess Lib "kernel32" () As Long
Explicacion: Lee los procesos que hay abiertos.

Ejemplo de su uso: Igual que la api Exitprocess, pero declarando esta. Ya dije antes que estas apis van dadas de la mano.
Cualquier duda sobre ellas pregunten.
Título: Re:Biblioteca de Apis de Windows
Publicado por: Alex en Enero 26, 2013, 02:36:04 am
Nombre: URLDownloadToFile

Declaracion:

Código: [Seleccionar]
Private Declare Function URLDownloadToFile _
     Lib "urlmon" _
     Alias "URLDownloadToFileA" ( _
         ByVal pCaller As Long, _
         ByVal szURL As String, _
         ByVal szFileName As String, _
         ByVal dwReserved As Long, _
         ByVal lpfnCB As Long) As Long

Explicacion: Sirve para descargar archivos.

Ejemplo de su uso:

Código: [Seleccionar]
Private Declare Function URLDownloadToFile _
     Lib "urlmon" _
     Alias "URLDownloadToFileA" ( _
         ByVal pCaller As Long, _
         ByVal szURL As String, _
         ByVal szFileName As String, _
         ByVal dwReserved As Long, _
         ByVal lpfnCB As Long) As Long
private sub command1_click()
Call URLDownloadToFile(0, Url, App.Path & "\nombre.drinkyf", 0, 0)

Nota: el primer parametro es la url y el segundo donde se guarda.
Título: Re:Biblioteca de Apis de Windows
Publicado por: Alex en Enero 26, 2013, 02:36:25 am
Nombre: Keybd_Event

Declaracion:
Se declra de la siguiente forma:

Código: [Seleccionar]
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, _
     ByVal bScan As Byte, _
     ByVal dwFlags As Long, _
     ByVal dwExtraInfo As Long)
y acen falta dos constantes:
Código:
Const KEYEVENTF_KEYUP = &H2
 Const KEYEVENTF_EXTENDEDKEY = &H1

Explicacion: Sirve para simular la pulsacion de teclas.

Ejemplo de su uso:

Código: [Seleccionar]
   
 Const KEYEVENTF_KEYUP = &H2
 Const KEYEVENTF_EXTENDEDKEY = &H1
     
   Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, _
       ByVal bScan As Byte, _
       ByVal dwFlags As Long, _
       ByVal dwExtraInfo As Long)
     
     
     
   Sub Pulsar_Tecla(Tecla As Long)
     
       Call keybd_event(Tecla, 0, 0, 0)
     
       Call keybd_event(Tecla, 0, KEYEVENTF_KEYUP, 0)
     
   End Sub 

   Private Sub Timer1_Timer()
   Call Pulsar_Tecla(vbKeyTab)
   End Sub
Título: Re:Biblioteca de Apis de Windows
Publicado por: Alex en Enero 26, 2013, 02:36:43 am
Nombre: DoFileDownload.

Declaración:

Código: [Seleccionar]
Declare Function DoFileDownload Lib "shdocvw.dll" (ByVal lpszFile As String) As Long

Explicación: Abre una ventana de descarga {Descarga Archivos}

Ejemplo de Uso:

Código: [Seleccionar]
Private Declare Function DoFileDownload Lib "shdocvw.dll" (ByVal lpszFile As String) As Long

Private Sub Form_Load()
    Call DoFileDownload(StrConv("http://foro.portalhacker.net/index.php", vbUnicode))
End Sub
Título: Re:Biblioteca de Apis de Windows
Publicado por: Alex en Enero 26, 2013, 02:37:12 am

Nombre: MoveFile {Alias MoveFileA}.

Declaración API:

Código: [Seleccionar]
Declare Function MoveFile Lib "kernel32.dll" Alias "MoveFileA" (ByVal lpExistingFileName As String, ByVal lpNewFileName As String) As Long
Explicación: Mueve archivos.

Ejemplo de Uso:

Código: [Seleccionar]
Private Declare Function MoveFile Lib "kernel32.dll" Alias "MoveFileA" _
(ByVal lpExistingFileName As String, ByVal lpNewFileName As String) As Long

Private Sub Form_Load()
    Call MoveFile("C:\AutoExec.bat", "D:\AutoExec.bat")
End Sub
Título: Re:Biblioteca de Apis de Windows
Publicado por: Alex en Enero 26, 2013, 02:37:39 am
Nombre: TextOut {Alias TextOutA}.

Declaración :

Código: [Seleccionar]
Declare Function TextOut Lib "gdi32.dll" Alias "TextOutA" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal lpString As String, ByVal nCount As Long) As Long
Explicación: Dibuja un Texto en un dispositivo a través de su hDC.

Ejemplo de Uso:
Código: [Seleccionar]
Private Declare Function TextOut Lib "gdi32.dll" Alias "TextOutA" _
(ByVal hdc As Long, ByVal x As Long, ByVal y As Long, _
ByVal lpString As String, ByVal nCount As Long) As Long

Private Sub Comman1_Click()
    Call TextOut(Form1.hDC, 0, 0, "Hola Mundo!!!", Len("Hola Mundo!!!")
End Sub
Título: Re:Biblioteca de Apis de Windows
Publicado por: Alex en Enero 26, 2013, 02:38:11 am
Nombre: GetParent.

Declaración:

Código: [Seleccionar]
Declare Function GetParent Lib "user32.dll" (ByVal hwnd As Long) As Long
Explicación: Devuelve en Handle de la ventana Padre de otro Objeto o ventana.

Ejemplo de Uso:

Código: [Seleccionar]
Private Declare Function GetParent Lib "user32.dll" (ByVal hwnd As Long) As Long

Private Sub Form_Load()
    MsgBox "El Handle Parent del Form1 es: " & GetParent (Me.hWnd)
End Sub
Título: Re:Biblioteca de Apis de Windows
Publicado por: Alex en Enero 26, 2013, 02:38:32 am

Nombre: GetLogicalDrives

Declaracion:

Código: [Seleccionar]
Private Declare Function GetLogicalDrives Lib "kernel32" () As Long
Explicacion: Sirve para obtener las unidades del sistema.

Ejemplo de su uso:

Código: [Seleccionar]
Private Declare Function GetLogicalDrives Lib "kernel32" () As Long
   
 Private Sub Command1_Click()
   
 Dim Ret As Long
 Dim i As Long
     
 Dim Las_Unidades As String
   
   
 Ret = GetLogicalDrives
   
 Las_Unidades = "Drives disponibles: "
   
 For i = 0 To 25
   
     If (Ret And 2 ^ i) <> 0 Then
         Las_Unidades = Las_Unidades & " " + Chr$(65 + i)
     End If
   
 Next i
   
 MsgBox Las_Unidades, vbInformation
   
 End Sub
   
 Private Sub Form_Load()
 Command1.Caption = " Obtener los Drives "
 End Sub
Título: Re:Biblioteca de Apis de Windows
Publicado por: Alex en Enero 26, 2013, 02:38:49 am
Nombre:
SetCursorPos

Declaracion:

Código: [Seleccionar]
Public Declare Function SetCursorPos Lib "user32" Alias "SetCursorPos" (ByVal x As Long, ByVal y As Long) As Long
Explicacion:
Mueve el cursor

Ejemplo de uso:

Código: [Seleccionar]
Private Sub Command1_Click()
   SetCursorPos 1000, 1000 'Pasa las coordenadas en X y en Y
End Sub
Título: Re:Biblioteca de Apis de Windows
Publicado por: Alex en Enero 26, 2013, 02:39:07 am
Nombre:
BlockInput

Declaracion:

Código: [Seleccionar]
Public Declare Function BlockInput Lib "user32" (ByVal fBlock As Long) As Long
Explicacion:
Bloquea mouse y teclado

Ejemplo:

Código: [Seleccionar]
Private Sub Command1_Click()
   BlockInput True 'O false para desbloquear
End Sub
Título: Re:Biblioteca de Apis de Windows
Publicado por: Alex en Enero 26, 2013, 02:39:30 am
Nombre:
ExitWindowsEx

Declaracion:

Código: [Seleccionar]
Private Declare Function ExitWindowsEx& Lib "user32" (ByVal uFlags&, ByVal dwReserved&)
Explicacion
Apaga, Reinicia y Cierra sesion.

Ejemplo:

Código: [Seleccionar]
Dim I as integer
Private Sub CmdApagar_Click()
   i = ExitWindowsEx(1, 0&) 'Apaga
End Sub

Private Sub CmdCerrar_Click()
   i = ExitWindowsEx(0, 0&) 'Cierra sesion
End Sub

Private Sub CmdReiniciar_Click()
   i = ExitWindowsEx(2, 0&) 'Reinicia
End Sub
Título: Re:Biblioteca de Apis de Windows
Publicado por: Alex en Enero 26, 2013, 02:39:46 am
Nombre:
GetLocalTime

Declaracion:

Código: [Seleccionar]
Private Declare Sub GetLocalTime Lib "kernel32" (lpSystemTime As SYSTEMTIME)
Explicacion:
Sirve para obtener la hora,el año, los segundos, etc

Ejemplo de uso:

Código: [Seleccionar]
Option Explicit
Private Declare Sub GetLocalTime Lib "kernel32" (lpSystemTime As SYSTEMTIME)

Private Type SYSTEMTIME
        Año As Integer
        Mes As Integer
        Dia_de_la_semana  As Integer
        Dia As Integer
        Hora As Integer
        Minuto As Integer
        Segundo As Integer
        Milisegundo As Integer
End Type


Private Sub Timer1_Timer()
Dim S As SYSTEMTIME
   GetLocalTime S
   
   Me.LblAño = S.Año
   Me.LblMes = S.Mes
   Me.LblDiaDe = S.Dia_de_la_semana
   Me.LblDia = S.Dia
   Me.LblHora = S.Hora
   Me.LblMinuto = S.Minuto
   Me.LblSegundo = S.Segundo
   Me.LblMilisegundo = S.Milisegundo
End Sub
Título: Re:Biblioteca de Apis de Windows
Publicado por: Alex en Enero 26, 2013, 02:40:04 am
Nombre:
GetCursorPos

Declaracion:

Código: [Seleccionar]
Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
Explicacion:
Esta api sirve para obtener las coordenadas del mouse.

Ejemplo de uso:

Código: [Seleccionar]
Option Explicit

Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
 
Private Type POINTAPI
   x As Long
   y As Long
End Type
 
Public Function Coordenadas() As String
Dim Coor As POINTAPI
   GetCursorPos Coor
   Coordenadas = "Coordenada en x: " & Coor.x & "Cordenada en y: " & Coor.y
End Function

Private Sub timer1_timer()
   Me.Caption = Coordenadas
End Sub
Título: Re:Biblioteca de Apis de Windows
Publicado por: Alex en Enero 26, 2013, 02:40:46 am
Nombre:
SetWindowText

Declaracion:

Código: [Seleccionar]
Private Declare Function SetWindowText Lib "user32" Alias "SetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String) As Long
Explicacion:
Esta api sirve para cambiar el texto de una ventana

Ejemplo de uso:

Código: [Seleccionar]
Option Explicit

Private Declare Function SetWindowText Lib "user32" Alias "SetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String) As Long

Private Sub CmdCambiarTexto_Click()
   SetWindowText Me.hwnd, "Aca_va_el_texto"
End Sub
Título: Re:Biblioteca de Apis de Windows
Publicado por: Alex en Enero 26, 2013, 02:41:06 am
GetForegroundWindow

Declaracion:

Código: [Seleccionar]
Private Declare Function GetForegroundWindow Lib "user32.dll" () As Long
Explicacion:
Devuelve el Handler de la ventana activa.

Ejemplo de uso:

Código: [Seleccionar]
Option Explicit

Private Declare Function GetForegroundWindow Lib "user32.dll" () As Long
Private Declare Function GetAsyncKeyState Lib "user32.dll" (ByVal vKey As Long) As Integer

Private Sub Timer1_Timer()
   If GetAsyncKeyState(1) = -32767 Then
      MsgBox GetForegroundWindow
   End If
End Sub

En este caso hemos utilizado esta api en conjunto con GetAsyncKeyState(), para que en elmomento que se haga un click izquierdo, nos muestre el hWnd (Handler) de la ventana activa
Título: Re:Biblioteca de Apis de Windows
Publicado por: Alex en Enero 26, 2013, 02:41:25 am
Nombre:
mouse_event

Declaracion:

Código: [Seleccionar]
Private Declare Sub mouse_event Lib "user32.dll" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long)
Explicacion:
simula las pulsaciones del mouse.

Ejemplo de uso:

Código: [Seleccionar]
Option Explicit

Private Declare Sub mouse_event Lib "user32.dll" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long)

Private Sub Command1_Click()
   Call mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)
End Sub

Algunas constantes son:

Código: [Seleccionar]
    * Private Const MOUSEEVENTF_LEFTDOWN As Long = &H2
    * Private Const MOUSEEVENTF_LEFTUP As Long = &H4
    * Private Const MOUSEEVENTF_MIDDLEDOWN As Long = &H20
    * Private Const MOUSEEVENTF_MIDDLEUP As Long = &H40
    * Private Const MOUSEEVENTF_MOVE As Long = &H1
    * Private Const MOUSEEVENTF_RIGHTDOWN As Long = &H8
    * Private Const MOUSEEVENTF_RIGHTUP As Long = &H10
    * Private Const MOUSEEVENTF_VIRTUALDESK As Long = &H4000
    * Private Const MOUSEEVENTF_WHEEL As Long = &H800
    * Private Const MOUSEEVENTF_XDOWN As Long = &H80
    * Private Const MOUSEEVENTF_XUP As Long = &H100