/* * KernelEx * Copyright (C) 2008, Xeno86 * * This file is part of KernelEx source code. * * KernelEx is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published * by the Free Software Foundation; version 2 of the License. * * KernelEx is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with GNU Make; see the file COPYING. If not, write to * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. * */ #include "common.h" #include "kexcoresdk.h" #include "_user32_apilist.h" IsHungThread_t IsHungThread_pfn; DrawCaptionTempA_t DrawCaptionTempA_pfn; BOOL init_user32() { HMODULE hUser32 = GetModuleHandle("USER32.DLL"); IsHungThread_pfn = (IsHungThread_t)GetProcAddress(hUser32, "IsHungThread"); DrawCaptionTempA_pfn = (DrawCaptionTempA_t)GetProcAddress(hUser32, "DrawCaptionTempA"); GetMouseMovePoints_pfn = (GetMouseMovePoints_t)GetProcAddress(hUser32, "GetMouseMovePoints"); return IsHungThread_pfn && DrawCaptionTempA_pfn && GetMouseMovePoints_pfn; } /* * MAKE_EXPORT RealGetWindowClass=RealGetWindowClassA * MAKE_EXPORT GetAltTabInfo=GetAltTabInfoA * MAKE_EXPORT PeekMessageA=PeekMessageW * MAKE_EXPORT DispatchMessageA=DispatchMessageW * MAKE_EXPORT IsDialogMessageA=IsDialogMessageW * MAKE_EXPORT TranslateAcceleratorA=TranslateAcceleratorW * MAKE_EXPORT CopyAcceleratorTableA=CopyAcceleratorTableW * MAKE_EXPORT CreateAcceleratorTableA=CreateAcceleratorTableW * MAKE_EXPORT CallMsgFilterA=CallMsgFilterW */ static const apilib_named_api user32_named_apis[] = { /*** AUTOGENERATED APILIST NAMED EXPORTS BEGIN ***/ DECL_API("AllowSetForegroundWindow", AllowSetForegroundWindow_98), DECL_API("CallMsgFilterW", CallMsgFilterA), DECL_API("CallWindowProcA", CallWindowProcA_fix), DECL_API("CopyAcceleratorTableW", CopyAcceleratorTableA), DECL_API("CreateAcceleratorTableW", CreateAcceleratorTableA), DECL_API("DisableProcessWindowsGhosting", DisableProcessWindowsGhosting_new), DECL_API("DispatchMessageW", DispatchMessageA), DECL_API("DrawCaptionTempW", DrawCaptionTempW_new), DECL_API("EnableWindow", EnableWindow_new), DECL_API("GetAltTabInfoA", GetAltTabInfo), DECL_API("GetAncestor", GetAncestor_fix), DECL_API("GetLastInputInfo", GetLastInputInfo_new), DECL_API("GetMessageW", GetMessageW_new), DECL_API("GetMouseMovePointsEx", GetMouseMovePointsEx_98), DECL_API("GetWindowLongA", GetWindowLongA_new), DECL_API("IsDialogMessageW", IsDialogMessageA), DECL_API("IsHungAppWindow", IsHungAppWindow_new), DECL_API("LoadStringW", LoadStringW_new), DECL_API("LockSetForegroundWindow", LockSetForegroundWindow_98), DECL_API("LockWorkStation", LockWorkStation_new), DECL_API("MapVirtualKeyA", MapVirtualKeyA_new), DECL_API("MapVirtualKeyExA", MapVirtualKeyExA_new), DECL_API("PeekMessageW", PeekMessageA), DECL_API("RealGetWindowClassA", RealGetWindowClass), DECL_API("RealGetWindowClassW", RealGetWindowClassW_new), DECL_API("SendMessageA", SendMessageA_fix), DECL_API("SetLayeredWindowAttributes", SetLayeredWindowAttributes_stub), DECL_API("ToUnicode", ToUnicode_new), DECL_API("ToUnicodeEx", ToUnicodeEx_new), DECL_API("TranslateAcceleratorW", TranslateAcceleratorA), DECL_API("UpdateLayeredWindow", UpdateLayeredWindow_new), /*** AUTOGENERATED APILIST NAMED EXPORTS END ***/ }; #if 0 static const apilib_unnamed_api user32_ordinal_apis[] = { /*** AUTOGENERATED APILIST ORDINAL EXPORTS BEGIN ***/ /*** AUTOGENERATED APILIST ORDINAL EXPORTS END ***/ }; #endif const apilib_api_table apitable_user32 = DECL_TAB("USER32.DLL", user32_named_apis, 0 /*user32_ordinal_apis*/);