2010-10-04 16 views
6

cómo hacer que el programa C# sea "Todo el tiempo" en la barra de tareas?cómo hacer que el programa esté en las ventanas de la barra de tareas-CE

quiero crear un programa de teclado.

necesito que cuando abro el dispositivo el programa se abrirá y estará en la barra de tareas.

otra pregunta es, cuando tengo un programa externo que tiene un cuadro de texto, cómo

para hacer que cuando se presiona cualquier tecla en mi C# Teclado será en el campo respectivo externa?

de agradecimiento de antemano

+0

Por barra de tareas, ¿te refieres a la bandeja del sistema? En cuanto a la barra de tareas http://www.coolnerds.com/XP/Taskbar/xpTaskbar.htm>, un proyecto de formulario de Windows C# se mostrará de forma predeterminada en la barra de tareas de Windows. –

+0

@Michael: este es Windows CE, no XP. – ctacke

+0

Sí, el solicitante notó que en mi publicación y lo corrigí ... gracias –

Respuesta

6

No está implementado en la FQ, pero la clase NotifyIcon es lo que está buscando. The SDF hace implement it. Se usaría algo como esto:

m_notifyIcon = new NotifyIcon(); 
m_notifyIcon.Icon = this.Icon; 
m_notifyIcon.Visible = true; 
m_notifyIcon.Click += new EventHandler(m_notifyIcon_Click); 
m_notifyIcon.DoubleClick += new EventHandler(m_notifyIcon_DoubleClick); 

EDITAR

Si desea implementar esto por sí mismo, el lugar para comenzar es con la API Shell_NotifyIcon. Deseará pasarle el control a MessageWindow class y manejar los mensajes WM_NOTIFY.

+0

gracias por la ayuda, pero ¿hay alguna muestra gratis? – Gold

+0

SDF Community Edition es de uso gratuito y se distribuye. El código anterior lo usa y es gratis. ¿Cuánto más libre estás después? – ctacke

+0

¿Es posible adaptar para eliminar un ícono dejado por * otra * aplicación? – AlainD

2

para crear una aplicación de la bandeja del sistema en Windows-CE, poner un poco de código como:

CSystemTray m_TrayIcon; // Member variable of some class 

... 
// in some member function maybe... 

m_TrayIcon.Create(pParentWnd, WM_MY_NOTIFY, "Click here", 
        hIcon, nTrayIconID); 

Ej. Para un icono de la bandeja no MFC, haga lo siguiente:

Collapse 
CSystemTray m_TrayIcon; // Member variable of some class 

... 
// in some member function maybe... 

m_TrayIcon.Create(hInstance, NULL, WM_MY_NOTIFY, 
        "Click here", hIcon, nID); 

// Send all menu messages to hMyMainWindow 

m_TrayIcon.SetTargetWnd(hMyMainWindow); 

Como se encuentra aquí:

http://www.codeproject.com/KB/shell/systemtray.aspx

Para crear una aplicación de bandeja del sistema en Windows XP o Windows 7/Vista, poner un poco de código como esta en su proyecto:

private void Form1_Resize(object sender, System.EventArgs e) 
{ 
    if (FormWindowState.Minimized == WindowState) 
     Hide(); 
} 

y esto para manejar la bandeja del sistema, haga clic en

private void notifyIcon1_DoubleClick(object sender, 
            System.EventArgs e) 
{ 
    Show(); 
    WindowState = FormWindowState.Normal; 
} 

Esto y más información en:

http://www.developer.com/net/net/article.php/3336751/C-Tip-Placing-Your-C-Application-in-the-System-Tray.htm

+0

trabajo en Windows-CE, ¿funcionará? – Gold

+0

gracias por la ayuda, pero no funciona en Windows-CE – Gold

Cuestiones relacionadas