Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > sci.physics > #696071
| Path | csiph.com!feeder.erje.net!2.eu.feeder.erje.net!newsreader4.netcologne.de!news.netcologne.de!peer02.ams1!peer.ams1.xlned.com!news.xlned.com!peer02.am4!peer.am4.highwinds-media.com!peer01.iad!feed-me.highwinds-media.com!news.highwinds-media.com!post01.iad!fx44.iad.POSTED!not-for-mail |
|---|---|
| Content-Type | Text/plain; charset=UTF-8 |
| Content-Transfer-Encoding | 8bit |
| From | Jeff-Relf.Me @. |
| Message-ID | <Jeff-Relf.Me@Jul.28--0.31pm.Seattle.2018> (permalink) |
| References | <Jeff-Relf.Me@Jul.15--10.09pm.Seattle.2018> <Jeff-Relf.Me@Jul.16--6.12am.Seattle.2018> <Jeff-Relf.Me@Jul.16--9.02am.Seattle.2018> <Jeff-Relf.Me@Jul.17--1.14am.Seattle.2018> <Jeff-Relf.Me@Jul.17--8.40pm.Seattle.2018> <Jeff-Relf.Me@Jul.21--2.32am.Seattle.2018> <Jeff-Relf.Me@Jul.22--10.17am.Seattle.2018> <Jeff-Relf.Me@Jul.23--3.12am.Seattle.2018> <Jeff-Relf.Me@Jul.23--4.34pm.Seattle.2018> <Jeff-Relf.Me@Jul.25--5.48am.Seattle.2018> |
| Newsgroups | comp.os.linux.advocacy, sci.physics, alt.comp.os.windows-10, news.software.readers, comp.lang.c++, alt.checkmate |
| Subject | Kill&ReStart the "touch keyboard" before bringing it "up" ( on screen ). |
| User-Agent | Jeff-Relf.Me/X.HTM |
| Lines | 82 |
| X-Complaints-To | abuse@usenet-news.net |
| NNTP-Posting-Date | Sat, 28 Jul 2018 19:31:05 UTC |
| Organization | usenet-news.net |
| Date | Sat, 28 Jul 2018 12:31:05 -0700 (Seattle) |
| X-Received-Bytes | 4665 |
| X-Received-Body-CRC | 2636002874 |
| Xref | csiph.com comp.os.linux.advocacy:460045 sci.physics:696071 alt.comp.os.windows-10:71767 news.software.readers:31843 comp.lang.c++:59111 alt.checkmate:188340 |
Cross-posted to 6 groups.
Show key headers only | View raw
https://stackoverflow.com/questions/38774139/show-touch-keyboard-tabtip-exe-in-windows-10-anniversary-edition#51376030
The keyboard toggle ( ITipInvocation.Toggle() )
does _ N O T _ always bring up the "touch keyboard"
( Win10 DesktopMode Ver 1803 ).
The solution: use IFrameworkInputPane.Location() to see if the keyboard
is "down" ( off screen ) and, if it is, kill the keyboard processes
and relaunch them before bringing it "up" ( on screen ) again.
This solution has been tested by me, over several days,
and confirmed to work every time, no ( R A N D O M ) stalling.
To toggle the keyboard on and off ( from X.CPP in Jeff-Relf.Me/X.ZIP ):
if ( WM == WM_HOTKEY && C == 'K' ) {
// A mouse button takes me here. Jeff-Relf.Me/g600.PNG
unsigned __int64 u[2] ; IFrameworkInputPane *Loc ;
Loc = 0, CoCreateInstance( CLSID_FrameworkInputPane, 0,
CLSCTX_INPROC_SERVER, IID_IFrameworkInputPane, (void**) & Loc );
// "__int64 u[2]" is the same size as "RECT";
// both are four 32 bit ints: top, left, bottom, right.
if ( !Loc || ( Loc->Location( (RECT*)&u ), Loc->Release(), !*u && !u[1] ) )
// The keyboard is "down" ( off screen ),
// Kill&ReStart it before bringing it "up" ( on screen ).
KillProc = 1, Running( L"TabTIP.EXE" ), KillProc = 1, Running(
L"WindowsInternal.ComposableShell.Experiences.TextInput.InputApp.EXE" ),
Launch( L"%CommonProgramFiles%/microsoft shared/ink/TabTIP.EXE" ),
Sleep(99);
static const GUID CLSID_UIHostNoLaunch = { 0x4CE576FA, 0x83DC, 0x4f88,
0x95, 0x1C, 0x9D, 0x07, 0x82, 0xB4, 0xE3, 0x76 };
static const GUID IID_ITipInvocation = { 0x37c994e7, 0x432b, 0x4834,
0xa2, 0xf7, 0xdc, 0xe1, 0xf1, 0x3b, 0x83, 0x4b };
static struct ITipInvocation : IUnknown { virtual HRESULT
STDMETHODCALLTYPE Toggle( HWND wnd ) = 0 ; } * Tog ;
Tog = 0, CoCreateInstance( CLSID_UIHostNoLaunch, 0, CLSCTX_INPROC_HANDLER
| CLSCTX_LOCAL_SERVER, IID_ITipInvocation, (void**) & Tog );
// Toggle the keyboard On|Off:
Tog ? Tog->Toggle( GetDesktopWindow() ), Tog->Release() : 0 ; }
- - - - - - - - - - - - -
// Poorly documented, "NTDDI_WIN10" is _vital_:
#define NTDDI_VERSION NTDDI_WIN10
// To get the process list, and kill stuff:
#include <tlhelp32.H>
// To know if the keyboard is up or not:
#include <ShObjIdl.H>
int KillProc ;
int Running( wchar * EXE ) { int Found ; HANDLE PIDs, aProc ;
PROCESSENTRY32 aPID = { sizeof aPID };
PIDs = CreateToolhelp32Snapshot( TH32CS_SNAPPROCESS, 0 );
Process32First( PIDs, &aPID );
while ( Found = !strCmpI( aPID.szExeFile, EXE ),
KillProc && Found && (
aProc = OpenProcess( PROCESS_TERMINATE, 0, aPID.th32ProcessID ),
aProc ? TerminateProcess( aProc, 9 ), CloseHandle( aProc ) : 0 ),
!Found && Process32Next( PIDs, &aPID ) );
KillProc = 0, CloseHandle( PIDs ); return Found ; }
Launch( wchar * Cmd ) { wchar _Cmd[333]; static PROCESS_INFORMATION Stat ;
static STARTUPINFO SU = { sizeof SU };
SetEnvironmentVariable( L"__compat_layer", L"RunAsInvoker" );
ExpandEnvironmentStrings( Cmd, _Cmd, 333 ), Cmd = _Cmd ;
if ( CreateProcess( 0, Cmd, 0,0,1,0,0,0, &SU , &Stat ) )
CloseHandle( Stat.hProcess ), CloseHandle( Stat.hThread ); }
// CoInitialize(0);
Back to sci.physics | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Toggling "Touch Keyboard" On/Off, Firefox and Chrome. Jeff-Relf.Me @. - 2018-07-10 13:52 -0700
Re: Toggling "Touch Keyboard" On/Off, Firefox and Chrome. % <persent@gmail.com> - 2018-07-10 13:56 -0700
ReKilling Cortana zombies. Jeff-Relf.Me @. - 2018-07-13 01:47 -0700
Re: Toggling "Touch Keyboard" On/Off, Firefox and Chrome. Storage Unit <storage.unit@mailinator.com> - 2018-07-15 22:01 -0500
As I get older, I give fewer and fewer fucks. Jeff-Relf.Me @. - 2018-07-15 22:09 -0700
If the keyboard doesn't come up right away. Jeff-Relf.Me @. - 2018-07-16 06:12 -0700
ITipInvocation.Toggle() fails BIG TIME if it's called more than once a second. Jeff-Relf.Me @. - 2018-07-23 03:12 -0700
I'm narrowing it down, hopefully. Jeff-Relf.Me @. - 2018-07-23 16:34 -0700
InputApp and TabTIP are _always_ killed. Jeff-Relf.Me @. - 2018-07-25 05:48 -0700
Kill&ReStart the "touch keyboard" before bringing it "up" ( on screen ). Jeff-Relf.Me @. - 2018-07-28 12:31 -0700
Kill&ReStart the "touch keyboard" before bringing it "up" ( on screen ). Jeff-Relf.Me @. - 2018-07-30 06:15 -0700
Re: Another fail, another post... "Colonel Edmund J. Burke" <burkesbabes@bigass-babes.com> - 2018-07-25 07:00 -0700
Re: Toggling "Touch Keyboard" On/Off, Firefox and Chrome. Lewis <g.kreme@gmail.com.dontsendmecopies> - 2018-07-16 16:05 +0000
Re: Toggling "Touch Keyboard" On/Off, Firefox and Chrome. Paavo Helde <myfirstname@osa.pri.ee> - 2018-07-16 19:31 +0300
Switch SysFolders to Short, Friendly Paths, all under "C:\__" ( Home ). Jeff-Relf.Me @. - 2018-07-16 10:15 -0700
Re: Toggling "Touch Keyboard" On/Off, Firefox and Chrome. Storage Unit <storage.unit@mailinator.com> - 2018-07-17 05:32 -0500
Re: Toggling "Touch Keyboard" On/Off, Firefox and Chrome. % <Persent@gmail.com> - 2018-07-18 06:23 -0700
Re: Toggling "Touch Keyboard" On/Off, Firefox and Chrome. "reber G=emc^2" <herbertglazier0@gmail.com> - 2018-07-22 10:43 -0700
Re: Toggling "Touch Keyboard" On/Off, Firefox and Chrome. "hanson" <hanson@quick.net> - 2018-07-22 11:06 -0700
You can convert your speech into text, instead of typing. Jeff-Relf.Me @. - 2018-07-22 11:48 -0700
Re: You can convert your speech into text, instead of typing. Double-A <double-a3@hush.com> - 2018-07-22 16:22 -0700
Re: Toggling "Touch Keyboard" On/Off, Firefox and Chrome. "reber G=emc^2" <herbertglazier0@gmail.com> - 2018-07-31 19:46 -0700
NewsPapers and HandWritten letters are still good; just not as good. Jeff-Relf.Me @. - 2018-07-31 20:18 -0700
csiph-web