Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Taskleistensymbol ändern

Frage Entwicklung Visual Studio

Mitglied: ahstax

ahstax (Level 2) - Jetzt verbinden

06.02.2014, aktualisiert 07.02.2014, 3740 Aufrufe, 14 Kommentare, 7 Danke

Hallo,

lässt sich das Taskleistensymbol eines Programms im laufenden Betrieb, bspw als Reaktion auf ein Ereignis, ändern?
Wenn ja, wie und wo?

Neugierige Grüße,
Andreas

(VB 2010 Express, dotnet 4, Win7)



Mitglied: colinardo
LÖSUNG 06.02.2014, aktualisiert 07.02.2014
Hall Andreas,
von deinem eigens programmierten Programm oder von einem anderen Prozess ? Das erstere ist problemlos möglich.
Dazu fügst du z.B. das Icon deinen Visual Studio Projekt-Resourcen (Rechtsklick im Solution Explorer auf deine Anwendung > Eigenschaften > Resourcen) hinzu und machst dann im entsprechenden Event oder Prozedur eine Zeile wie diese hier, um das Icon im laufenden Betrieb zu wechseln (VB.Net):
NotifyIcon1.Icon = My.Resources.MyNewIcon
oder das Icon alternativ von einem Pfad laden und dann der jeweiligen Eigenschaft zuweisen:
 Dim ic As New Icon("D:\MyNew.ico")
Grüße Uwe
Bitte warten ..
Mitglied: ahstax
06.02.2014, aktualisiert um 16:20 Uhr
Hallo Uwe,

Das Icon von einem von mir programmierten Programm soll sich ändern.
Für meine Belange könnten zwei Icons vorgehalten werden, die entsprechend der aktuellen Situation angezeigt werden. Oder das eine hinterlegte Icon wird durch eine Farbe ersetzt. Oderoderoder...

Nur der Vollständigkeit halber: Gemeint ist der Bereich zwischen der Windows-Kachel und der Uhr. (Ist das die Taskleiste...?)

Grüße,
Andreas
Bitte warten ..
Mitglied: colinardo
LÖSUNG 06.02.2014, aktualisiert 07.02.2014
Zitat von ahstax:
Nur der Vollständigkeit halber: Gemeint ist der Bereich zwischen der Windows-Kachel und der Uhr. (Ist das die
Taskleiste...?)
hab ich verstanden. Das Steuerelement NotifyIcon setzt ein Icon in den Traybereich von Windows. Dessen Eigenschaft Icon kannst du problemlos in deinen Events ändern...
Bitte warten ..
Mitglied: ahstax
06.02.2014 um 16:27 Uhr
Bitte entschuldige die Nachfrage...
Ich bin davon ausgegangen, dass das NotyfyIcon im Infobereich der Taskleiste angezeigt wird. Bewirkt dessen Änderung auch die Änderung auch die Änderung des Taskleistensymbols?
Bitte warten ..
Mitglied: colinardo
LÖSUNG 06.02.2014, aktualisiert 07.02.2014
Zitat von ahstax:
Ich bin davon ausgegangen, dass das NotyfyIcon im Infobereich der Taskleiste angezeigt wird. Bewirkt dessen Änderung auch die
Änderung auch die Änderung des Taskleistensymbols?
nein, dazu musst du das Icon der Haupt-Form ändern ...
Me.Icon = ......
Bitte warten ..
Mitglied: ahstax
07.02.2014 um 08:52 Uhr
Perfekt, wie immer!

Herzlichen Dank!
Bitte warten ..
Mitglied: ahstax
07.02.2014 um 13:58 Uhr
Interessanter Effekt...
Im Debugmodus funktioniert das Ändern des Icons.
In dem compilierten Programm (\bin\release\) auch.
Kopiere ich den kompletten Inhalt aus \bin\release\ an einen anderen Speicherort, funktioniert es nicht mehr.

Die zu verwendenden Icons sind in dem Ordner \bin\release\, der Pfad wird erkannt durch
System.Windows.Forms.Application.StartupPath & "\Icon.ico"

Könnte das an meinem Code liegen? Oder an Windows?
Bitte warten ..
Mitglied: colinardo
LÖSUNG 07.02.2014, aktualisiert um 14:24 Uhr
muss an deinem Code liegen... hier geht das einwandfrei. Benutze mal anstatt System.Windows.Forms.Application.StartupPath das hier:
My.Application.Info.DirectoryPath & "\Icon.ico"
oder
Application.StartupPath & "\Icon.ico"
Bitte warten ..
Mitglied: ahstax
07.02.2014 um 14:18 Uhr
Gleicher Effekt...
Das NotifyIcon wird geändert... Das TaskleistenIcon nicht. Das Icon, das am Form angezeigt wird hingegen schon. Könnte es am Windows liegen?

