Seite 1 von 3
Windows 8.1 Bildschirmtastatur
Verfasst: 11.11.2014 11:21
von Velindos
Hallo Leute,
jemand einen Tip wie man die Bildschirmtastatur aus PB aufruft.
Gruss ... Velindos
Re: Windows 8.1 Bildschirmtastatur
Verfasst: 11.11.2014 11:52
von RSBasic
Re: Windows 8.1 Bildschirmtastatur
Verfasst: 11.11.2014 12:29
von Velindos
Danke RSBasic, habe es unter den Focus gegeben und klappt auf Anhieb!
Gruss ... Velindos
Re: Windows 8.1 Bildschirmtastatur
Verfasst: 13.12.2014 13:30
von Velindos
Hallo Leute,
der Aufruf klappt. Nun will ich das Ding mit Enter wieder loswerden!
Nun habe ich das mit Kill Prozess funkt aber nicht.
Läuft irgendwie als Hintergrundprozess etc.
Fakt er Killt es nicht!
Nun habe ich bemerkt das mit Strg+c oder andere Tasten die Bildschirmtastatur verschwindet.
Könnte das Problem damit lösen, dass ich ein Strg+C sende, als die Eingabe beim ENTER simuliere.
Frage: Wie kann ich Strg+C im PB senden, jemand einen TIP!
Gruss ... Velindos
Re: Windows 8.1 Bildschirmtastatur
Verfasst: 13.12.2014 15:28
von RSBasic
http://www.rsbasic.de/aktualisierung/wi ... ulieren.pb
Du musst zuerst die Strg-Taste (#VK_LCONTROL) drücken und anschließend die C-Taste (#VK_C). Danach beide Tasten erneut, nur diesmal loslassen/uppen. (#KEYEVENTF_KEYUP)
Re: Windows 8.1 Bildschirmtastatur
Verfasst: 13.12.2014 20:16
von Velindos
Hallo, Danke für den Tipp.
Aber die Tastur lasst sich nur versenken wenn man eine Taste drückt, muss wohl doch den Hintergrundprozess irgendwie killen!
Code: Alles auswählen
TabTip = RunProgram("C:\Program Files\Common Files\microsoft shared\ink\TabTip.exe", "/?", "", #PB_Program_Open )
If ProgramRunning(TabTip)
CloseProgram(TabTip) ; Schließt die Verbindung zum Programm
KillProgram(TabTip)
EndIf
MessageRequester("Meldung", "Abgestellt")
Die Tastatur erscheint, aber dann bekomme ich die Meldung "Programm ist ungültig" in der Zeile Killprogramm!
Vielleicht noch jemand eine Ahnung wie ein Hintergrundprozess zu killen ist?
Gruss ... Velindos
Re: Windows 8.1 Bildschirmtastatur
Verfasst: 13.12.2014 20:26
von RSBasic
Killen ist immer eine schlechte Idee, da die jeweilige Anwendung nicht auf das Killen reagieren kann.
Was ist das für eine Anwendung? Ist das ein Fenster? Wenn ja, dann ermittle die Handlenummer und damit kannst du mit SendMessage_() und #WM_CLOSE schließen.
Re: Windows 8.1 Bildschirmtastatur
Verfasst: 28.05.2017 11:32
von Velindos
Hallo Leute,
habe jetzt auf Windows 10 wieder Probleme mit der Bildschirmtastatur!
Da Windows 10 den Tablett Modus hat kommt die Tastatur, wenn sie kommt im
Tablettmodus. Bei ausgeschalteten Tablettmodus kommt Sie überhaupt nicht!
Jemand eine Tip?
Code: Alles auswählen
TabTip = RunProgram("C:\Program Files\Common Files\microsoft shared\ink\TabTip.exe", "/?", "", #PB_Program_Open )
If ProgramRunning(TabTip)
; Waten
Delay(1000)
; Lässt sich nicht abstellen
; SendMessage_(TabTip,#WM_CLOSE,0,0)
; Lässt sich nicht abstellen, keine Ahnung wie!!!
PostMessage_(TabTip,#WM_CLOSE,0,0)
; ALTE Version
; CloseProgram(TabTip) ; Schließt die Verbindung zum Programm
; KillProgram(TabTip)
; Exitcode zeigt 0
ProgramExitCode(TabTip)
MessageRequester("Meldung", "Abgestellt")
EndIf
Gruss ... Velindos
Re: Windows 8.1 Bildschirmtastatur
Verfasst: 04.06.2017 12:07
von Velindos
Hallo Leute,
wieso findet PB das Wordpad
Code: Alles auswählen
hwnd_xyz = RunProgram("explorer.exe ",Chr(34)+"C:\Users\Velindos\AppData\Local\Temp\DeinRTFText.rtf"+Chr(34),"",#PB_Program_Wait)
Delay(100) ;!!!!
hwnd_xyz = FindWindow_(0, "Wordpad")
If hwnd_xyz
MessageRequester("Meldung", "TabTip")
EndIf
und nicht die Tastatur
Code: Alles auswählen
hwnd_xyz = RunProgram("C:\Program Files\Common Files\microsoft shared\ink\TabTip.exe", "/?", "",#PB_Program_Wait );#PB_Program_Open
hwnd_xyz = FindWindow_(0, "TabTip")
If hwnd_xyz
MessageRequester("Meldung", "TabTip")
EndIf
Gruss ... Velindos!
Re: Windows 8.1 Bildschirmtastatur
Verfasst: 04.06.2017 12:25
von RSBasic
Du musst die WinAPI-Funktion FindWindow_() richtig anwenden. Du kannst nicht einfach irgendwas eintippen mit der Hoffnug, dass es funktioniert.
Du machst zwei Fehler:
1. Falsche Verwendung des Parameters.
2. Falscher Klassenname
Lies die folgende MSDN-Seite:
https://msdn.microsoft.com/de-de/librar ... s.85).aspx
Parameter:
- lpClassName: Hier gibst du optional den Klassennamen ein.
- lpWindowName: Hier gibst du optional den Fenstertitel ein.
Da du nach dem Klassennamen suchst, darfst du nicht den zweiten Parameter verwenden, sondern den ersten Parameter.
Außerdem suchst du nach "Wordpad". Es gibt kein Fenster, welches so heißt.
Der Klassenname des Programms WordPfad lautet stattdessen: WordPadClass
Wenn du das herausfinden möchtest, benutze bitte das folgende Programm:
http://www.rsbasic.de/temp/WinSpy.exe
D.h. dein Code müsste so lauten:
Code: Alles auswählen
ExtProg = RunProgram("explorer.exe ",Chr(34)+"C:\Users\Velindos\AppData\Local\Temp\DeinRTFText.rtf"+Chr(34),"",0);#PB_Program_Wait ist nicht notwendig
Delay(500) ;!!!! ;lieber 500 Millisekunden
hwnd_xyz = FindWindow_("WordPadClass", 0)
Debug hwnd_xyz
If hwnd_xyz
MessageRequester("Meldung", "TabTip")
EndIf