Onscreen Keyboard Windows 10

Konzeptionelles, Technisches, Termine, Fragen zum Hersteller usw.

Moderator: Moderatoren

Antworten
Benutzeravatar
Rudolf
Programmier-Gott
Programmier-Gott
Beiträge: 1418
Registriert: Mo, 02. Jan 2006 23:03
Wohnort: Salzburg/Österreich
Kontaktdaten:

Onscreen Keyboard Windows 10

Beitrag von Rudolf »

Hallo,
versuche gerade eine Anwendung für Tablets mit Onscreen Keyboard zu machen, bei Windows 7 habe ich problemlos osk.exe via Runshell aufrufen können, unter Windows 10 bekomme ich mit Runshell einen Operating System 740 error. Habe die osk.exe schon ins Programmverzeichnis kopiert und bei den Eigenschaften als Administrator auführen eingestellt, hilft auch nichts. Ich kann die exe nicht mal im Explorer aufrufen, kann angegebenen Pfad nicht finden. Nur wenn ich über Ausführen osk.exe eingeben, erscheint die Tastatur. Habe UAC auch schon komplett abgeschalten ohne Erfolg.
Grüße
Rudolf
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12906
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 45 Mal

Re: Onscreen Keyboard Windows 10

Beitrag von AUGE_OHR »

Rudolf hat geschrieben:... unter Windows 10 bekomme ich mit Runshell einen Operating System 740 error.
64bit OS() ? such mal wie oft du OSK.EXE auf C: hast ...
gruss by OHR
Jimmy
Benutzeravatar
Rudolf
Programmier-Gott
Programmier-Gott
Beiträge: 1418
Registriert: Mo, 02. Jan 2006 23:03
Wohnort: Salzburg/Österreich
Kontaktdaten:

Re: Onscreen Keyboard Windows 10

Beitrag von Rudolf »

Hallo Jimmy,
habe beide Versionen probiert, auch im SYSWOW64, kein Unterschied
Grüße
Rudolf
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9355
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 101 Mal
Danksagung erhalten: 361 Mal
Kontaktdaten:

Re: Onscreen Keyboard Windows 10

Beitrag von Tom »

Der Prozess erfordert Administratorrechte.
Herzlich,
Tom
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12906
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 45 Mal

Re: Onscreen Keyboard Windows 10

Beitrag von AUGE_OHR »

Rudolf hat geschrieben:habe beide Versionen probiert, auch im SYSWOW64, kein Unterschied
und hast du die Dateien verglichen ... ?

ich puzzle mit HOTPLUG.DLL rum und habe da das selbe Problem das ein 32bit Programm es nicht aufrufen kann.
auch wenn man explizit \SYSTEM32 angibst wirst man nach SYSWOW64 "umgeleitet"

eine Lösung war, statt Runshell(), CLASS TRunProcess von Pablo wo ich folgendes modifiziert habe

Code: Alles auswählen

INLINE CLASS METHOD _CreateProcess_(cUser,cPwd,app,cmd,pa,ta,ih,flags,env,cd,psi,ppi)
       DEFAULT pa :=  {12,0,0} ; DEFAULT ta :=  {12,0,0}
       if cUser == NIL            
          @Kernel32:Wow64EnableWow64FsRedirection(FALSE)   // disable bevor API Call
          nRet :=FpQCall( {"kernel32","CreateProcessA"} ,;
                          "__bo__pt__pt__pt__pt__bo__sl__pt__pt__pt__pt",;
                          app,cmd,pa,ta,ih,flags,env,cd,psi,@ppi ;
                        )
          @Kernel32:Wow64EnableWow64FsRedirection(TRUE)    // enable again
          return nRet
       end          
https://msdn.microsoft.com/en-us/librar ... 65744.aspx
gruss by OHR
Jimmy
Benutzeravatar
Rudolf
Programmier-Gott
Programmier-Gott
Beiträge: 1418
Registriert: Mo, 02. Jan 2006 23:03
Wohnort: Salzburg/Österreich
Kontaktdaten:

Re: Onscreen Keyboard Windows 10

Beitrag von Rudolf »

Hallo,
ich bin als Admin angemeldet, hab die EXE (beide probiert) in das Programmverzeichnis kopiert und diese Kopien aufgerufen und habe extra bei den Eigenschaften als Adminitrator auführen angegeben. Hilft alles nichts.
Werde mal trunprocess versuchen, aber mit den Admin Rechten alleine kann es auch nichts zu tun haben
Grüße
Rudolf
Benutzeravatar
Rudolf
Programmier-Gott
Programmier-Gott
Beiträge: 1418
Registriert: Mo, 02. Jan 2006 23:03
Wohnort: Salzburg/Österreich
Kontaktdaten:

Re: Onscreen Keyboard Windows 10

Beitrag von Rudolf »

