Paul the problem is not to do with FTN95 or Clearwin as the simple C program below crashes when I try to move the window with pen or touch. So perhaps it is as you say a Microsoft problem, or a problem with the pen driver or a problem with SLINK
I have been unsuccessful in getting a trace back other than the one that showed ninput.dll.
I have reloaded windows 8.1 to no avail.
I have tried tracking the windows messages as they appear in the Windows Procedure - so for example when moving the window I would expect to see a WM_MOVE message. At the point I would expect to see the message the program crashes.
Here is the simple c program that crashes when trying to move the window.
It has no menu but the crash still occurs when the pen is in the Non-Client area of the window.
#include <windows.h>
MSG Msg;
WNDCLASS wc;
DWORD WindowStyle;
HWND whandle;
LRESULT WINAPI MainWndProc( HWND, UINT, WPARAM, LPARAM );
int CALLBACK WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow);
int CALLBACK WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow)
{
WindowStyle = WS_OVERLAPPEDWINDOW |WS_VSCROLL |WS_HSCROLL
| WS_VISIBLE |WS_MAXIMIZE | WS_CLIPCHILDREN | WS_CLIPSIBLINGS;
wc.style = CS_VREDRAW| CS_HREDRAW ;
wc.lpfnWndProc = MainWndProc;
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hInstance = hInstance;
wc.hIcon = LoadIcon(NULL, IDI_APPLICATION);
wc.hCursor = NULL; /* set by mouse movement */
wc.hbrBackground = (HBRUSH) (COLOR_WINDOW+1);;
wc.lpszMenuName = NULL ;
wc.lpszClassName = 'TouchClass';
if (!RegisterClass(&wc))
MessageBox(NULL,'Unable to Register Class','touchclass',MB_OK) ;
whandle = CreateWindow(
'touchclass',
'Move window with pen test',
WindowStyle,
50,100,900,500,
NULL,
NULL,
hInstance,
NULL
);
ShowWindow(whandle, SW_SHOW);
while(GetMessage(&Msg, NULL,0,0))
{
TranslateMessage(&Msg);
DispatchMessage(&Msg);
}
return 0;
}
LRESULT CALLBACK MainWndProc(HWND hWnd,UINT message,WPARAM wParam,LPARAM lParam)
{
if(message == WM_DESTROY)
{
PostQuitMessage(0);
return 0;
}
return DefWindowProc(hWnd,message,wParam,lParam) ;
}