Möchte eine Anwendung ohne das ein Button in der Taskbar erscheint programmieren. So wie es z.B. WinAmp (MP3Player)macht. Wie kann ich diesen Button ausschalten???
Announcement
Collapse
No announcement yet.
Anwendung ohne TaskBar-Button !
Collapse
X
-
Hi
Hoffentlich es bringt dich weiter.
( Kompilieren kannst du mit "C:>cl FileName.c user32.lib shell32.lib")
<PRE>
#include <windows.h>
NOTIFYICONDATA nid;
HICON hIcon;
LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg,
WPARAM wParam, LPARAM lParam)
{
switch(uMsg)
{
case WM_CREATE:
/* Init NOTIFYICONDATA */
nid.cbSize = sizeof(nid);
nid.hWnd = hWnd;
nid.uID = 1;
nid.uFlags = NIF_ICON | NIF_MESSAGE | NIF_TIP;
nid.uCallbackMessage = WM_USER;
strcpy(nid.szTip, "Test Info");
nid.hIcon = hIcon;
Shell_NotifyIcon(NIM_ADD, &nid);
break;
case WM_USER:
if ((UINT)lParam == WM_LBUTTONUP)
{
if(MessageBox(hWnd,"Mochten sie das Programm beenden?","Test Programm",MB_YESNO) == IDYES)
{
Shell_NotifyIcon(NIM_DELETE, &nid);
exit(1);
}
}
break;
}
return DefWindowProc(hWnd, uMsg, wParam, lParam);
}
int PASCAL WinMain (HINSTANCE hInst,HINSTANCE hPrev ,LPSTR pszCmdLine,int nCmdShow)
{
HWND hWnd;
MSG msg;
DWORD dError;
WNDCLASS wndClass;
/* Load Icon */
hIcon=LoadIcon(NULL,IDI_INFORMATION);
/* Create Dummy Windows */
memset(&wndClass, 0, sizeof(wndClass));
wndClass.lpfnWndProc = WndProc;
wndClass.lpszClassName = "WinClassTest";
if (!RegisterClass(&wndClass))
return FALSE;
hWnd=CreateWindow("WinClassTest", "Test",WS_OVERLAPPEDWINDOW,CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hInst, NULL);
if(!hWnd)
{
dError=GetLastError();
}
ShowWindow(hWnd,SW_HIDE);
while (GetMessage(&msg, NULL, 0, 0))
DispatchMessage(&msg);
return 0;
}
</PRE>
Gruss Marti
Comment