이 블로그 검색

2014년 7월 16일 수요일

How to trigger wisptis.exe to pick up new reg data from "HKLM\\SOFTWARE\\Microsoft\\Wisp\\Pen\\Digimon"

  • Hi,
    I wrote some code to add tablet PC device and monitor device path to the following reg key
    "HKLM\\SOFTWARE\\Microsoft\\Wisp\\Pen\\Digimon".  
    I think this is exactly what the Tablet PC Settings > Display > setup... does to map tablet pc device to display.
    Restarting the TabletInputService seems making wistpis to pick up new data most of the time.  However, occasionally the user's wisptis process doesn't pick up the new data even after the restart of TabletInputService.  Is there any api to make wisptis to pick up the new reg data?
    Thanks,
    www 
    Thursday, January 05, 2012 6:23 PM
    Avatar of w.william.w
    0 Points

All replies

  • The only supported way to do this is via the control panel. There is no API to associate a digitizer with a specific monitor.
    Mucking with undocumented registry keys is not supported. While it may work in some situations it is not guaranteed to do what you want and may change without notice. This is not something you would want to do in production code.
    --Rob
    Saturday, January 07, 2012 5:08 AM
    Avatar of Rob Caplan [MSFT]
    (MSFT)
    96,560 Points
  • This is nice to use an api instead of user manually mapping digitzer with a monitor especially if the system has a lot of tabletpc devices and monitors.
    Anyway, thanks for your reply.
    www

Is there an API to map 'touch' input to a different monitors?

I am trying to achieve the same functionality as multidigimon.exe, that is mapping an input digitizer to a given monitor, I was wondering if there is an API I can access or if the multidigimon.exe supports any parameters I can call it with to automate the mapping process.
So far I have found that multidigimon.exe writes the following registry key
key:20-\\?\hid#&col06#1&4784345&d&0005#{4d1e55b2-f16f-11cf-88cb-001111000030}
value:\\?\DISPLAY#Default_Monitor#5&5e64b29&0&UID268435456#{e6f07b5f-ee97-4a90-b076-33f57bf4eaa7}
to
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Wisp\Pen\Digimon
share|improve this question
add comment

2 Answers

for anyone outhere looking for an answer.
I did not find an api however I think I know how to do it:
1.Find the monitor that you want to map the input to via EnumDisplayDevices, we are interestded in the DeviceID,
2.Find the correct instance of the input device
  1. Write to the following reg key
"HKLM\SOFTWARE\Microsoft\Wisp\Pen\Digimon"
key = [you input device path instances] value =[your monitor device path]
  1. restart wisptis.exe,
share|improve this answer
   
I will try this today. Thanks :) –  hoffmanuel May 21 at 8:18
   
This works for me, thanks –  hoffmanuel May 22 at 6:24
add comment
Can also be used if you system just doesn't recognize which screen has touch capabilities, and MultiDigiMon.exe fails to correct this...
This was extremely helpful, been struggling with a touch screen for a week now because of the above !
Thanks a lot :D

2014년 7월 9일 수요일

SHGetSpecialFolderPath 특수 경로 얻기

SHGetSpecialFolderPath() 함수 사용
SHGetSpecialFolderPath(NULL, szPath, CSIDL_PERSONAL, FALSE);
SHGetSpecialFolderPath(NULL, szPath, CSIDL_PROGRAM_FILES, FALSE);

win98 original(gold) 나 nt 4.0 에서는 작동하지 않는다.
그럴경우, 아래 처럼 구현을 해도 된다.