Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - elmaro

#211
bueno hola otra vez,. mi aduda es la siguiente
tengo un programa que se pone en el systray con un icono muy lindo :P jeje,. lo que keiro acer es que el programa cuadno este activo tenga un icono y cuadno este desactivado tenga otro, se entiende??

el codigo que uso es el siguiente:
en un modulo

Private Type NOTIFYICONDATA
   cbSize As Long
   hWnd As Long
   uID As Long
   uFlags As Long
   uCallbackMessage As Long
   hIcon As Long
   szTip As String * 128
   dwState As Long
   dwStateMask As Long
   szInfo As String * 256
   uTimeout As Long
   szInfoTitle As String * 64
   dwInfoFlags As Long
End Type

Dim nf_IconData As NOTIFYICONDATA

Const NOTIFYICON_VERSION = 3
Const NOTIFYICON_OLDVERSION = 0

Const NIM_ADD = &H0
Const NIM_MODIFY = &H1
Const NIM_DELETE = &H2

Const NIM_SETFOCUS = &H3
Const NIM_SETVERSION = &H4

Const NIF_MESSAGE = &H1
Const NIF_ICON = &H2
Const NIF_TIP = &H4

Const NIF_STATE = &H8
Const NIF_INFO = &H10

Const NIS_HIDDEN = &H1
Const NIS_SHAREDICON = &H2

Const NONE = &H0
Const WARNING = &H2
Const ERROR = &H3
Const INFO = &H1
Const GUID = &H4

Const WM_MOUSEMOVE = &H200
Const WM_LBUTTONDOWN = &H201
Const WM_LBUTTONUP = &H202
Const WM_LBUTTONDBLCLK = &H203
Const WM_RBUTTONDOWN = &H204
Const WM_RBUTTONUP = &H205
Const WM_RBUTTONDBLCLK = &H206
Private Declare Function Shell_NotifyIcon Lib "shell32" _
Alias "Shell_NotifyIconA" _
(ByVal dwMessage As Long, pnid As NOTIFYICONDATA) As Boolean
Sub AgregarIcono(icono)
With nf_IconData
        .cbSize = Len(nf_IconData)
        .hWnd = frm_main.hWnd
        .uID = vbNull
        .uFlags = NIF_ICON Or NIF_INFO Or NIF_MESSAGE Or NIF_TIP
        .uCallbackMessage = WM_MOUSEMOVE
        .hIcon = icono
        .szTip = "Bloker" & vbNullChar 'QuickInfo  Symbols & vbNullChar
        .dwState = 0
        .dwStateMask = 0
   End With

   Shell_NotifyIcon NIM_ADD, nf_IconData 'NIM_ADD Agregamos el icono a la barra
End Sub
Sub QuitarIcono()
Shell_NotifyIcon NIM_DELETE, nf_IconData 'NIM_DELETE Quitar el icono de la barra
End Sub
Sub MostrarGlobo(Texto As String, tipo As Long)
With nf_IconData
        .cbSize = Len(nf_IconData)
        .hWnd = frm_main.hWnd
        .uID = vbNull
        .uFlags = NIF_ICON Or NIF_INFO Or NIF_MESSAGE Or NIF_TIP
        .uCallbackMessage = WM_MOUSEMOVE
        .hIcon = frm_main.Icon
        .szTip = "Bloker" & vbNullChar 'QuickInfo  Symbols & vbNullChar
        .dwState = 0
        .dwStateMask = 0
        .szInfo = Texto & Chr(0) 'Texto del globo
        .szInfoTitle = "Informacion" & Chr(0) 'Titulo del globo
        .dwInfoFlags = tipo
        .uTimeout = 1000 'Tiempo de espera  (millisec.)
   End With

   Shell_NotifyIcon NIM_MODIFY, nf_IconData 'Activamos el globo
End Sub
Sub Eventos(x As Single)
Dim lMsg As Long
   Dim sFilter As String
   lMsg = x / Screen.TwipsPerPixelX
   Select Case lMsg
   'you can play with other events as I did as per your use
      Case WM_LBUTTONDOWN
      Case WM_LBUTTONUP
       'Form2.PopupMenu Form1.MnuMostrar
      Case WM_LBUTTONDBLCLK
        If frm_main.Visible = False Then
        frm_habilita.Show
        End If
      Case WM_RBUTTONDOWN
     
      Case WM_RBUTTONUP
       'Form2.PopupMenu Form2.MnuMostrar
      frm_main.PopupMenu frm_main.Archivo
      Case WM_RBUTTONDBLCLK
   End Select
End Sub

tonces,. para agregar el icono pongo
AgregarIcono "dirrecion del icono"
y me salta error,. el icono lo puedo poner, solo que si modifico esto Sub AgregarIcono(icono) es que no me anda,
en fin,. no puedo cambiar el icono del systray en tiempo de ejecucion
alguna solucion??'



