Konsolen-Fenster
-
Hallo Leute,
wenn ich auf Minimieren klicke, soll die win32-console minimiert werden und
soll unten rechts, wo z.B. das Icon-Netzwerk bzw. die Uhrzeit steht, angezeigt
werden. Gibt es da eine Loesung?Gruss Olli.
-
Mit einer DOS-Konsole dürfte das etwas schwierig werden (normale Konsolenprogramme haben keine Ahnung davon, daß sie in einem Fenster ablaufen und daß es dort unten eine Taskleiste gibt).
Du könntest es aber mal mit der (WinAPI) Funktion Shell_NotifyIcon probieren.
-
Auf jeden Fall wirst du ohne die WinAPI nicht weit hüpfen, ich werd dich mal ins WinAPI-Forum verschieben

MfG SideWinder
-
Dieser Thread wurde von Moderator/in SideWinder aus dem Forum DOS und Win32-Konsole in das Forum WinAPI verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Es waere erstmal möglich, aber wenn man mit der Maus auf das Icon
bzw. ueberhaupt auf die Taskleiste zeigt, verschwindet das Icon.
Naja ein versuch war es wert...#include <windows.h> #include <conio.h> HINSTANCE hIns; HICON hIcon; /* Ermitteln der HINSTANCE */ HINSTANCE GetMyHinstance(VOID) { MEMORY_BASIC_INFORMATION mbi; VirtualQuery((PVOID)GetMyHinstance, &mbi, sizeof(mbi)); return((HINSTANCE)mbi.AllocationBase); } /* Icon in die Task-Leiste ein/austragen. */ void IconTask(HWND hwnd, BOOL flag) { NOTIFYICONDATA tsym; ZeroMemory(&tsym, sizeof (NOTIFYICONDATA)); /* Icon setzen. */ if (flag) { tsym.cbSize = sizeof (NOTIFYICONDATA); tsym.hWnd = hwnd; tsym.uID = 0; tsym.uFlags = NIF_ICON | NIF_TIP | NIF_MESSAGE; tsym.uCallbackMessage = 0; tsym.hIcon = hIcon; strcpy (tsym.szTip, "Win32-Konsole"); Shell_NotifyIcon (NIM_ADD, &tsym); } /* Icon entfernen. */ else { tsym.cbSize = sizeof (NOTIFYICONDATA); tsym.hWnd = hwnd; tsym.uID = 0; tsym.uFlags = 0; Shell_NotifyIcon (NIM_DELETE, &tsym); } return; } int main(void) { /* Eigene Instanz holen. */ hIns = GetMyHinstance(); /* Icon laden. */ hIcon = (HICON)LoadImage (hIns, "icon1.ico", IMAGE_ICON, 0, 0, LR_LOADFROMFILE); /* Icon in Task-Leiste setzen. */ IconTask((HWND)hIns, TRUE); while(1) { /* Warten auf Tastenschlag. */ if (kbhit()) break; } /* Icon aus der Task-Leiste entfernen. */ IconTask((HWND)hIns, FALSE); return(FALSE); }Gruss Olli.