Programme die in der Taskleiste liegen verstecken?
-
Was wollt ihr eigentlich, ihr dummen Stinker?! Natürlich hat der Idiot WebFritzi mal wieder recht! Das geht nicht!
-
Das ganze ist natürlich irgenwie möglich, sieht man doch bei vielen anwendungen. es geht darum dass kein button in der taskleite für das programm dort ist. nix mit den shell icons , so wie ich des verstanden habe.
Udn hörts verdammt nochmal mit dem kindischen scheiß auf, es kotzt einem nur noch an. Wir sind hier schliueßlich in einem fachforum
-
Nein, es geht darum das TrayIcon einer fremden Anwendung zu verstecken, das hat er zumind. am Anfang gesagt

-
Original erstellt von Nitromaus:
Das ganze ist natürlich irgenwie möglich, sieht man doch bei vielen anwendungen. es geht darum dass kein button in der taskleite für das programm dort ist.Nein! Das geht mit WS_EX_TOOLWINDOW und SetWindowLongPtr(). Aber es geht um ShellIcons, und das ist IMHO nicht möglich!
-
das geht doch (Shell Extension Handlers)!!!
-
Das mit den Shell Extension Handlers peil ich nich....kann das mal bitte wer erklären oda wenn wer nix zu tun hat ein beispiel proggen?

-
Kein ernstzunehmender Windowsprogrammierer verwendet die Floskel "Das geht nicht"!

Ich habe diese Aufgabenstellung jetzt in unser Forum übernommen und bin gespannt auf die Reaktion.
-
Wenn es um ein spezelles Programm geht, reicht es wenn Du das Fensterhandle hast und die Icon-ID kennst. Hast Du beides, kannst Du mit dem Icon machen was Du willst.
-
es sei denn, du heißt WebFritzi - dann kannst du nix!
-

-
Jo das mit der ID dacht ich mir auch schon, aber wie komm ich an die?

-
Na, ich bin ja mal gespannt, in was ihr da reinrennt...
Das wird garantiert wieder ein 5-Seiten-Thread, bei dem nix rumkommt. 
-
Das Naheliegenste ist die Trail and Error Methode:
HWND hwnd = FindWindow("systray_class", NULL); NOTIFYICONDATA nd; nd.cbSize = sizeof(NOTIFYICONDATA); nd.hWnd = hwnd; nd.hIcon = LoadIcon(NULL, IDI_EXCLAMATION); nd.uFlags = NIF_TIP | NIF_ICON; strcpy(nd.szTip, "Patched!"); if (hwnd == NULL) return; for (int i=0; i<0xFFFF; i++) { nd.uID = i; if (Shell_NotifyIcon(NIM_MODIFY, &nd)) { break; } }
-
Nice Purrl NICE!!! Genau das selbe hab ich auch schon probiert nur leider hab ich net beachtet dass das Hexzahlen waren ich depp (die ID)
-
Original erstellt von <Purll Amopp>:
Trail and Error MethodeAha.
*lol* Dein "Programm" versagt schon in der ersten Zeile.

-
Also bei eigenen Programmen funktioniert der Code super, aber bei manch fremden scheint der die ID nich zu finden! Kann die ID auch außerhalb 0xFFFF liegen? Was is die Grenze?
Kevin
-
hab kein plan wie das geht, aber es muss möglich sein denn es gibt ja solche programme, die andere zum tray machen ! Ka wie diese heissen, aber wenn du bei google suchst findest du sicher eins @WebFritzi
-
Mit Source:
http://www.mlin.net/TraySaver.shtml
-
Die ID ist ein 32Bit Wert, geht also bis 0xFFFFFFFF. Aber ich wollte es nicht gleich übertreiben.

Wenn Du es ausprobieren willst solltest du nicht vergessen i als unsigned zu deklarieren.
-
gib mal einer nen link