Hallo Jimmy,
Deine Anpassung hilft leider auch nicht
Grüße
Rudolf
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12906
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 45 Mal

Re: Onscreen Keyboard Windows 10

Beitrag von AUGE_OHR »

Rudolf hat geschrieben:Deine Anpassung hilft leider auch nicht
ich habe es nun nicht mit OSK.EXE versucht sondern mit *.DLL aber es sollte damit funktionieren.
such mal nach OSK.EXE / Wow64DisableWow64FsRedirection ... hier ein Treffer
http://forums.codeguru.com/showthread.p ... -Windows-7
gruss by OHR
Jimmy
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12906
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 45 Mal

Re: Onscreen Keyboard Windows 10

Beitrag von AUGE_OHR »

AUGE_OHR hat geschrieben:ich habe es nun nicht mit OSK.EXE versucht ...
so nun habe ich es mal in mein XCM eingebaut und es unter Windows 10586 64bit getestet.

Code: Alles auswählen

   BEGIN SEQUENCE
      IF "OSK.EXE" $ UPPER(cAction)
         @Kernel32:Wow64EnableWow64FsRedirection(FALSE)   // disable bevor API Call
         SHELLOPENFILE("C:\WINDOWS\system32\","osk.exe")
         @Kernel32:Wow64EnableWow64FsRedirection(TRUE)    // enable again
das Xbase++ Runshell() scheint unter Windows 10xxx 64bit öfters nicht zum gewünschten Resultat zu führen ... dann eben mit API ShellExecuteA()
Dateianhänge
ShellOpen.zip
(833 Bytes) 351-mal heruntergeladen
gruss by OHR
Jimmy
Benutzeravatar
Rudolf
Programmier-Gott
Programmier-Gott
Beiträge: 1418
Registriert: Mo, 02. Jan 2006 23:03
Wohnort: Salzburg/Österreich
Kontaktdaten:

Re: Onscreen Keyboard Windows 10

Beitrag von Rudolf »

Hallo Jimmy,
mit shellopenfile kommt bei mir
"die Bildschirmtastatur konnte nicht gestartet werden"
egal ob im WINDOWS oder SYSWOW64 Verzeichnis
Grüße
Rudolf
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12906
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 45 Mal

Re: Onscreen Keyboard Windows 10

Beitrag von AUGE_OHR »

Rudolf hat geschrieben:mit shellopenfile kommt bei mir
"die Bildschirmtastatur konnte nicht gestartet werden"
dann scheinst du noch ein anderes Problem zu haben denn ich habe den Code extra auf einer frisch installierten Windows 10586 64bit getestet.
btw. du hast den Code des ZIP File erweitert um "@Kernel32:Wow64EnableWow64FsRedirection(FALSE)" ?!

ich habe unter Windows 7 (32bit) Probleme mit OSK.EXE nachdem ich es ohne "echte" Tastatur gestartet hatte und statt einem "reset" beim Login OSK.EXE aufgerufen/benutzt hatte. wenn ich nun Windows 7 starte erscheint immer das OSK.EXE was ich zwar schliessen kann aber danach nicht mehr aufrufen kann :banghead:
gruss by OHR
Jimmy
Benutzeravatar
Rudolf
Programmier-Gott
Programmier-Gott
Beiträge: 1418
Registriert: Mo, 02. Jan 2006 23:03
Wohnort: Salzburg/Österreich
Kontaktdaten:

Re: Onscreen Keyboard Windows 10

Beitrag von Rudolf »

Hallo Jimmy,
jetzt funktioniert zumindest der Aufruf, hatte falschen Pfad. Die Tastatur ist aber nicht verwendbar, ist nur für Maus ausgelegt, und nicht für Touch. Das Symbol zum Schließen ist winzig und fast unsichtbar. Hätte versucht einen Button zum Schließen zu machen, aber bekomme das Fenster nicht mehr zu, nur mit dem viel zu kleinen x im Fenster.

Mit diesem Code lässt sich das Fenster nicht schließen:

Code: Alles auswählen

aWindow := WildFindWindow("Bildschirmtastatur")
if len(aWindow) > 0
     nHwnd := aWindow[1,1] // window handle
     @user32:GetWindowThreadProcessId(nHwnd,@pid)
     hProc := @kernel32:OpenProcess(0x411,.F.,pid) // ??? immer leer
     if( !Empty(hProc) ) 
          result := ( @kernel32:TerminateProcess(hProc) != 0 )
          @kernel32:CloseHandle(hProc)
     end
Auch wenn es funktionieren würde, müsste der User zuerst den Eingabe Screen anklicken damit er den Focus hat und dann den Buttom für Schließen, also zweimal klicken, wäre umständlich.
Ich glaube ich muss selbst eine Tastatur machen, mit eXpress++ kein Problem, Roger hat auch ein Beispiel dabei.
Grüße
Rudolf
Antworten