Laden...

Taskbaricon unter Windows 7 ändern

Erstellt von bluefisch200 vor 15 Jahren Letzter Beitrag vor 15 Jahren 5.511 Views
B
bluefisch200 Themenstarter:in
81 Beiträge seit 2008
vor 15 Jahren
Taskbaricon unter Windows 7 ändern

Aufgrund der grossen Icons in Windows 7s neuer Taskleiste, kam bei mir die Idee dass ich doch Mitteilungen meiner Applikationen gar nicht über ein Tray Icon machen muss, es wäre doch viel schöner wenn ich das Icon des Programms ändern könnte.

Lässt sich dies irgendwie anstellen?

Ach ja das Icon habe ich bis jetzt unter Resourcen mit dem Namen "NewNews.ico"

1.665 Beiträge seit 2006
vor 15 Jahren

Das ist das Icon des betroffenen Fensters.. Form.Icon?!

B
bluefisch200 Themenstarter:in
81 Beiträge seit 2008
vor 15 Jahren

Leider nein,

ich meine das hier:

3.511 Beiträge seit 2005
vor 15 Jahren

Unter den Projekteinstellungen auf den ersten Reiter Anwendung kannst du noch ein Anwendungssymbol hinterlegen. Das müsste es dann aber sein. Wobei ich mir ziemlich sicher bin, das Form.Icon eigentlich ausreichen müsste.

"Jedes Ding hat drei Seiten, eine positive, eine negative und eine komische." (Karl Valentin)

B
bluefisch200 Themenstarter:in
81 Beiträge seit 2008
vor 15 Jahren

mit this.Icon, ändert man nur das Icon des Fensters und somit das Icon einer laufenden Ungepinnten App..wenn das Ganze nun an die Taskbar gepinnt wird, wird jedoch das Icon der Exe verwendet, ich müsste also dieses ändern, oder
die App zwingen ein eigenes Icon für die Taskbar zu zeigen...

3.511 Beiträge seit 2005
vor 15 Jahren

Hast du denn mal probiert ein Icon in den Projekteinstellungen zu setzen?

"Jedes Ding hat drei Seiten, eine positive, eine negative und eine komische." (Karl Valentin)

1.665 Beiträge seit 2006
vor 15 Jahren

wenn das Ganze nun an die Taskbar gepinnt wird, wird jedoch das Icon der Exe verwendet

Wenn das so ist, dann wie khalid schon sagte. Aber das kannst du zur Laufzeit nicht mehr ändern, im Gegensatz zu Form.Icon.

B
bluefisch200 Themenstarter:in
81 Beiträge seit 2008
vor 15 Jahren

Ich weis, wie man Icons für die Applikation setzt, ich müsste das Icon wärend die App läuft ändern 😕 Mal sehen, vieleicht kommt noch irgendwas von MS wie das geht...

5.742 Beiträge seit 2007
vor 15 Jahren

Hallo bluefisch200,

Ich weis, wie man Icons für die Applikation setzt, ich müsste das Icon wärend die App läuft ändern

das würde zu großer Verwirrung seitens des Benutzers führen.
Die Icons in der neuen Windows 7 Taskbar sind ja gleichzeitig auch QuickLaunch Buttons.

Daher sehe ich keinen Sinn darin, das Icon zur Laufzeit zu ändern.

B
bluefisch200 Themenstarter:in
81 Beiträge seit 2008
vor 15 Jahren

Daher sehe ich keinen Sinn darin, das Icon zur Laufzeit zu ändern.

Es soll das Icon ja nur kurzzeitig ändern, so dass man z.B. anzeigen kann das neue Mails eingegangen sind, lad dir mal die Beta der Windows Live Suite runter, und schau wie z.B. der Messengar deinen Status darstellt...

Am besten wäre wenn nicht das Icon der exe geändert werden würde, sondern nur "überblendet", aber scheint unter .NET 3.5 noch nichts dergleichen zu haben...

3.511 Beiträge seit 2005
vor 15 Jahren

Naja, W7 bringt eine ganze Palette neuer Win32 API Methoden mit. Das diese neuen Methoden noch nicht im FW drin sind, ist ja eigentlich klar. Im FW 4.0 sieht dies wahrschienlich dann schon anders aus.

Das beste wäre es sich ein VS2010 VPC sich zu besorgen, denn da ist das SDK 7.0 drauf. Dann müsste man ein wenig in den neuen Methoden blättern. Es gibt auch auch z.B. die ProgressBar im TaskbarIcon. Diese muss man ja auch ansteuern können.

"Jedes Ding hat drei Seiten, eine positive, eine negative und eine komische." (Karl Valentin)

U
135 Beiträge seit 2009
vor 15 Jahren

Hi,

ich denke, dass die Overlay Icons für Dich interessant sein könnten. Deren Zweck ist es, dem User zu signalisieren, dass in der Anwendung grade etwas passiert ist. Über das Framework kommst du damit natürlich (noch) nicht zum Ziel, aber probier's doch mal mit folgender Win32-API:

HRESULT SetOverlayIcon (HWND, hwnd, HICON hIcon);

Was die Fortschrittsanzeige angeht:


HRESULT SetProgressState(HWND hwnd, TBPFLAG tbpFlag);
HRESULT SetProgressValue(HWND hwnd, ULONG ulCompleted, ULONG ulTotal);

Gruß
Ben

946 Beiträge seit 2008
vor 15 Jahren

Khalid hat in der Zwischenzeit einen Wrapper gebastelt, inklusive Beispielanwendung, welche genau das macht: Windows 7: Taskbar (ProgressBar, OverlayIcon)
Die Progressbar sollte man dann aber über einen Timer lösen 😉

mfg
SeeQuark

U
135 Beiträge seit 2009
vor 15 Jahren

Ahh sehr fein, danke für den Hinweis =)