marcioe Posted March 16, 2020 Report Share Posted March 16, 2020 Tenho um sistema de verificação de pedidos (que roda no Tray do Windows (Junto ao Relogio), onde o banco fica hospedado, até funciona bem. Porem gostaria de que fosse exibido ao receber um novo pedido uma Notificação, para o usuario, quando chegasse um novo pedido. Poderia ser um Balão, etc... qualquer forma de avisar ao operador No caso em especial é esse ai que roda no Relógio do windows Alguma coisa tipo essa Ou essa ai.... Quote Link to comment Share on other sites More sharing options...
joao Posted March 16, 2020 Report Share Posted March 16, 2020 Boa tarde, teste com esta função e ajuste para o que precisa: FUNCTION ShowMsgTray(cMsg, cTit) SysRefresh() IF cMsg == NIL .OR. cTit == NIL c = GetNotifyIconData( oTray:oWnd:hWnd, 1, WM_TASKBAR, oTray:oIcon:hIcon, "", "") Shell_NotifyIcon( 1, c ) ELSE c = GetNotifyIconData( oTray:oWnd:hWnd, 1, WM_TASKBAR, oTray:oIcon:hIcon, cMsg, cTit ) Shell_NotifyIcon( 0, @c ) Shell_NotifyIcon( 1, c ) ENDIF oTray:Refresh() RETURN NIL Abraço João Alpande Quote Link to comment Share on other sites More sharing options...
marcioe Posted March 17, 2020 Author Report Share Posted March 17, 2020 Nota 1000. Funcionando Claro que eu preciso fazer alguns ajustes para a minha realidade, mas já tem um norte Quote Link to comment Share on other sites More sharing options...
marcioe Posted March 17, 2020 Author Report Share Posted March 17, 2020 Melhorei Ficou bom weiller.siqueira 1 Quote Link to comment Share on other sites More sharing options...
oliveiros Posted August 7, 2020 Report Share Posted August 7, 2020 Boa tarde! Alguém sabe qual a posição do parâmetro para controlar o som nesta função: GetNotifyIconData()? Desde já agradeço a atenção. Oliveiros Junior Quote Link to comment Share on other sites More sharing options...
joao Posted August 8, 2020 Report Share Posted August 8, 2020 Boa tarde, Tem de alterar a classe ttray \source\ttray.prg colocar NIIF_NOSOUND : nid.dwInfoFlags = NIIF_INFO | NIIF_NOSOUND; //----------------------------------------------------------------------------// #pragma BEGINDUMP #include <hbapi.h> #define _WIN32_IE 0x0501 #include <windows.h> #ifndef NIF_INFO #define NIF_INFO 0x00000010 #define NIIF_INFO 0x00000001 #endif HB_FUNC( GETNOTIFYICONDATA ) { NOTIFYICONDATAA nid; memset( &nid, 0, sizeof( NOTIFYICONDATA ) ); nid.cbSize = sizeof( NOTIFYICONDATA ); #ifndef _WIN64 nid.hWnd = ( HWND ) hb_parnl( 1 ); #else nid.hWnd = ( HWND ) hb_parnll( 1 ); #endif nid.uID = ( UINT ) hb_parnl( 2 ); nid.uFlags = NIF_INFO | NIF_MESSAGE | NIF_ICON | NIF_TIP ; nid.dwInfoFlags = NIIF_INFO | NIIF_NOSOUND; nid.uCallbackMessage = ( UINT ) hb_parnl( 3 ); #ifndef _WIN64 nid.hIcon = ( HICON ) hb_parnl( 4 ); #else nid.hIcon = ( HICON ) hb_parnll( 4 ); #endif strcpy( nid.szTip, hb_parc( 5 ) ); strcpy( nid.szInfo, hb_parc( 5 ) ); strcpy( nid.szInfoTitle, hb_parc( 6 ) ); hb_retclen( ( char * ) &nid, sizeof( NOTIFYICONDATA ) ); } #pragma ENDDUMP Quote Link to comment Share on other sites More sharing options...
rochinha Posted August 13, 2020 Report Share Posted August 13, 2020 Em 08/08/2020 at 13:20, joao disse: #ifndef NIF_INFO #define NIF_INFO 0x00000010 #define NIIF_INFO 0x00000001 #endif Fiz uma inclusão para funcionar para mim: #ifndef NIF_INFO #define NIF_INFO 0x00000010 #define NIIF_INFO 0x00000001 #endif #ifndef NIIF_NOSOUND #define NIIF_NOSOUND 0x00000010 #endif Quote Link to comment Share on other sites More sharing options...
Theotokos Posted August 14, 2020 Report Share Posted August 14, 2020 boa tarde meu caro @marcioe, vc ainda tem essa rotina de exibir msg no tray? ainda utiliza? Como minha esposa fala o não vc ja tem... então la vai... será que você poderia compartilhar a tua rotina? estou precisando de algo bem parecido com isso... Desde já meu muito obrigado!!! se quiser me enviar o email é : ronecoura@gmail.com... Quote Link to comment Share on other sites More sharing options...
rochinha Posted August 14, 2020 Report Share Posted August 14, 2020 Amiguinhos, Theotokos, não querendo tirar o mérito da resposta do marcioe devo informá-lo que a implementação é rápida e indolor( igual a aplicação de Ozônio ). Basta usar em qualquer parte do seu programa a função FUNCTION ShowMsgTray(cMsg, cTit): ... nNumeroDePedidos := 3 ShowMsgTray( "Chegaram "+strZero(nNumeroDePedidos,2)+" pedidos", "Chegada de Pedidos" ) ... Ainda terá de incluir o trecho em algum .PRG de funções do seu ambiente. #pragma BEGINDUMP #include <hbapi.h> #define _WIN32_IE 0x0501 #include <windows.h> #ifndef NIF_INFO #define NIF_INFO 0x00000010 #define NIIF_INFO 0x00000001 #endif #ifndef NIIF_NOSOUND #define NIIF_NOSOUND 0x00000010 #endif HB_FUNC( GETNOTIFYICONDATA ) { NOTIFYICONDATAA nid; memset( &nid, 0, sizeof( NOTIFYICONDATA ) ); nid.cbSize = sizeof( NOTIFYICONDATA ); #ifndef _WIN64 nid.hWnd = ( HWND ) hb_parnl( 1 ); #else nid.hWnd = ( HWND ) hb_parnll( 1 ); #endif nid.uID = ( UINT ) hb_parnl( 2 ); nid.uFlags = NIF_INFO | NIF_MESSAGE | NIF_ICON | NIF_TIP ; nid.dwInfoFlags = NIIF_INFO | NIIF_NOSOUND; nid.uCallbackMessage = ( UINT ) hb_parnl( 3 ); #ifndef _WIN64 nid.hIcon = ( HICON ) hb_parnl( 4 ); #else nid.hIcon = ( HICON ) hb_parnll( 4 ); #endif strcpy( nid.szTip, hb_parc( 5 ) ); strcpy( nid.szInfo, hb_parc( 5 ) ); strcpy( nid.szInfoTitle, hb_parc( 6 ) ); hb_retclen( ( char * ) &nid, sizeof( NOTIFYICONDATA ) ); } #pragma ENDDUMP Theotokos 1 Quote Link to comment Share on other sites More sharing options...
Theotokos Posted August 15, 2020 Report Share Posted August 15, 2020 Muito Obgdo Rochinha, mas na vdd me refiro ao app que fica no tray mesmo... e não a função que mostra a msg... essa ja consegui utilizar... queria mesmo é esse sistema que fica no tray e saber como pe feito para gerenciar o que recebe de msg... Quote Link to comment Share on other sites More sharing options...
rochinha Posted August 15, 2020 Report Share Posted August 15, 2020 Amiguinhos, Theotokos, na pasta samples do Fivewin tem o exemplo do que você necessita, procure por algo com *tray*. O exemplo permite apresentar um ícone no tray e ao clicar um menu pode ser manipulado. Show-de-Bola. Theotokos 1 Quote Link to comment Share on other sites More sharing options...
joao Posted August 16, 2020 Report Share Posted August 16, 2020 Em 13/08/2020 at 18:50, rochinha disse: Fiz uma inclusão para funcionar para mim: #ifndef NIF_INFO #define NIF_INFO 0x00000010 #define NIIF_INFO 0x00000001 #endif #ifndef NIIF_NOSOUND #define NIIF_NOSOUND 0x00000010 #endif Boa tarde amigo, aqui funciona bem sem essa alteração, mas obrigado, abraço. rochinha 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.