Icon in Taskleiste

anyany

Mitglied
Hi, es wurde bestimmt schon 1000mal gefragt, aber anscheinend stell ich mich zu blöd an und das zu finden. Also wie bekomm ich das Programmicon in die Taskleiste so ,dass das Fenster minimiert wenn ich auf den Knopf drücke, das Programm in der Taskleiste nichtmehr sehe und das es ist in der Taskleiste erscheint. Bei erneutem drücken auf das Icon soll das Programm wieder aufgehen.
 
Dazu nur eins: HÄ?

Ich versteh deine Frage nicht, bitte stell sie nochmals und diesmal noch ausführlicher. So kann ich mir nichts darunter vorstellen.


Der Doc!
 
Also, ich hab ein kleines Programm geschrieben, was zählt wie oft ich eine Taste drücke und nun möchte ich gerne das wenn man auf den Minimierbutton drückt, das Fenster sich minimiert in der Taskleiste verschwindet und nornoch als kleines Symbol unten rechts in der Symbolleiste sieht. Beim erneuten drücken des Symbols soll es dann wieder auf dem Bildschirm und in der Taskleiste angezeigt werden.
 
Gut, danke soweit, hat funktioniert. Jetzt hab ich aber ein neues Problem. Ich will ja die Tastendrücke zählen und den Leuten verschiedene Optionen geben womit man Tastenbereich per Checkbox auswählen kann, von daher hab ich die Labels in Frames gesetzt. Den Tastendruck erkennt er wie folgt:
Code:
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
  Select Case KeyCode
    Case vbKeyA
      a
und das halt für jede Taste. Die Subs zu jeder Taste sehen wie folgt aus:
Code:
Sub a()
azahl = azahl + 1
lblazahl.Caption = azahl
End Sub
so mein Problem ist es jetzt, wenn ich den Startknopf drückt, der das Fenster im Hintergrund laufen lässt, dann läuft es zwar im Hintergrund, aber er zählt die Tastendrücke nicht. Am besten wäre es wenn ihr mir sagt wie ich meine Variante verbessern kann und nich sagt es gibt eine bessere Variante, weil ich wills so probieren.
 
Gut gut, soweit funktioniert es, doch jetzt hab ich ein neues Problem. Ich hab jetzt folgendes: Wenn ich irgendein Knopfdrücke dann addiert er bei dem entsprechenden Label eine eins dazu.
Code:
If mau = 0 Then mau0 = mau0 + 1: mauslin.Caption = mau0
Mein Problem ist jetzt, dass wenn ich die Taste gedrückt halte das er immer weiter zählt bis ich die Taste wieder loslassen, aber ich haette es gerne so das er eins dazu addiert nachdem ich die Taste losgelassen hab. Ist das irgendwie möglich?
 
Da musst du dir selbst was basteln (bzw. hab ich gemacht).

Das System selbst zählt so lange, wie du die Taste gedrückt hältst. Im Code unten frag ich daher ab, ob die Taste (in meinem Fall A) gedrückt ist. Wenn ja, wird ein Flag gesetzt und der counter erhöht. Wenn im nächsten Durchlauf die Taste noch immer gedrückt ist wird sie anhand des Flag nicht angenommen. Das Flag wird erst gelöscht, wenn die Taste losgelassen wurde.

Ist etwas komplex ich weiß, ist aber noch viel Platz für Verbesserungen durch dich. DU kannst auch im Web nach "Keylogger" suchen, die arbeiten nach dem gleichen Prinzip.

Hier der Code:
Visual Basic:
 Dim Result As Integer, DoEscape As Integer, Pressed As Boolean, cnt As Long
 Do
  Result = GetAsyncKeyState(vbKeyA)
  DoEscape = GetAsyncKeyState(vbKeyEscape)
  If Result = -32767 Then
   If Pressed = False Then
    Pressed = True
    cnt = cnt + 1
    Me.Caption = "Anschlag: " & cnt
   End If
  Else:
   Pressed = False
  End If
  DoEvents
 Loop Until DoEscape = -32767


Der Doc!
 
Also, ich habs getestet, bei mir hat er nur einzelne gezählt. Schick mir mal dein Projekt, eventuell muss mein Code angepasst werden.


Der Doc!
 
Zurück