Autor
|
Tema: Proceso (Leído 2,412 veces)
|
_Sergi_
Desconectado
Mensajes: 842
|
|
Proceso
« en: 26 Septiembre 2005, 20:15 pm » |
|
Bueno hace algun tiempo hice un programilla en VB que me resolvía muchíiiisimos problemas solo con ejecutarlo. Pero es un proceso largo, y estoy pensando en añadirle una opcion para minimizarlo al tray.
Mis preguntas son dos:
-Con los códigos que circulan por la Red para añadir un icono al tray... ¿El Timer que realiza las operaciones periodicamente seguirá haciéndolo, aunque el form este minimizado en el susodicho tray?
-Se les ocurre alguna manera de que el icono del tray muestre un color segun como de avanzado vaya el progreso? (ej. verde terminado, rojo empezando, naranja a mitad) Gracias por vuestro tiempo! Saludos
|
|
|
En línea
|
Proyecto de Ingeniero
|
|
|
NYlOn
Desconectado
Mensajes: 842
OOOOHHHHHH, TARAGÜIIII xDDDDDD
|
|
Re: Proceso
« Respuesta #1 en: 26 Septiembre 2005, 22:44 pm » |
|
Hola Acosta: el codigo para poner un icono el la barra de tareas es este: En un modulo, pone este Public nid As NOTIFYICONDATA Public Declare Function Shell_NotifyIcon Lib "shell32" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, pnid As NOTIFYICONDATA) As Boolean Public Const WM_CHAR = &H102 Public Const WM_SETTEXT = &HC Public Const WM_USER = &H400 Public Const WM_KEYDOWN = &H100 Public Const WM_KEYUP = &H101 Public Const WM_LBUTTONDOWN = &H201 Public Const WM_CLOSE = &H10 Public Const WM_COMMAND = &H111 Public Const WM_CLEAR = &H303 Public Const WM_DESTROY = &H2 Public Const WM_GETTEXT = &HD Public Const WM_GETTEXTLENGTH = &HE Public Type NOTIFYICONDATA cbSize As Long hwnd As Long uId As Long uFlags As Long uCallBackMessage As Long hIcon As Long szTip As String * 64 End Type Public Const NIM_ADD = &H0 Public Const NIM_MODIFY = &H1 Public Const NIM_DELETE = &H2 Public Const NIF_MESSAGE = &H1 Public Const NIF_ICON = &H2 Public Const NIF_TIP = &H4 Public Const WM_MOUSEMOVE = &H200 Public Declare Function SetForegroundWindow Lib "user32" (ByVal hwnd As Long) As Long
'Iconos Sub Icono() With nid .cbSize = Len(nid) .hwnd = Form1.hwnd 'nombre del form que estara minimizado .uId = vbNull .uFlags = NIF_ICON Or NIF_TIP Or NIF_MESSAGE .uCallBackMessage = WM_MOUSEMOVE .hIcon = Form1.Icon 'nombre del formulario que contiene el icono End With Shell_NotifyIcon NIM_ADD, nid End Sub Sub NoIcono() Shell_NotifyIcon NIM_DELETE, nid End Sub
Resto del codigo: Private Sub Form_Load () Icono 'muestra el icono End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Dim Result As Long Dim msg As Long If Me.ScaleMode = vbPixels Then msg = X Else msg = X / Screen.TwipsPerPixelX End If Select Case msg Case 517 'click derecho en el icono Form1.PopupMenu mnuHola Case 514 Result = SetForegroundWindow(Me.hwnd) 'click izquierdo en el icono End Select
End Sub
Private Sub Form_Unload(Cancel As Integer) NoIcono 'para sacar el icono cuando cerras la aplicacion End Sub
y para cambiar el icono segun el estado de tu aplicacion tenes q poner un ImageList y cargas las imagenes que necesitas. Despues pones el siguiente code en cada evento que necesites: Private Sub Command1_Click() NoIcono Set Icon = ImageList1.ListImages(1).ExtractIcon 'en el (1) depende del lugar en que este tu imagen Icono End Sub
esper0 q te haya sido util un salud0 G0nz4
|
|
|
En línea
|
|
|
|
|
NYlOn
Desconectado
Mensajes: 842
OOOOHHHHHH, TARAGÜIIII xDDDDDD
|
|
Re: Proceso
« Respuesta #3 en: 27 Septiembre 2005, 00:35 am » |
|
No creo que cambiandole el ícono al formulario funcione porque cambia el handle. Si, si funciona... Escribi el code en vb y lo probe dsp xD Ah, y que es eso de 'cargar el icono desde un recurso' ?? a que te referis con es0 ?? un salud0
|
|
|
En línea
|
|
|
|
Slasher-K
Desconectado
Mensajes: 1.477
|
|
Re: Proceso
« Respuesta #4 en: 27 Septiembre 2005, 00:45 am » |
|
Creas un archivo de recursos, después guardas un ícono en el archivo y con la función LoadResPicture cargas el recurso especificando el identificador. El identificador es un valor de tipo numérico o de cadena que viene a ser el nombre de un recurso. En el caso de las tablas de cadenas siempre es un número. Por ejemplo el siguiente código cargaría un ícono dependiendo de un estado determinado Const STATUS_BUSY = 1 Const STATUS_FREE = 2 Const STATUS_WAIT = 3
Sub LoadIcon(Status As Integer) Dim csPicture As IPictureDisp Dim sRsrc$
Select Case Status Case STATUS_BUSY: sRsrc = "ICON1" Case STATUS_FREE: sRsrc = "ICON2" Case STATUS_WAIT: sRsrc = "ICON3" End Select Set csPicture = LoadResPicture(sRsrc, vbResIcon) End Sub
Saludos.
|
|
|
En línea
|
A la reina de las profundidades que cuida los pasos de una sombra en la noche :*
|
|
|
NYlOn
Desconectado
Mensajes: 842
OOOOHHHHHH, TARAGÜIIII xDDDDDD
|
|
Re: Proceso
« Respuesta #5 en: 27 Septiembre 2005, 01:35 am » |
|
:O gracias Polux un salud0
|
|
|
En línea
|
|
|
|
_Sergi_
Desconectado
Mensajes: 842
|
|
Re: Proceso
« Respuesta #6 en: 28 Septiembre 2005, 19:30 pm » |
|
Lo mismo digo.
Muchas gracias otra vez a todos por la info y por los codes.
|
|
|
En línea
|
Proyecto de Ingeniero
|
|
|
NYlOn
Desconectado
Mensajes: 842
OOOOHHHHHH, TARAGÜIIII xDDDDDD
|
|
Re: Proceso
« Respuesta #7 en: 28 Septiembre 2005, 22:11 pm » |
|
de nada
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Imagebase o BaseAddress de un proceso[HELP]
Programación Visual Basic
|
ignorantev1.1
|
0
|
1,752
|
2 Diciembre 2011, 09:21 am
por ignorantev1.1
|
|
|
Buscar proceso
.NET (C#, VB.NET, ASP)
|
GameAndWatch
|
4
|
3,179
|
30 Enero 2012, 11:03 am
por kub0x
|
|
|
Selccionar tarjeta de red que usa un proceso
Redes
|
Foantaros
|
3
|
2,507
|
20 Agosto 2012, 16:16 pm
por USLO
|
|
|
Problemas con el proceso browserprotect.exe!!!!
Windows
|
01munrra
|
6
|
4,931
|
7 Abril 2013, 14:11 pm
por 01munrra
|
|