Interceptar la función WM_QUERYENDSESSION Mayo 1, 2008
Posted by erik in : VisualBasic , add a commentEste codigo sirve para interceptar la funcion WM_QUERYENDSESSION que se produce en el sistema, este codigo es util para virus, y etc…
Primero lo que tendriamos de hacer es crear un modulo BAS:
Option Explicit Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" ( _ ByVal lpPrevWndFunc As Long, _ ByVal Hwnd As Long, _ ByVal MSG As Long, _ ByVal wParam As Long, _ ByVal lParam As Long) As Long Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" ( _ ByVal Hwnd As Long, _ ByVal nIndex As Long, _ ByVal dwNewLong As Long) As Long Public Const GWL_WNDPROC = -4 Public Const WM_QUERYENDSESSION = &H11 Global Const WM_CANCELMODE = &H1F Global lpPrevWndProc As Long Public Sub Hook(Hwnd_Form As Long) lpPrevWndProc = SetWindowLong(Hwnd_Form, GWL_WNDPROC, AddressOf WindowProc) End Sub Public Sub Unhook(Hwnd_Form As Long) Dim ret As Long ret = SetWindowLong(Hwnd_Form, GWL_WNDPROC, lpPrevWndProc) End Sub Function WindowProc(ByVal Hwnd As Long, _ ByVal uMsg As Long, _ ByVal wParam As Long, _ ByVal lParam As Long) As Long If uMsg = WM_QUERYENDSESSION Then WindowProc = CallWindowProc(lpPrevWndProc, Hwnd, WM_CANCELMODE, wParam, wParam) MsgBox "WM_QUERYENDSESSION Interceptado", vbInformation, "WM_QUERYENDSESSION" Exit Function End If WindowProc = CallWindowProc(lpPrevWndProc, Hwnd, uMsg, wParam, lParam) End Function
Luego creamos el formulario:
Option Explicit Private Sub Form_Load() Hook Me.Hwnd End Sub Private Sub Form_Unload(Cancel As Integer) Unhook Me.Hwnd End Sub
[2ª Parte] MSN Programs Abril 30, 2008
Posted by erik in : VisualBasic , add a commentBueno aqui el segundo codigo de utilización, como siempre hacemos el proceso de las variables, y cuando lo tengamos hecho, necesitaremos:
- 2 Commands
Al command1, le añadimos el codigo de Conectar msn:
msn.Autosignin
y ahora en el Command2, le añadiremos el codigo de desconectar msn:
msn.Signout
Como veis, muy sencillo.
En el proximo pondre para saber el estado de conexión del msn con actualizador cada 1 seg.
MSN Programs Abril 30, 2008
Posted by erik in : VisualBasic , add a commentBueno, os voy a enseñar a crear algun que otro programa aqui con Visual Basic 6.0, sencillamente y facil, ire añadiendo, antes de nada, añadimos esto al codigo;
Public WithEvents msn As MessengerAPI.Messenger
Luego en el form_load añadimos esto:
Set msn = New Messenger
Como veis ya hemos dejado claro que el programa va a estar orientado a msn, pero aun nos falta 1 toque mas para poder utilizar codigos de mensajeria instantanea MSN.
Vamos a Project, luego a References, y activas Messenger API Type Library.
Ahora ya podemos empezar a generar programas
.
Primer Programa: Contactos MSN
Aqui os voy a enseñar a hacer un miniprograma enseñandote todos tus contactos, y los que estan online.
Necesitaremos:
- 2 ListBox
- 2 Command
En el primer Command añadiremos el codigo para que se vean todos los contactos que tienes, añadimos este code:
' Esto sera el primer ListBox y pondremos todos los contactos, foromsn.com Dim msncontact As IMessengerContact Dim msncontacts As IMessengerContacts Set msncontacts = msn.MyContacts For Each msncontact In msncontacts List1.AddItem (msncontact.SigninName) Next
Bueno, ya hemos colocado uno, ahora colocaremos el que se vean los contactos online; Command2:
On Error Resume Next contactosenlinea List2, MISTATUS_ONLINE If List1.ListCount = 0 Then List2.AddItem "No hay contactos En Linea" End If
Y ya esta, es muy facil, cualquier error me avisais por el post o mp
.
El proximo codigo sera, Conectar y Desconectar MSN.
Añadir texto sin sobreescribir Abril 30, 2008
Posted by erik in : VisualBasic , add a commentOption Explicit Private Sub Form_Load() Open "C:\archivo.txt" For Append As #1 Print #1, "palabra\notexto ..." Close #1 End Sub
Este codigo es muy sencillo lo unico que hace es introducir frases, oraciones etc.. en un archivo sin sobreescribir lo que ya tenia.
Winsock Control [Localhostname] Abril 30, 2008
Posted by erik in : VisualBasic , add a commentAntes de mirar tu localhostname, necesitas ir a proyect >> Components y activar Microsoft Winsock Controls, una vez activados, a?ades un winsock al form, y 1 textbox.
Luego en el Form_Load a?ade este c?digo:
Dim lhn As String lhn = Winsock1.LocalHostName Text1.Text = Trim$(lhn)
Una vez a?adido, lo compilas y huala, te dice tu Localhostname.
Es muy sencillo, pronto a?adire m?s cosas sobre Winsock Controls
Trim$ Abril 30, 2008
Posted by erik in : VisualBasic , add a commentNecesitamos
2 TextBox, que uno se llame text1 y el otro ruta.
1 CommandButton y listo.
Código: [Seleccionar]
Private sub Command1_click() open trim$(ruta) for binary as #1 dim espaciotxt as string expaciotxt = space(lof(1)) get #1,espaciotxt close #1 text1.text = espaciotxt End Sub Private sub Form_Load() text1.Multiline = true End sub
El sistema trim$ que pongo es para que el valor de la ruta sea el valor del ruta.text
Es muy sencillo.
Buscar archivos Abril 30, 2008
Posted by erik in : VisualBasic , add a commentBueno, es lo que os voy a enseñar actualmente.
Esto es para buscar un archivo en C:,Mis documentos y lo que querais, donde pone &, haces esto: & carpeta &, y sigues con el codigo
Necesitaremos 1 textbox y 1 Commandbutton
Este codigo se pone en el commandbutton, y listo.
Código:
Private Sub Command1_Click() Dim resultado As String Dim archivo As String archivo = "" & "\archivo_a_buscar.exe" resultado = Dir(archivo) If Len(resultado) = 1 Then Text1.Text = "El archivo que se buscaba se ha encontrado" Else Text1.Text = "El archivo que se buscaba no se ha encontrado" End If End Sub
Codigo hecho por mi
!
Si quereis saber algo, me avisais
.
FSO - Copiar carpetas Abril 30, 2008
Posted by erik in : VisualBasic , add a commentLo que hariamos en referencia es activar FSO y luego para copiar una carpeta añadiriamos este código:
Código:
Dim fso As FileSystemObject Set FSO = New FileSystemObject ' En rutacopiar añadiriamos la ruta de la carpeta que queremos copiar ' y en rutaPegar la ruta donde se pegara la carpeta FSO.CopyFolder rutaCopiar, rutaPegar End Sub
Muy sencillo, buena suerte.
Crear un navegador en VB.NET Abril 30, 2008
Posted by erik in : VisualBasic , add a commentVamos a aprender a crear un navegador en visual basic.net haber que tal se os da.
Le damos a crear, y creamos una aplicacion de consola, y ahora vamos a herramientas.
Seleccionas el objeto “Panel” y haces un cuadrado en el formulario que es donde ira el webbrowser, te deveria quedar algo así:

Despues añadimos el webbrowser en el panel, un textbox y 1 Commandbutton, es muy simple, en el commandbutton le ponemos este codigo:
Código:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim texto As String texto = TextBox1.Text WebBrowser1.Navigate(Trim$(texto)) End Sub
Si os dais cuenta utilizo mucho la utilizacion trim$(), ya explicare para que sirve.
Y huala, escribis la pagina web en el textbox le dais al button1 y listo, os habre la que quereis.
- Webbrowser1.Go home : Pagina principal
- WebBrowser1.St op : Cancelar la busqueda o actualizacion
- Webbrowser1.Go back : Ir atras
- WebBrowser1.Go Forward : Ir adelante
- WebBrowser1.Go search : Ir al buscador
- WebBrowser1.Re fresh : Actualizar
Si quereis saber para que sirven porque no lo sabeis me avisais.
Ya teneis vuestro navegador.NET 