Hier mal ein Code-Ausschnitt:

01.
    Public strIconOK As String = My.Application.Info.DirectoryPath & "\PingPong1.ico" 
02.
    Public icoIconOK As Icon = New Icon(strIconOK)
01.
        Dim vPing As New Ping 
02.
        Dim vPingReply As PingReply = vPing.Send(txtBoxIP2Ping2.Text) 
03.
 
04.
        System.Windows.Forms.Application.DoEvents() 
05.
 
06.
        If vPingReply.Status.ToString = "Success" Then 
07.
            vPing.Dispose() 
08.
            pnlStatus.BackColor = Color.YellowGreen 
09.
 
10.
            Me.Icon = icoIconOK 
11.
            NotifyIcon1.Icon = icoIconOK 
12.
 
13.
            Me.Refresh() 
14.
            Threading.Thread.Sleep(250) 
15.
            intSuccess += 1 
16.
            bolSuccess = True 
17.
         Else 
18.
            vPing.Dispose() 
19.
            pnlStatus.BackColor = Color.DarkRed 
20.
            intFail += 1 
21.
        End If
Noch eine ergänzende Frage:
Während der Ping läuft (fällt vor allem auf, wenn es ein Timeout gibt), reagiert die Form vorübergehend auf keine Benutzereingaben mehr. Programmierfehler?
Bitte warten ..
Mitglied: colinardo
LÖSUNG 07.02.2014, aktualisiert um 14:56 Uhr
Zitat von ahstax:
Noch eine ergänzende Frage:
Während der Ping läuft (fällt vor allem auf, wenn es ein Timeout gibt), reagiert die Form vorübergehend auf
keine Benutzereingaben mehr. Programmierfehler?
jetzt ist es mir klar, das hängt beides zusammen! Nutze für so etwas einen BackgroundWorker oder arbeite hier mit Threads, und vergesse DoEvents !!!! Ganz klarer Programmierfehler ...
Bitte warten ..
Mitglied: ahstax
07.02.2014, aktualisiert um 14:56 Uhr
OK, deutliche Worte...!
(Ist mir aber lieber als ein "komisches, nicht erklärbares" Problem)
Ran ans Werk...

Tagt das was?
Bitte warten ..
Mitglied: colinardo
LÖSUNG 07.02.2014, aktualisiert um 15:09 Uhr
Zitat von ahstax:
Tagt [https://www.vb-paradise.de/allgemeines/tipps-tricks-und-tutorials/windows-forms/61500-multithreading-mit-backgroundworker/
das] was?
für den Anfang ja, wenn du das verstanden hast schaust du dir mal Delegates und Update UI with Delegates an
Bitte warten ..
Mitglied: colinardo
LÖSUNG 07.02.2014, aktualisiert 10.02.2014
Hab dir mal ein Beispiel-Projekt dazu gemacht damit du schneller nachvollziehen kannst, wie das mit Threads und UI-Delegate so funktioniert:
PingTestThreading (VS2010 Project)

Viel Erfolg
Grüße Uwe
Bitte warten ..
Mitglied: ahstax
10.02.2014 um 08:59 Uhr
Herzlichen Dank!!!!

Den Backgroundworker hab ich in Gang gebracht. Das Taskleisten-Icon verweigert weiter die Zusammenarbeit. Dein Beispiel werde ich mir dazu gleich ansehen!
Bitte warten ..
Neuester Wissensbeitrag
Festplatten, SSD, Raid

12TB written pro SSD in 2 Jahren mit RAID5 auf Hyper-VServer

Erfahrungsbericht von Lochkartenstanzer zum Thema Festplatten, SSD, Raid ...

Ähnliche Inhalte
Erkennung und -Abwehr
Lokale Virenprüfstation : Windows 10: Ändern von Einstellungen verhinden (5)

Frage von TryAndSolve zum Thema Erkennung und -Abwehr ...

Windows Server
gelöst Word 2010 : Absatz - Abstand per GPO ändern (3)

Frage von johanna-p zum Thema Windows Server ...

Exchange Server
Exchange 2013, Outlook 2010 Standard-Absendeadresse ändern (4)

Frage von ingoue zum Thema Exchange Server ...

E-Mail
gelöst GMail: Anzeige der Mailübersicht ändern (7)

Frage von honeybee zum Thema E-Mail ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (34)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...