Hilfe suche nach einem Bild in der Imglist
- VB.NET
Sie verwenden einen veralteten Browser (%browser%) mit Sicherheitsschwachstellen und können nicht alle Funktionen dieser Webseite nutzen.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
Es gibt 67 Antworten in diesem Thema. Der letzte Beitrag () ist von Dfgpoint.
-
-
Nun, wenn es Dein Programm schafft, in 1-2 Sekunden alle Prozesse auf dem Zielcomputer aufzulisten, dann ok. Dank der vielen Prozesse, bei denen mir der Zugriff verweigert wird, fliegen bei mir die Exceptions nur so um die Ohren, sodass der Auflistungsprozess knapp 7 sec dauert.
Dass Du Timer benutzt, stell ich ja nicht infrage, sondern nur: warum 2 und nicht all in one? Wie gefragt: brauchst Du überhaupt eine visuelle Prozessauflistung in einem ListView? (ListView: da gehen bei RfG bestimmt gleich die Alarmsirenen los. Stichwort Pixxxas ... )
Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.
Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln. -
Hab jetzt nicht komplett mit gelesen, aber ich täte das wohl so machen
Beim ermitteln des Prozess Icons dieses direkt vergleichen. Wenns nen Treffer gibt die Schleife beenden denn, wozu noch den Rest durch gehen? Dies würde ich über einen(!) Timer (1 mal die Minute oder so) steuern.
Die Auflistung in einem Control würde ich weg lassen. Denn eigentlich ist es für das Programm egal welche Prozesse sonst noch gefunden werden. Ohne die Anzeige in den Controls kann ich dann wunderbar das Ding asynchron (Await/Async) starten"Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."
Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
Wie man VisualStudio nutzt? => VisualStudio richtig nutzen -
@mrMo: Hast nicht viel verpasst, aber Dein Post ist eine gute Zusammenfassung der 42 Posts.
btw: Wozu asynchron? Das Programm des TE hat eigentlich nur die Aufgabe, den Zielprozess zu finden; soll ja sonst versteckt im Hintergrund laufen. Welchen Vorteil ergibt in Deinen Augen hier die Nebenläufigkeit?Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.
Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln. -
VaporiZed schrieb:
soll ja sonst versteckt im Hintergrund laufen. Welchen Vorteil ergibt in Deinen Augen hier die Nebenläufigkeit?
Achso, na dann kann man das vermutlich weg lassen"Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."
Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
Wie man VisualStudio nutzt? => VisualStudio richtig nutzen -
Dfgpoint schrieb:
Und nein dieses Programm welches gesucht werden soll schaut auch immer gleich aus.
Das Problem ist nur es ändert immer denn Prozess Namen kann also nur Per Icon gefunden werden.
Wie soll denn ein Programm seinen Prozessnamen ändern?
Benennt sich das Programm selbst um?
Wie wird es denn dann gestartet?
=====
VaporiZed schrieb:
====
DasListView
hab ich mal ignoriert.Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch
Ein guter .NET-Snippetkonverter (der ist verfügbar).
Programmierfragen über PN / Konversation werden ignoriert! -
@RodFromGermany: Der direkte Farbvergleich war natürlich auch mein erster Weg. Der Punkt ist nur, dass beim Image-Abspeichern in ein Bitmapformat mir die Transparenzwerte flöten gehen, die im Icon noch drin sind. Letztenendes funktioniert der Vergleich nur dann, wenn man die Alphawerte ignoriert. Ggf. könnte man das Bild anders abspeichern, aber ich hatte andere PrioritätenDieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.
Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln. -
VaporiZed schrieb:
Ggf. könnte man das Bild anders abspeichern
macht Sinn, zumal die Icons oft genug in die Hand genommen werden.Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch
Ein guter .NET-Snippetkonverter (der ist verfügbar).
Programmierfragen über PN / Konversation werden ignoriert! -
@RodFromGermany Naja ganz einfach Der nenne wir es mal Hack erstellet eine Random benannte datei in einen Random genannten Ordner zum Beispiel : fqwf44qw5234fe.exe | ewqfwefw323431.exe etc...
Da jedoch das Icon immer gleich bleibt ist mir diese Idee eingefallen ^^.
Das einzigste Programm was ich jetz habe ist wie mein Programm das Gefundene Iteam aus der imgliest dem Prozess in der Listview anzeigt damit ich dann diese random .exe vernichten kann. -
@Dfgpoint OHa.
Ich versuche zu interpretieren:
Du bekommst permanent per Trojaner Exen untergeschoben, die im Namen und Pfad variieren, aber stets dasselbe Icon haben.
==== Anmerkung: Dieser Zustand ist unhaltbar. =====
Dieses Icon hast Du extrahiert und vorrätig und Du willst alle Exen killen, die dieses Icon haben.
OK.
Feddich.Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch
Ein guter .NET-Snippetkonverter (der ist verfügbar).
Programmierfragen über PN / Konversation werden ignoriert! -
-
Dfgpoint schrieb:
Jedoch was füge ich nun bei Das Icon ein Die PicBox oder my.compute....
NixListView
schmeiß das raus.
Mach das gleich in der 1. Timer-Schleife.
Und das Protokoll machst Du in eineListBox
.
Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch
Ein guter .NET-Snippetkonverter (der ist verfügbar).
Programmierfragen über PN / Konversation werden ignoriert! -
Jetz bin ich ganz raus...
Also denn Code füge ich in denn Timer1 ein oder?
VB.NET-Quellcode
- Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
- For Each proc As Process In Process.GetProcesses
- Try
- ImgList.Images.Add(Icon.ExtractAssociatedIcon(proc.MainModule.FileName))
- Dim lvi As New ListViewItem(proc.ProcessName, ImgList.Images.Count - 1)
- lvi.SubItems.Add(proc.MainModule.FileName)
- ListView1.Items.Add(lvi)
- Catch ex As Exception
- End Try
- Next
- For Each prc In GetAlleProcesse()
- If prc.HasIcon(My.Resources.ddd) Then
- Protokoll(prc)
- Kipp(prc)
- End If
- Next
- End Sub
For Each prc In GetAlleProcesse() Wird mir jedoch als Fehler angezeigt.... -
Dfgpoint schrieb:
Jetz bin ich ganz raus
Schmeiß allen Code weg und fang neu an.
Du brauchst keine ImageList!
Du brauchst kein ListView!
Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch
Ein guter .NET-Snippetkonverter (der ist verfügbar).
Programmierfragen über PN / Konversation werden ignoriert! -
-
Dfgpoint schrieb:
so aussehen?RodFromGermany schrieb:
Gib den Namen die Hülle, die das tut, wie die Hülle heißt.Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch
Ein guter .NET-Snippetkonverter (der ist verfügbar).
Programmierfragen über PN / Konversation werden ignoriert! -
-
Dfgpoint schrieb:
Versteh nicht was was du meinstRodFromGermany schrieb:
ForEach prc in GetAlleProcesse()
korrekt inProcess.GetProcesses()
übertragen.
' kein Quellcode
besagt, dass das folgende kein compilierbarer Code, sondern Pseudocode ist. Wird Dir hier im Forum öfter begegnen.If prc.HasIcon(DAS_ICON) Then
wird zu einer Funktion, die aus dem Prozess das Icon extrahiert und es mit dem vorgegebenen Icon vergleicht, steht bereits in Deinem Code.Protokoll(prc)
ist eine Prozedur, die Dir meldet, dass der böse Prozess identifiziert wurde => z.B. Eintrag in eine ListBox.Kill(prc)
tut was zu tun ist, um den Störenfried rauszuschmeißen.
Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch
Ein guter .NET-Snippetkonverter (der ist verfügbar).
Programmierfragen über PN / Konversation werden ignoriert! -
RodFromGermany schrieb:
Dfgpoint schrieb:
Versteh nicht was was du meinstRodFromGermany schrieb:
ForEach prc in GetAlleProcesse()
korrekt inProcess.GetProcesses()
übertragen.
' kein Quellcode
besagt, dass das folgende kein compilierbarer Code, sondern Pseudocode ist. Wird Dir hier im Forum öfter begegnen.If prc.HasIcon(DAS_ICON) Then
wird zu einer Funktion, die aus dem Prozess das Icon extrahiert und es mit dem vorgegebenen Icon vergleicht, steht bereits in Deinem Code.Protokoll(prc)
ist eine Prozedur, die Dir meldet, dass der böse Prozess identifiziert wurde => z.B. Eintrag in eine ListBox.Kill(prc)
tut was zu tun ist, um den Störenfried rauszuschmeißen.
Ahh ok
Also ist das so gemeint oder ? -
Dfgpoint schrieb:
oder ?
Gemeint ist:
Hat das Fenster des Prozesses prc das böse Icon.
Da kann als Parameter nur das böse Icon reingehen.
Die von Dir zu schreibende bzw. bereits vorhandene Prozedur holt das Icon aus dem übergebenen Prozess und vergleicht beide.Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch
Ein guter .NET-Snippetkonverter (der ist verfügbar).
Programmierfragen über PN / Konversation werden ignoriert!
-
Ähnliche Themen
-
Gugi - - Tools / Hilfsprogramme
-
Vb K1ng - - Sonstige Problemstellungen