IDEIA PARA CRIA UM "AGENTE DO PROGRAMA"

MARCELO.VB.PIRA 04/03/2005 22:45:25
#71206
Olá!!!

Eu de novo...

Bom, a ideia é a seguinte:

criar um mensageiro interno dentro do sistema, sem se preocupar com IP, configurações e etc. e que tb sirva como agenda com alarmes, compromisso, etc.

a base eu ja desenvolvi mas faltam alguns detalhes. o escopo inicial é mais ou menos assim:

quando o sistema for iniciado, ler um form (apenas o load, sem o show) e deixa-lo invisivel. nele, terá um timer que a cada 10 segundo, faz uma checagem para:

- ver se tem alguma mensagem para aquele usuario
- ver se alguma tarefa foi agendada por aquele usuario
- ver se alguma tarefa foi agendada para aquele usuario
- e mais algumas coisas (ideias) que irão surgir no processo...

caso exista alguma ação valida a ser executada, este form fica visivel avisando ao usuario que algo deve ser feito

neste mesmo form, vc poderá inserir novas tarefas ou mandar mensagens para usuarios logados no sistema. para acionar este form "escondido" ele será acionado por alguma combinação de teclas.

todas as informações deste form, ficam gravadas num BD no servidor.

cada vez q um usuario logar no sistema, neste bd fica registrado a presença dele as dúvidas são as seguintes:


01. como fazer para que este form ao aparecer fique "always on top"? sobre os outros forms do mesmo projeto
02. como fazer para que ele fique carregado desde o inico, mas sem aparecer nem no alt-tab, nem na barra de tarefas e nem em canto nenhum
03. como fazer para q ao checar as tarefas existentes neste form, ao clicar em um determinando botao, ele volte a condição de ficar invisivel novamente.


Obrigado. mais uma vez...

USUARIO.EXCLUIDOS 05/03/2005 09:42:58
#71220
Resposta -
01- Tem um componente chamado ACTIVE FORM, que serve para deixar o form, por cima dos outros e até por cima das janelas e programas do Windows... me serviu bem para a criação de um mensageiro como o seu...

02 - Para ser carregado desde o inicio vc pode usar o WIN.INI, a pasta INICIAR, ou até pelo registro do PRÓ“PRIO Windows.... quanto ao alt-tab, você pode usar um componente para a janela fica no SYSTEM TRAY, tudo fica mais prático...

03- Não entendi o que quiz dizer....

Como já disse, já fiz um sistema como este........
Qualquer coisa estou aqui
USUARIO.EXCLUIDOS 05/03/2005 09:48:08
#71221
Pelo próprio q vc colocou... sugiro que use um dos CHARACTERS do MSAGENT, que são assistentes iguais aos do OFICCE, a aplicação vai ficar mais interativa, fiz isso na minha (sistema de mensagens) e foi um sucesso!!!
FELIPEA 05/03/2005 09:51:59
#71222
Resposta escolhida
Citação:

01. como fazer para que este form ao aparecer fique "always on top"? sobre os outros forms do mesmo projeto



Tenho esse code:

Option Explicit 

Private 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

Const MF_BYPOSITION = &H400&
Const SWP_FLAGS = 3
Const SWP_HWND_TOPMOST = -1
Const SWP_HWND_NOTOPMOST = -2

Private Sub SempreVisivel(Form As Object, SetAsTopMost As Boolean)
Dim Flag As Long
If SetAsTopMost Then
Flag = SWP_HWND_TOPMOST
Else
Flag = SWP_HWND_NOTOPMOST
End If
SetWindowPos Form.hWnd, Flag, Form.Left / Screen.TwipsPerPixelX, Form.Top / Screen.TwipsPerPixelY, Form.Width / Screen.TwipsPerPixelX, Form.Height / Screen.TwipsPerPixelY, SWP_FLAGS
End Sub

Private Sub Form_Load()
SempreVisivel Me, True
End Sub


Citação:

02. como fazer para que ele fique carregado desde o inico, mas sem aparecer nem no alt-tab, nem na barra de tarefas e nem em canto nenhum



Links:
http://www.vbmania.com.br/vbmdetail.php?varID=968
http://www.vbmania.com.br/vbmdetail.php?varID=113
THIAGO.CESAR 05/03/2005 12:44:28
#71236
Para esconder o aplicativo do Alt+Tab faça o seguinte:
App.TaskVisible = False

Na hora da tarefa, exiba o formulário:
Me.Show

Quando quiser esconder o formulário novamente
Me.Hide
Tópico encerrado , respostas não são mais permitidas