Page 1 of 1
Virtual Keyboard on tablet
Posted: Thu Aug 01, 2019 7:28 am
by Silvio.Falconi
I have a Lenovo tablet
How I can to call the virtual keyboard on win10 pro?
with osk not run !!!
Before to create a my keyboard I wisk Know if I an use the window keyboard.
thanks
Re: Virtual Keyboard on tablet
Posted: Thu Aug 01, 2019 9:06 am
by cnavarro
Re: Virtual Keyboard on tablet
Posted: Thu Aug 01, 2019 10:17 pm
by Silvio.Falconi
I have Lenovo MIIX320 and the test sample of Navarro not run here
I cannot see the kyboard of windows
nothing with osk or oskb
Re: Virtual Keyboard on tablet
Posted: Thu Aug 01, 2019 10:34 pm
by cnavarro
And with tabtip ?
"C:\\Program Files\\Common Files\\microsoft shared\\ink\\tabtip.exe")
Re: Virtual Keyboard on tablet
Posted: Thu Aug 01, 2019 11:03 pm
by Silvio.Falconi
Not run nothing
i tried to call on cortana directly but it non execute the comand
Re: Virtual Keyboard on tablet
Posted: Thu Aug 01, 2019 11:25 pm
by cnavarro
I use Windows 10 64 bits
Cortana found tabtip
Re: Virtual Keyboard on tablet
Posted: Fri Aug 02, 2019 12:41 am
by Silvio.Falconi
yes also here b
ut then not open the keyboard
only if click on bar windows
the w 10 open the keyboard
but I wish call it from fwh app
Re: Virtual Keyboard on tablet
Posted: Fri Aug 02, 2019 7:53 am
by ukoenig
Silvio,
ACTIVATE DIALOG oDlg CENTERED ON INIT ControlsDlg( oDlg )
hide or show :
VALID ( HideInputPanel(), .T. )
ShowInputPanel( oDlg )
regards
Uwe
Re: Virtual Keyboard on tablet
Posted: Fri Aug 02, 2019 2:40 pm
by Silvio.Falconi
this source not run
Code: Select all
// Testing GETs
#include "FiveWin.ch"
#define WM_SYSCOMMAND 0x0112
#define SC_CLOSE 0xF060
function Main()
LOCAL oDlg, oGet
local oGet1, oGet2
LOCAL cCad := "Testing " // pad("Testing Gets",40)
LOCAL nNum := 0
LOCAL dDat := Date()
Set century On
Set Date Ansi
Set Date format "mm/dd/yyyy"
SET _3DLOOK ON
DEFINE DIALOG oDlg TITLE "TGet from " + FWDESCRIPTION
@ 1, 2 SAY "Text..:" OF oDlg
@ 1, 6 GET oGet VAR cCad OF oDlg SIZE 60, 10 COLOR "W/G" PICTURE "@K"
@ 1.8, 2 SAY "Number:" OF oDlg
@ 2, 6 GET oGet1 VAR nNum OF oDlg SIZE 60, 10 PICTURE "9999999.99"
@ 2.6, 2 SAY "Date:" OF oDlg
@ 3, 6 GET oGet2 VAR dDat PICTURE "@E" OF oDlg SIZE 60, 10 // "@D"
@ 3, 7 BUTTON "&Ok" OF oDlg SIZE 30, 12 ACTION .T. //oDlg:End()
@ 3, 16 BUTTON "&Cancel" SIZE 30, 12 OF oDlg ACTION oDlg:End() CANCEL
// TGet():SetColorFocus( nRGB( 200, 120, 120 ) )
ACTIVATE DIALOG oDlg CENTERED VALID ( HideInputPanel(), .T. ) ON INIT ControlsDlg( oDlg )
return nil
//------------------------------------------------------------------------//
FUNCTION ShowInputPanel( oDlg )
Local hWndInputPanel
//hWndInputPanel:= FindWindow("IPTip_Main_Window")
//if Empty( hWndInputPanel )
ShellExecute( oDlg:hWnd, "open", "C:\\Program Files\\Common Files\\microsoft shared\\ink\\tabtip.exe")
//endif
RETURN NIL
FUNCTION HideInputPanel()
Local hWndInputPanel
hWndInputPanel := FindWindow("IPTip_Main_Window")
if !Empty( hWndInputPanel )
PostMessage( hWndInputPanel, WM_SYSCOMMAND, SC_CLOSE, 0 )
endif
Return nil
Function ControlsDlg( oDlg )
Local x
Local nLen := Len( oDlg:aControls )
Local aObj := { "TGET" }
For x = 1 to nLen
if !Empty( Ascan( aObj, Upper( oDlg:aControls[x]:ClassName() ) ) )
WITH OBJECT oDlg:aControls[x]
:bGotFocus := { | o | ShowInputPanel( oDlg ) }
:bLostFocus := { | o | HideInputPanel() }
ENDWITH
endif
Next x
Return nil
I see the cursor as it search the keyboard then not happen nothing
Re: Virtual Keyboard on tablet
Posted: Thu Oct 03, 2019 2:18 am
by Jimmy
hi,
is your App 32 Bit or 64 Bit
i guess App is 32 run on 64 Bit OS
if yes : you need to disable "Wow64 Redirection"
this Xbase++ Code using Ot4xb Syntax show how to call it from 32 Bit App under 64 Bit OS
Code: Select all
#include "common.ch"
#include "ot4xb.ch"
#define SW_NORMAL 1
* --------------------------------------- *
PROCEDURE Main()
SHELLOPENFILE( "C:\WINDOWS\system32\" , "osk.exe")
RETURN
FUNCTION SHELLOPENFILE( cPath, cFile, cPara )
LOCAL lSuccess
LOCAL bSaveError
LOCAL oError
LOCAL Retvar := .F.
DEFAULT cPath TO ""
DEFAULT cFILE TO ""
DEFAULT cPara TO ""
IF Is64Bit()
@ Kernel32:Wow64EnableWow64FsRedirection( .F. ) // disable bevor API Call
ENDIF
bSaveError := ERRORBLOCK( { | e | BREAK( e ) } )
BEGIN SEQUENCE
lSuccess := @SHELL32:ShellExecuteA( APPDESKTOP() :GetHWND(), ;
"open", ;
cPath + cFile, ;
cPara, ;
CURDIR(), ;
SW_NORMAL )
DO CASE
CASE lSuccess > 32 // OK
Retvar := .T.
OTHERWISE
BREAK
ENDCASE
RECOVER USING oError
ERRORBLOCK( bSaveError )
IF !EMPTY(oError)
MSGBOX( DosErrorMessage( oError:osCode ), "Error osCode " + LTRIM( STR( oError:osCode ) ) )
ELSE
MSGBOX( "Error open "+ cPath + cFile, IF(Is64Bit(),"64 Bit", "32 Bit"))
ENDIF
END SEQUENCE
ERRORBLOCK( bSaveError )
IF Is64Bit()
@ Kernel32:Wow64EnableWow64FsRedirection( .T. ) // enable again
ENDIF
RETURN Retvar
FUNCTION Is64Bit()
RETURN IF( FILE( "C:\WINDOWS\SysWOW64\Format.COM" ), .T., .F. )
Re: Virtual Keyboard on tablet
Posted: Thu Oct 03, 2019 6:46 am
by Silvio.Falconi
I have Tablet Lenovo Miix320 with windows 10 Pro 64 bit
Re: Virtual Keyboard on tablet
Posted: Fri Oct 04, 2019 5:21 am
by Jimmy
hi,
Silvio.Falconi wrote:I have Tablet Lenovo Miix320 with windows 10 Pro 64 bit
i have a older 310 Miix
as i say under 64 Bit when call from 32 Bit App you need to disable WOW64 Redirection as show in Sample here
https://docs.microsoft.com/en-us/window ... edirection
Re: Virtual Keyboard on tablet
Posted: Fri Oct 04, 2019 8:31 am
by Silvio.Falconi
I can't waste time to see if the function doesn't work, I prefer to find other solutions
Re: Virtual Keyboard on tablet
Posted: Fri Oct 04, 2019 7:19 pm
by Jimmy
Silvio.Falconi wrote:I can't waste time to see if the function doesn't work, I prefer to find other solutions
sorry i'm a Newbie in harbour and not sure about harbour Syntax.
it work that Way with Xbase++ on my 310 Miix so i guess it must work with harbour too.
perhaps there is a other People in this Forum who can help to "translate" it.