Biblioteca de Apis de Windows

Iniciado por alexander1712, Enero 26, 2013, 02:31:56 AM

Tema anterior - Siguiente tema

0 Miembros y 2 Visitantes están viendo este tema.

[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

Nombre: Sleep

Declaracion:

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


Ejemplo de su uso:

Código: php
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
private sub form_load()
sleep(5000)
msgbox "ya pasaron 5 segundos"
end sub

Nombre: Findwindow

Declaracion:

Código: php
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: php
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 

Nombre: Shellexecute

Declaracion:

Código: php
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: php
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.

Nombre: ShFileOperation

Declaracion:

Código: php
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: php
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: php
SHFileOperation Operacion


Operacion es el path del archivo a eliminar.

Nombre: Copyfile

Declaracion:

Código: php
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: php
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!

Nombre: SetwindowPost

Declaracion:

Código: php
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: php
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

Nombre: Exitprocess

Declaracion:

Código: php
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: php
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.

Nombre: GetCurrentProcess

Declaracion:

Código: php
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.

Nombre: URLDownloadToFile

Declaracion:

Código: php
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: php
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.

Nombre: Keybd_Event

Declaracion:
Se declra de la siguiente forma:

Código: php
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: php
   
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

Nombre: DoFileDownload.

Declaración:

Código: php
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: php
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


Nombre: MoveFile {Alias MoveFileA}.

Declaración API:

Código: php
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: php
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

Nombre: TextOut {Alias TextOutA}.

Declaración :

Código: php
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: php

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

Nombre: GetParent.

Declaración:

Código: php
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: php
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


Nombre: GetLogicalDrives

Declaracion:

Código: php
Private Declare Function GetLogicalDrives Lib "kernel32" () As Long


Explicacion: Sirve para obtener las unidades del sistema.

Ejemplo de su uso:

Código: php
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

Nombre:
SetCursorPos

Declaracion:

Código: php
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: php
Private Sub Command1_Click()
   SetCursorPos 1000, 1000 'Pasa las coordenadas en X y en Y
End Sub

Nombre:
BlockInput

Declaracion:

Código: php
Public Declare Function BlockInput Lib "user32" (ByVal fBlock As Long) As Long


Explicacion:
Bloquea mouse y teclado

Ejemplo:

Código: php
Private Sub Command1_Click()
   BlockInput True 'O false para desbloquear
End Sub

Nombre:
ExitWindowsEx

Declaracion:

Código: php
Private Declare Function ExitWindowsEx& Lib "user32" (ByVal uFlags&, ByVal dwReserved&)


Explicacion
Apaga, Reinicia y Cierra sesion.

Ejemplo:

Código: php
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

Nombre:
GetLocalTime

Declaracion:

Código: php
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: php
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