Thema Datum  Von Nutzer Rating
Antwort
29.07.2021 19:05:04 Gast77500
NotSolved
29.07.2021 19:29:00 Gast58181
NotSolved
29.07.2021 19:55:10 Gast96959
NotSolved
29.07.2021 21:36:22 Gast3133
NotSolved
30.07.2021 16:37:59 Gast39012
NotSolved
30.07.2021 21:40:04 Gast44646
NotSolved
30.07.2021 21:48:10 Gast44646
NotSolved
30.07.2021 23:45:56 Gast95573
NotSolved
Rot subclassing - bzw. Windows API allgemein
31.07.2021 10:06:37 Gast70847
NotSolved
31.07.2021 15:37:35 Gast42315
NotSolved
31.07.2021 17:45:10 volti
NotSolved
09.08.2021 21:23:53 Gast83808
NotSolved

Ansicht des Beitrags:
Von:
Gast70847
Datum:
31.07.2021 10:06:37
Views:
528
Rating: Antwort:
  Ja
Thema:
subclassing - bzw. Windows API allgemein

Hallo,

für das Numlock-Problem habe ich mir die u.a. Function gemacht. Alternativ noch eine SendKeys-Version über die Shell. Ob dies Dein Problem löst, weiß ich natürlich nicht.

Weitere Alternative ist die API-Funktion: keybd_event

Steuern von Fremdprogrammen, die keine passende Schnittstelle haben, hatte ich jahrelang erfolgreich mit meinem "virtuellen Mitarbeiter" realisiert. einer Kombination aus Mausklicks, Tastenanschlägen und vor allem, wenn vorhanden, Direktplatzierungen über die Fenster-IDs durch die Win-API.

Dazu braucht man aber zunächst enen Windowspy-Programm zum Ermitteln der IDs....

Aber Du willst die API ja nicht nutzen.

PS: Wenn man weiß was man tut oder unkritische Funktionen wie zum Beispiel die u.a.verwendet, funktioniert de Nutzung der WIN-API sehr gut.

Die o.a. Aussage zum dauerhaften Zerschießen des Systems halte ich daher für überzogen.

Code:
 
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 
Private Declare PtrSafe Function GetKeyboardState Lib "user32" ( _
        pbKeyState As ByteAs Long

Sub TestSendKeys()
  SendMyKeys "^v"
End Sub

Sub SendMyKeys(Was As String)
' Nummernblockeinstellung merken, SendKeys abschicken,
' Nummernblock ggf. wiederherstellen
' GetKeyboardState Keys(0) Keyboard-Array füllen
  Dim Keys(0 To 255As Byte, bNumBlock As Byte

  GetKeyboardState Keys(0): bNumBlock = Keys(vbKeyNumlock)
  SendKeys Was
  GetKeyboardState Keys(0)
  If bNumBlock <> Keys(vbKeyNumlockThen SendKeys "{NUMLOCK}"
End Sub

' oder diese Alternative hier

Sub Test2()
  CreateObject("WScript.Shell").SendKeys "^v", True
End Sub
_________
viele Grüße
Karl-Heinz

Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
29.07.2021 19:05:04 Gast77500
NotSolved
29.07.2021 19:29:00 Gast58181
NotSolved
29.07.2021 19:55:10 Gast96959
NotSolved
29.07.2021 21:36:22 Gast3133
NotSolved
30.07.2021 16:37:59 Gast39012
NotSolved
30.07.2021 21:40:04 Gast44646
NotSolved
30.07.2021 21:48:10 Gast44646
NotSolved
30.07.2021 23:45:56 Gast95573
NotSolved
Rot subclassing - bzw. Windows API allgemein
31.07.2021 10:06:37 Gast70847
NotSolved
31.07.2021 15:37:35 Gast42315
NotSolved
31.07.2021 17:45:10 volti
NotSolved
09.08.2021 21:23:53 Gast83808
NotSolved