我希望为Windows 7或8安装一个Win32程序。我希望能够在Windows 8上支持触摸注入。InitializeTouchInjection
是初始化它的符号,但仅在Windows中可用8.有没有办法在加载时或运行时检查Windows版本和此符号的链接?目前,在Windows 7中加载时,我得到了未定义的链接。
答案 0 :(得分:0)
使用GetProcAddress允许代码检查符号是否退出,如果没有,则提供备用行为。在这种情况下,触摸注入仅在窗口8中。
typedef BOOL(WINAPI *InitTouch) (_In_ UINT32 maxCount, _In_ DWORD dwMode);
InitTouch fp = (InitTouch)GetProcAddress(GetModuleHandle(TEXT("User32.dll")),
"InitializeTouchInjection");
if ((fp != NULL) && fp(TOUCH_LIMIT, TOUCH_FEEDBACK_DEFAULT))
{
// Behavio(u)r with the feature
}
else
{
// Behavio(u)r without the feature
}