El MaRo!
#212
bueno... buske en la web que me dijiste y encontre algunos firewalls echos en vb,. lo que pasa es que solo controlan las peticiones de conexión,. lo que entra,. yo n3cesito lo que sale,. pero bue...
cambie la metodologia de mi programa,. voy x la version 2.0 que blokea mas programas y x lo pronto voy a usar las class,. y no los nombre de procesos,. ya que si le cambian el nombre...sassss me cagan
asi que bue,.. gracias x todo man y suerte en lo tuyo



El MaRo!
#213
ok, tonces?
como puedo hacer para evitar ver ls paginas web?
ya sea usando IE, o un explorador echo en vb o en cualkier lenguague o lo que sea
gracias x tus respuestas whiskises

saludos
#214
si,. lo de la clase de mi ventana lo sabia,. pero lo que kiro yo es....
yo ya blokeaba IE abriendo el exe en forma binaria y verificando los proceso... pero.. si cambian el nombre del IE falla, y si  se utiliza otro navegador falla,. si se utiliza un navegador echo en cualkeir otro lenguaje y usa las bibliotecas de IE falla...
tonces algo mas abarkativo seria...detectar cuando se valla a utilizar el puerto 80 para ahi si..blokear la aplicacion que lo utiliza
espero que se aya entendido
#215
muchas gracias,. la verdad no ize eso xq no entiendo mucho de esas apis, recien ahora me estoy familiarizando
en fin
encuentra todos los IEFrame y los cierra....ahora yo digo.,.,. si go un explorador con vb usando el webbrowser...usa el IEFrame??? xq ese si que no me lo cierra

lo que estoy ciendo es un programa que blokee IE
tengo que actualizar la version pa darle mas seguridad
y creo que lo mejor es acer un proxy entre mi programa y el port 80 o no?
#216
nadie me va a contestar? :( ¬¬
#217
buenas
tengo este codigo para conseguir las calses, el tema es que me pide el nombre de la ventana(el  code lo sake del API-Guide) y yo necesito saber si esta activa la clase IEFrame que es la del internet explorer, como mela lo ago??

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Declare Function GetClassName Lib "user32" Alias "GetClassNameA" (ByVal hwnd As Long, ByVal lpClassName As String, ByVal nMaxCount As Long) As Long
Private Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
Const SW_SHOWNORMAL = 1
Const WM_CLOSE = &H10
Const gcClassnameMSWord = "OpusApp"
Const gcClassnameMSExcel = "XLMAIN"
Const gcClassnameMSIExplorer = "IEFrame"
Const gcClassnameMSVBasic = "wndclass_desked_gsk"
Const gcClassnameNotePad = "Notepad"
Const gcClassnameMyVBApp = "ThunderForm"
Private Sub Form_Load()
    Dim WinWnd As Long, Ret As String, RetVal As Long, lpClassName As String
    'Ask for a Window title
    Ret = InputBox("Enter the exact window title:" + Chr$(13) + Chr$(10) + "Note: must be an exact match")
    'Search the window
    WinWnd = FindWindow(vbNullString, Ret)
    If WinWnd = 0 Then MsgBox "Couldn't find the window ...": Exit Sub
    'Show the window
    ShowWindow WinWnd, SW_SHOWNORMAL
    'Create a buffer
    lpClassName = Space(256)
    'retrieve the class name
    RetVal = GetClassName(WinWnd, lpClassName, 256)
    'Show the classname
    MsgBox "Classname: " + Left$(lpClassName, RetVal)
    'Post a message to the window to close itself
    PostMessage WinWnd, WM_CLOSE, 0&, 0&
End Sub



estaria bien buscar todas las ventanas y a cada nombre de ventana verivicar si usa ese calse??
gracias




El MaRo!
#218
muy bien dicho hans
#219
Programación Visual Basic / Re: Sónido en VB
17 Agosto 2006, 05:36 AM
dieguito usa esto
toma, en un modulo .bas pones las declaraciones:

Declare Function sndPlaySound Lib "WINMM.DLL" Alias "sndPlaySoundA" _
      (ByVal lpszSoundName As String, ByVal uFlags As Long) As Long
Const SND_SYNC = &H0
   Const SND_ASYNC = &H1
   Const SND_NODEFAULT = &H2
   Const SND_LOOP = &H8
   Const SND_NOSTOP = &H10

y en el formulario pones donde kieras,. en el load,. en un boton o donde mela kieras

SoundName$ = "tu_sonido.wav"
   wFlags% = SND_ASYNC Or SND_NODEFAULT
   x% = sndPlaySound(SoundName$, wFlags%)




El MaRo!
#220
????