diff --git a/.gitignore b/.gitignore index 8b9bef0..5d7e3e1 100644 --- a/.gitignore +++ b/.gitignore @@ -1,36 +1,302 @@ +# Created by http://www.gitignore.io + +### OSX ### +.DS_Store +.AppleDouble +.LSOverride + +# Icon must end with two \r +Icon + +# Thumbnails +._* + +# Files that might appear on external disk +.Spotlight-V100 +.Trashes + +# Directories potentially created on remote AFP share +.AppleDB +.AppleDesktop +Network Trash Folder +Temporary Items +.apdisk + + +### Linux ### +*~ + +# KDE directory preferences +.directory + + +### Windows ### +# Windows image file caches Thumbs.db -*.obj -*.dll -*.exe -*.sys -*.pdb -*.idb -*.sdf -*.opensdf +ehthumbs.db + +# Folder config file +Desktop.ini + +# Recycle Bin used on file shares +$RECYCLE.BIN/ + +# Windows Installer files +*.cab +*.msi +*.msm +*.msp + + +### VisualStudio ### +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. + +# User-specific files +*.suo *.user -*.aps -*.pch -*.vspscc +*.sln.docstates + +# Build results +[Dd]ebug/ +[Dd]ebugPublic/ +[Rr]elease/ +[Rr]eleases/ +x64/ +x86/ +build/ +bld/ +[Bb]in/ +[Oo]bj/ + +# Roslyn cache directories +*.ide/ + +# MSTest test Results +[Tt]est[Rr]esult*/ +[Bb]uild[Ll]og.* + +#NUNIT +*.VisualState.xml +TestResult.xml + +# Build Results of an ATL Project +[Dd]ebugPS/ +[Rr]eleasePS/ +dlldata.c + *_i.c *_p.c -*.ncb -*.suo +*_i.h +*.ilk +*.meta +*.obj +*.pch +*.pdb +*.pgc +*.pgd +*.rsp +*.sbr *.tlb +*.tli *.tlh -*.bak -*.cache -*.ilk +*.tmp +*.tmp_proj *.log -*.tlog -*.exp -*.lib -*.sbr -*.res -*.mac -*.pft.xml +*.vspscc +*.vssscc +.builds +*.pidb +*.svclog +*.scc + +# Chutzpah Test files +_Chutzpah* + +# Visual C++ cache files ipch/ +*.aps +*.ncb +*.opensdf +*.sdf +*.cachefile + +# Visual Studio profiler +*.psess +*.vsp +*.vspx + +# TFS 2012 Local Workspace +$tf/ + +# Guidance Automation Toolkit +*.gpState + +# ReSharper is a .NET coding add-in +_ReSharper*/ +*.[Rr]e[Ss]harper +*.DotSettings.user + +# JustCode is a .NET coding addin-in +.JustCode + +# TeamCity is a build add-in +_TeamCity* + +# DotCover is a Code Coverage Tool +*.dotCover + +# NCrunch +_NCrunch_* +.*crunch*.local.xml + +# MightyMoose +*.mm.* +AutoTest.Net/ + +# Web workbench (sass) +.sass-cache/ + +# Installshield output folder +[Ee]xpress/ + +# DocProject is a documentation generator add-in +DocProject/buildhelp/ +DocProject/Help/*.HxT +DocProject/Help/*.HxC +DocProject/Help/*.hhc +DocProject/Help/*.hhk +DocProject/Help/*.hhp +DocProject/Help/Html2 +DocProject/Help/html + +# Click-Once directory +publish/ + +# Publish Web Output +*.[Pp]ublish.xml +*.azurePubxml +# TODO: Comment the next line if you want to checkin your web deploy settings +# but database connection strings (with potential passwords) will be unencrypted +*.pubxml + +# NuGet Packages +*.nupkg +# The packages folder can be ignored because of Package Restore +**/packages/* +# except build/, which is used as an MSBuild target. +!**/packages/build/ +# If using the old MSBuild-Integrated Package Restore, uncomment this: +#!**/packages/repositories.config + +# Windows Azure Build Output +csx/ +*.build.csdef + +# Windows Store app package directory +AppPackages/ + +# Others +sql/ +*.Cache +ClientBin/ +[Ss]tyle[Cc]op.* +~$* +*~ +*.dbmdl +*.dbproj.schemaview +*.pfx +*.publishsettings +node_modules/ + +# RIA/Silverlight projects +Generated_Code/ + +# Backup & report files from converting an old project file +# to a newer Visual Studio version. Backup files are not needed, +# because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML +UpgradeLog*.htm + +# SQL Server files +*.mdf +*.ldf + +# Business Intelligence projects +*.rdl.data +*.bim.layout +*.bim_*.settings + +# Microsoft Fakes +FakesAssemblies/ + + +### vim ### +[._]*.s[a-w][a-z] +[._]s[a-w][a-z] +*.un~ +Session.vim +.netrwhist +*~ + + +### Python ### +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] + +# C extensions +*.so + +# Distribution / packaging +.Python +env/ +build/ +develop-eggs/ +dist/ +eggs/ +parts/ +sdist/ +var/ +*.egg-info/ +.installed.cfg +*.egg + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.coverage +.cache +nosetests.xml +coverage.xml + +# Translations +*.mo +*.pot + +# Django stuff: +*.log + +# Sphinx documentation +docs/_build/ + +# PyBuilder +target/ + +### WDK ### +*.err +*.wrn objchk_*/ objfre_*/ -[Dd]ebug/ -[Rr]elease/ -build/ \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..0ad5da7 --- /dev/null +++ b/README.md @@ -0,0 +1,79 @@ +Interception +============ + +[Download the latest release][latest-release] + +Building +-------- + +Source code is built upon [Windows Driver Kit Version 7.1.0][wdk]. + +Simple build scripts (`buildit.cmd`) are provided to build using specific build +environments of the WDK, they require the environment variable `%WDK%` to be +previously set to the WDK installation directory. + +- Tested from Windows XP to Windows 8.1. + +Driver installation +------------------- + +Drivers can be installed through the command line installer, but driver +installation requires execution inside a prompt with administrative rights. + +Run `install-interception` without any arguments inside an console executed as +administrator and it will give instructions for installation. + +License +------- +Interception is dual-licensed. + +For non-commercial purposes it adopts LGPL for the library and its source code, +with rights of distribution of the related binary assets (drivers and installers +) once communication with drivers happen solely by use of the library and its +API. + +For commercial purposes it adopts two other licenses which can be checked in the +[licenses directory][licenses]: + + - [Interception API License][interception-api-license]: + It's similar to the non-commercial license, solely removing restrictions for + commercial usage. + It also includes an additional asset which is an installer + library, so that driver installation can be embedded silently in your own + installer. + + - [Interception License][interception-license]: + Provides access to all source code, including drivers and installers. + +Use cases +--------- + +Interception has been used around the world in cases I couldn't imagine when I +first created it: + + - Helping people with accessibility limitations, tailoring systems according + to their limitations. + - By companies in aviation training, to connect many devices at once and + customizing each one. + - By companies providing SCADA (supervisory control and data acquisition) + solutions. + - In game applications like BOTs and control customization. + - To construct an emacs mode of the system. + - To customize supermarket cashier's system. + +For fun: + +![lissajous][lissajous] +![rose][rose] +![butterfly][butterfly] + +© 2008 Francisco Lopes + +[latest-release]: /~https://github.com/oblitum/interception/releases/latest +[wdk]: http://www.microsoft.com/en-us/download/details.aspx?id=11800 +[lissajous]: https://sites.google.com/a/oblita.com/yorick/_/rsrc/1237686557679/hooking-part3/lissajous.png +[rose]: https://sites.google.com/a/oblita.com/yorick/_/rsrc/1237686585300/hooking-part3/rose.png +[butterfly]: https://sites.google.com/a/oblita.com/yorick/_/rsrc/1237686591599/hooking-part3/butterfly.png +[licenses]: /~https://github.com/oblitum/Interception/tree/master/licenses +[interception-license]: /~https://github.com/oblitum/Interception/blob/master/licenses/commercial-usage/Interception.pdf +[interception-api-license]: /~https://github.com/oblitum/Interception/blob/master/licenses/commercial-usage/Interception%20API.pdf diff --git a/library/buildit-x64.cmd b/library/buildit-x64.cmd new file mode 100644 index 0000000..204d06f --- /dev/null +++ b/library/buildit-x64.cmd @@ -0,0 +1,5 @@ +@echo off + +SET PATH=%PATH%;..\tools + +%ComSpec% /c "scd . && pushd . && %WDK%\bin\setenv %WDK% fre x64 WIN7 no_oacr && popd && build" diff --git a/library/buildit.cmd b/library/buildit.cmd new file mode 100644 index 0000000..2aa5722 --- /dev/null +++ b/library/buildit.cmd @@ -0,0 +1,5 @@ +@echo off + +SET PATH=%PATH%;..\tools + +%ComSpec% /c "scd . && pushd . && %WDK%\bin\setenv %WDK% fre x86 WXP no_oacr && popd && build" diff --git a/windows/interception.c b/library/interception.c similarity index 88% rename from windows/interception.c rename to library/interception.c index 001e33d..699fc0e 100644 --- a/windows/interception.c +++ b/library/interception.c @@ -1,3 +1,4 @@ +#include #include #include @@ -42,9 +43,7 @@ typedef struct InterceptionContext interception_create_context(void) { InterceptionDeviceArray device_array = 0; - char keyboard_name[] = "\\\\.\\interception00"; - char mouse_name[] = "\\\\.\\interception10"; - char *device_name; + char device_name[] = "\\\\.\\interception00"; DWORD bytes_returned; InterceptionDevice i; @@ -55,27 +54,22 @@ InterceptionContext interception_create_context(void) { HANDLE zero_padded_handle[2] = {0}; - if(i < INTERCEPTION_MAX_KEYBOARD) - { - device_name = keyboard_name; - device_name[sizeof(keyboard_name) - 2] = '0' + (char)i; - } - else - { - device_name = mouse_name; - device_name[sizeof(mouse_name) - 2] = '0' + (char)i - INTERCEPTION_MAX_KEYBOARD; - } + sprintf(&device_name[sizeof(device_name) - 3], "%02d", i); device_array[i].handle = CreateFile(device_name, GENERIC_READ, 0, NULL, OPEN_EXISTING, 0, NULL); + + if (device_array[i].handle == INVALID_HANDLE_VALUE) + continue; + device_array[i].unempty = CreateEvent(NULL, TRUE, FALSE, NULL); - if(device_array[i].handle == 0 || device_array[i].unempty == 0) + if(device_array[i].unempty == NULL) { interception_destroy_context(device_array); return 0; } - zero_padded_handle[0] = device_array[i].unempty; + zero_padded_handle[0] = device_array[i].unempty; if(!DeviceIoControl(device_array[i].handle, IOCTL_SET_EVENT, zero_padded_handle, sizeof(zero_padded_handle), NULL, 0, &bytes_returned, NULL)) { @@ -96,15 +90,11 @@ void interception_destroy_context(InterceptionContext context) for(i = 0; i < INTERCEPTION_MAX_DEVICE; ++i) { - if(device_array[i].handle) + if(device_array[i].handle != INVALID_HANDLE_VALUE) CloseHandle(device_array[i].handle); - else - break; - if(device_array[i].unempty) + if(device_array[i].unempty != NULL) CloseHandle(device_array[i].unempty); - else - break; } HeapFree(GetProcessHeap(), 0, context); @@ -116,7 +106,7 @@ InterceptionPrecedence interception_get_precedence(InterceptionContext context, InterceptionPrecedence precedence = 0; DWORD bytes_returned; - if(context) + if(context && device_array[device - 1].handle) DeviceIoControl(device_array[device - 1].handle, IOCTL_GET_PRECEDENCE, NULL, 0, (LPVOID)&precedence, sizeof(InterceptionPrecedence), &bytes_returned, NULL); return precedence; @@ -127,7 +117,7 @@ void interception_set_precedence(InterceptionContext context, InterceptionDevice InterceptionDeviceArray device_array = (InterceptionDeviceArray)context; DWORD bytes_returned; - if(context) + if(context && device_array[device - 1].handle) DeviceIoControl(device_array[device - 1].handle, IOCTL_SET_PRECEDENCE, (LPVOID)&precedence, sizeof(InterceptionPrecedence), NULL, 0, &bytes_returned, NULL); } @@ -137,7 +127,7 @@ InterceptionFilter interception_get_filter(InterceptionContext context, Intercep InterceptionFilter filter = 0; DWORD bytes_returned; - if(context) + if(context && device_array[device - 1].handle) DeviceIoControl(device_array[device - 1].handle, IOCTL_GET_FILTER, NULL, 0, (LPVOID)&filter, sizeof(InterceptionFilter), &bytes_returned, NULL); return filter; @@ -151,7 +141,7 @@ void interception_set_filter(InterceptionContext context, InterceptionPredicate if(context) for(i = 0; i < INTERCEPTION_MAX_DEVICE; ++i) - if(interception_predicate(i + 1)) + if(device_array[i].handle && interception_predicate(i + 1)) DeviceIoControl(device_array[i].handle, IOCTL_SET_FILTER, (LPVOID)&filter, sizeof(InterceptionFilter), NULL, 0, &bytes_returned, NULL); } @@ -164,15 +154,26 @@ InterceptionDevice interception_wait_with_timeout(InterceptionContext context, u { InterceptionDeviceArray device_array = (InterceptionDeviceArray)context; HANDLE wait_handles[INTERCEPTION_MAX_DEVICE]; - InterceptionDevice i; + DWORD i, j, k; if(!context) return 0; - for(i = 0; i < INTERCEPTION_MAX_DEVICE; ++i) wait_handles[i] = device_array[i].unempty; + for(i = 0, j = 0; i < INTERCEPTION_MAX_DEVICE; ++i) + { + if (device_array[i].unempty) + wait_handles[j++] = device_array[i].unempty; + } - i = WaitForMultipleObjects(INTERCEPTION_MAX_DEVICE, wait_handles, FALSE, milliseconds); + k = WaitForMultipleObjects(j, wait_handles, FALSE, milliseconds); - if(i == WAIT_FAILED || i == WAIT_TIMEOUT) return 0; + if(k == WAIT_FAILED || k == WAIT_TIMEOUT) return 0; + + for(i = 0, j = 0; i < INTERCEPTION_MAX_DEVICE; ++i) + { + if (device_array[i].unempty) + if (k == j++) + break; + } return i + 1; } @@ -182,7 +183,7 @@ int interception_send(InterceptionContext context, InterceptionDevice device, co InterceptionDeviceArray device_array = (InterceptionDeviceArray)context; DWORD strokeswritten = 0; - if(context == 0 || nstroke == 0 || interception_is_invalid(device)) return 0; + if(context == 0 || nstroke == 0 || interception_is_invalid(device) || !device_array[device - 1].handle) return 0; if(interception_is_keyboard(device)) { @@ -194,7 +195,7 @@ int interception_send(InterceptionContext context, InterceptionDevice device, co for(i = 0; i < nstroke; ++i) { InterceptionKeyStroke *key_stroke = (InterceptionKeyStroke *) stroke; - + rawstrokes[i].UnitId = 0; rawstrokes[i].MakeCode = key_stroke[i].code; rawstrokes[i].Flags = key_stroke[i].state; @@ -218,7 +219,7 @@ int interception_send(InterceptionContext context, InterceptionDevice device, co for(i = 0; i < nstroke; ++i) { InterceptionMouseStroke *mouse_stroke = (InterceptionMouseStroke *) stroke; - + rawstrokes[i].UnitId = 0; rawstrokes[i].Flags = mouse_stroke[i].flags; rawstrokes[i].ButtonFlags = mouse_stroke[i].state; @@ -244,7 +245,7 @@ int interception_receive(InterceptionContext context, InterceptionDevice device, InterceptionDeviceArray device_array = (InterceptionDeviceArray)context; DWORD strokesread = 0; - if(context == 0 || nstroke == 0 || interception_is_invalid(device)) return 0; + if(context == 0 || nstroke == 0 || interception_is_invalid(device) || !device_array[device - 1].handle) return 0; if(interception_is_keyboard(device)) { @@ -260,7 +261,7 @@ int interception_receive(InterceptionContext context, InterceptionDevice device, for(i = 0; i < (unsigned int)strokesread; ++i) { InterceptionKeyStroke *key_stroke = (InterceptionKeyStroke *) stroke; - + key_stroke[i].code = rawstrokes[i].MakeCode; key_stroke[i].state = rawstrokes[i].Flags; key_stroke[i].information = rawstrokes[i].ExtraInformation; @@ -282,7 +283,7 @@ int interception_receive(InterceptionContext context, InterceptionDevice device, for(i = 0; i < (unsigned int)strokesread; ++i) { InterceptionMouseStroke *mouse_stroke = (InterceptionMouseStroke *) stroke; - + mouse_stroke[i].flags = rawstrokes[i].Flags; mouse_stroke[i].state = rawstrokes[i].ButtonFlags; mouse_stroke[i].rolling = rawstrokes[i].ButtonData; @@ -302,8 +303,8 @@ unsigned int interception_get_hardware_id(InterceptionContext context, Intercept InterceptionDeviceArray device_array = (InterceptionDeviceArray)context; DWORD output_size = 0; - if(context == 0 || interception_is_invalid(device)) return 0; - + if(context == 0 || interception_is_invalid(device) || !device_array[device - 1].handle) return 0; + DeviceIoControl(device_array[device - 1].handle, IOCTL_GET_HARDWARE_ID, NULL, 0, hardware_id_buffer, buffer_size, &output_size, NULL); return output_size; @@ -322,4 +323,4 @@ int interception_is_keyboard(InterceptionDevice device) int interception_is_mouse(InterceptionDevice device) { return device >= INTERCEPTION_MOUSE(0) && device <= INTERCEPTION_MOUSE(INTERCEPTION_MAX_MOUSE - 1); -} \ No newline at end of file +} diff --git a/include/interception.h b/library/interception.h similarity index 99% rename from include/interception.h rename to library/interception.h index 8331c6d..b717b37 100644 --- a/include/interception.h +++ b/library/interception.h @@ -191,4 +191,4 @@ int INTERCEPTION_API interception_is_mouse(InterceptionDevice device); } #endif -#endif \ No newline at end of file +#endif diff --git a/windows/interception.rc b/library/interception.rc similarity index 88% rename from windows/interception.rc rename to library/interception.rc index ef3b74e..27b3c36 100644 --- a/windows/interception.rc +++ b/library/interception.rc @@ -9,9 +9,9 @@ #define VER_FILETYPE VFT_DLL #define VER_FILESUBTYPE VFT2_UNKNOWN -#define VER_COMPANYNAME_STR "Oblita" +#define VER_COMPANYNAME_STR "Francisco Lopes" #define VER_PRODUCTNAME_STR "Interception" -#define VER_LEGALCOPYRIGHT_YEARS "2008-2012" +#define VER_LEGALCOPYRIGHT_YEARS "2008-2014" #define VER_LEGALCOPYRIGHT_STR "Copyright (C) " VER_LEGALCOPYRIGHT_YEARS " Francisco Lopes da Silva" #define VER_LEGALTRADEMARKS_STR "Copyright (C) " VER_LEGALCOPYRIGHT_YEARS " Francisco Lopes da Silva" @@ -23,4 +23,4 @@ #define VER_INTERNALNAME_STR "interception.dll" #define VER_ORIGINALFILENAME_STR "interception.dll" -#include "common.ver" \ No newline at end of file +#include "common.ver" diff --git a/library/makefile b/library/makefile new file mode 100644 index 0000000..10b9a1e --- /dev/null +++ b/library/makefile @@ -0,0 +1,7 @@ +# +# DO NOT EDIT THIS FILE!!! Edit .\sources. if you want to add a new source +# file to this component. This file merely indirects to the real make file +# that is shared by all the components of NT OS/2 +# +!INCLUDE $(NTMAKEENV)\makefile.def + diff --git a/library/sources b/library/sources new file mode 100644 index 0000000..91ce275 --- /dev/null +++ b/library/sources @@ -0,0 +1,11 @@ +TARGETNAME=interception +TARGETTYPE=DYNLINK +DLLENTRY=_DllMainCRTStartup +DLLDEF= + +USE_MSVCRT=1 +386_STDCALL=0 + +C_DEFINES = $(C_DEFINES) /DINTERCEPTION_EXPORT +TARGETLIBS=$(SDK_LIB_PATH)\kernel32.lib $(SDK_LIB_PATH)\advapi32.lib +SOURCES=interception.c interception.rc diff --git a/licenses/commercial-usage/Interception API.pdf b/licenses/commercial-usage/Interception API.pdf new file mode 100644 index 0000000..4fa1ed5 Binary files /dev/null and b/licenses/commercial-usage/Interception API.pdf differ diff --git a/licenses/commercial-usage/Interception.pdf b/licenses/commercial-usage/Interception.pdf new file mode 100644 index 0000000..d564d42 Binary files /dev/null and b/licenses/commercial-usage/Interception.pdf differ diff --git a/licenses/non-commercial-usage/LGPL 3.0.txt b/licenses/non-commercial-usage/LGPL 3.0.txt new file mode 100644 index 0000000..65c5ca8 --- /dev/null +++ b/licenses/non-commercial-usage/LGPL 3.0.txt @@ -0,0 +1,165 @@ + GNU LESSER GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + + This version of the GNU Lesser General Public License incorporates +the terms and conditions of version 3 of the GNU General Public +License, supplemented by the additional permissions listed below. + + 0. Additional Definitions. + + As used herein, "this License" refers to version 3 of the GNU Lesser +General Public License, and the "GNU GPL" refers to version 3 of the GNU +General Public License. + + "The Library" refers to a covered work governed by this License, +other than an Application or a Combined Work as defined below. + + An "Application" is any work that makes use of an interface provided +by the Library, but which is not otherwise based on the Library. +Defining a subclass of a class defined by the Library is deemed a mode +of using an interface provided by the Library. + + A "Combined Work" is a work produced by combining or linking an +Application with the Library. The particular version of the Library +with which the Combined Work was made is also called the "Linked +Version". + + The "Minimal Corresponding Source" for a Combined Work means the +Corresponding Source for the Combined Work, excluding any source code +for portions of the Combined Work that, considered in isolation, are +based on the Application, and not on the Linked Version. + + The "Corresponding Application Code" for a Combined Work means the +object code and/or source code for the Application, including any data +and utility programs needed for reproducing the Combined Work from the +Application, but excluding the System Libraries of the Combined Work. + + 1. Exception to Section 3 of the GNU GPL. + + You may convey a covered work under sections 3 and 4 of this License +without being bound by section 3 of the GNU GPL. + + 2. Conveying Modified Versions. + + If you modify a copy of the Library, and, in your modifications, a +facility refers to a function or data to be supplied by an Application +that uses the facility (other than as an argument passed when the +facility is invoked), then you may convey a copy of the modified +version: + + a) under this License, provided that you make a good faith effort to + ensure that, in the event an Application does not supply the + function or data, the facility still operates, and performs + whatever part of its purpose remains meaningful, or + + b) under the GNU GPL, with none of the additional permissions of + this License applicable to that copy. + + 3. Object Code Incorporating Material from Library Header Files. + + The object code form of an Application may incorporate material from +a header file that is part of the Library. You may convey such object +code under terms of your choice, provided that, if the incorporated +material is not limited to numerical parameters, data structure +layouts and accessors, or small macros, inline functions and templates +(ten or fewer lines in length), you do both of the following: + + a) Give prominent notice with each copy of the object code that the + Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the object code with a copy of the GNU GPL and this license + document. + + 4. Combined Works. + + You may convey a Combined Work under terms of your choice that, +taken together, effectively do not restrict modification of the +portions of the Library contained in the Combined Work and reverse +engineering for debugging such modifications, if you also do each of +the following: + + a) Give prominent notice with each copy of the Combined Work that + the Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the Combined Work with a copy of the GNU GPL and this license + document. + + c) For a Combined Work that displays copyright notices during + execution, include the copyright notice for the Library among + these notices, as well as a reference directing the user to the + copies of the GNU GPL and this license document. + + d) Do one of the following: + + 0) Convey the Minimal Corresponding Source under the terms of this + License, and the Corresponding Application Code in a form + suitable for, and under terms that permit, the user to + recombine or relink the Application with a modified version of + the Linked Version to produce a modified Combined Work, in the + manner specified by section 6 of the GNU GPL for conveying + Corresponding Source. + + 1) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (a) uses at run time + a copy of the Library already present on the user's computer + system, and (b) will operate properly with a modified version + of the Library that is interface-compatible with the Linked + Version. + + e) Provide Installation Information, but only if you would otherwise + be required to provide such information under section 6 of the + GNU GPL, and only to the extent that such information is + necessary to install and execute a modified version of the + Combined Work produced by recombining or relinking the + Application with a modified version of the Linked Version. (If + you use option 4d0, the Installation Information must accompany + the Minimal Corresponding Source and Corresponding Application + Code. If you use option 4d1, you must provide the Installation + Information in the manner specified by section 6 of the GNU GPL + for conveying Corresponding Source.) + + 5. Combined Libraries. + + You may place library facilities that are a work based on the +Library side by side in a single library together with other library +facilities that are not Applications and are not covered by this +License, and convey such a combined library under terms of your +choice, if you do both of the following: + + a) Accompany the combined library with a copy of the same work based + on the Library, uncombined with any other library facilities, + conveyed under the terms of this License. + + b) Give prominent notice with the combined library that part of it + is a work based on the Library, and explaining where to find the + accompanying uncombined form of the same work. + + 6. Revised Versions of the GNU Lesser General Public License. + + The Free Software Foundation may publish revised and/or new versions +of the GNU Lesser General Public License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. + + Each version is given a distinguishing version number. If the +Library as you received it specifies that a certain numbered version +of the GNU Lesser General Public License "or any later version" +applies to it, you have the option of following the terms and +conditions either of that published version or of any later version +published by the Free Software Foundation. If the Library as you +received it does not specify a version number of the GNU Lesser +General Public License, you may choose any version of the GNU Lesser +General Public License ever published by the Free Software Foundation. + + If the Library as you received it specifies that a proxy can decide +whether future versions of the GNU Lesser General Public License shall +apply, that proxy's public statement of acceptance of any version is +permanent authorization for you to choose that version for the +Library. diff --git a/samples/.ycm_extra_conf.py b/samples/.ycm_extra_conf.py new file mode 100644 index 0000000..6bc1b5c --- /dev/null +++ b/samples/.ycm_extra_conf.py @@ -0,0 +1,171 @@ +# This file is NOT licensed under the GPLv3, which is the license for the rest +# of YouCompleteMe. +# +# Here's the license text for this file: +# +# This is free and unencumbered software released into the public domain. +# +# Anyone is free to copy, modify, publish, use, compile, sell, or +# distribute this software, either in source code form or as a compiled +# binary, for any purpose, commercial or non-commercial, and by any +# means. +# +# In jurisdictions that recognize copyright laws, the author or authors +# of this software dedicate any and all copyright interest in the +# software to the public domain. We make this dedication for the benefit +# of the public at large and to the detriment of our heirs and +# successors. We intend this dedication to be an overt act of +# relinquishment in perpetuity of all present and future rights to this +# software under copyright law. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +# IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR +# OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# For more information, please refer to + +import os +import ycm_core + +# These are the compilation flags that will be used in case there's no +# compilation database set (by default, one is not set). +# CHANGE THIS LIST OF FLAGS. YES, THIS IS THE DROID YOU HAVE BEEN LOOKING FOR. +flags = [ +'-x', 'c++', +'-Wall', +'-Wextra', +'-Wno-ignored-attributes', +'-fms-compatibility', +'-fmsc-version=1500', +'-fdelayed-template-parsing', +'-std=c++98', +'-D_X86_=1', +'-Di386=1', +'-DSTD_CALL', +'-DCONDITION_HANDLING=1', +'-DNT_UP=1', +'-DNT_INST=0', +'-DWIN32=100', +'-D_NT1X_=100', +'-DWINNT=1', +'-D_WIN32_WINNT=0x0501', +'-DWINVER=0x0501', +'-D_WIN32_IE=0x0603', +'-DWIN32_LEAN_AND_MEAN=1', +'-DDEVL=1', +'-DDBG=1', +'-D__BUILDMACHINE__=WinDDK', +'-DFPO=0', +'-D_DLL=1', +'-DNDEBUG', +'-DDEPRECATE_DDK_FUNCTIONS=1', +'-DMSC_NOOPT', +'-DNTDDI_VERSION=0x05010200', +'-DKMDF_MAJOR_VERSION_STRING=01', +'-DKMDF_MINOR_VERSION_STRING=009', +'-D_STL70_', +'-D_MSC_VER=1600', +'-D_WIN32', +'-I', '/opt/src/wdk/inc/crt', +'-I', '/opt/src/wdk/inc/api', +'-I', '/opt/src/wdk/inc/ddk', +'-I', '/opt/src/wdk/inc/api/crt/stl70', +'-I', '../library', +'-I', '.', +] + + +# Set this to the absolute path to the folder (NOT the file!) containing the +# compile_commands.json file to use that instead of 'flags'. See here for +# more details: http://clang.llvm.org/docs/JSONCompilationDatabase.html +# +# Most projects will NOT need to set this to anything; you can just change the +# 'flags' list of compilation flags. Notice that YCM itself uses that approach. +compilation_database_folder = '' + +if os.path.exists( compilation_database_folder ): + database = ycm_core.CompilationDatabase( compilation_database_folder ) +else: + database = None + +SOURCE_EXTENSIONS = [ '.cpp', '.cxx', '.cc', '.c', '.m', '.mm' ] + +def DirectoryOfThisScript(): + return os.path.dirname( os.path.abspath( __file__ ) ) + + +def MakeRelativePathsInFlagsAbsolute( flags, working_directory ): + if not working_directory: + return list( flags ) + new_flags = [] + make_next_absolute = False + path_flags = [ '-isystem', '-I', '-iquote', '--sysroot=' ] + for flag in flags: + new_flag = flag + + if make_next_absolute: + make_next_absolute = False + if not flag.startswith( '/' ): + new_flag = os.path.join( working_directory, flag ) + + for path_flag in path_flags: + if flag == path_flag: + make_next_absolute = True + break + + if flag.startswith( path_flag ): + path = flag[ len( path_flag ): ] + new_flag = path_flag + os.path.join( working_directory, path ) + break + + if new_flag: + new_flags.append( new_flag ) + return new_flags + + +def IsHeaderFile( filename ): + extension = os.path.splitext( filename )[ 1 ] + return extension in [ '.h', '.hxx', '.hpp', '.hh' ] + + +def GetCompilationInfoForFile( filename ): + # The compilation_commands.json file generated by CMake does not have entries + # for header files. So we do our best by asking the db for flags for a + # corresponding source file, if any. If one exists, the flags for that file + # should be good enough. + if IsHeaderFile( filename ): + basename = os.path.splitext( filename )[ 0 ] + for extension in SOURCE_EXTENSIONS: + replacement_file = basename + extension + if os.path.exists( replacement_file ): + compilation_info = database.GetCompilationInfoForFile( + replacement_file ) + if compilation_info.compiler_flags_: + return compilation_info + return None + return database.GetCompilationInfoForFile( filename ) + + +def FlagsForFile( filename, **kwargs ): + if database: + # Bear in mind that compilation_info.compiler_flags_ does NOT return a + # python list, but a "list-like" StringVec object + compilation_info = GetCompilationInfoForFile( filename ) + if not compilation_info: + return None + + final_flags = MakeRelativePathsInFlagsAbsolute( + compilation_info.compiler_flags_, + compilation_info.compiler_working_dir_ ) + else: + relative_to = DirectoryOfThisScript() + final_flags = MakeRelativePathsInFlagsAbsolute( flags, relative_to ) + + return { + 'flags': final_flags, + 'do_cache': True + } diff --git a/samples/axes/main.cpp b/samples/axes/axes.cpp similarity index 97% rename from samples/axes/main.cpp rename to samples/axes/axes.cpp index 7e21bff..4c89f59 100644 --- a/samples/axes/main.cpp +++ b/samples/axes/axes.cpp @@ -1,5 +1,5 @@ #include -#include "utils.h" +#include enum ScanCode { @@ -11,11 +11,11 @@ int main() InterceptionContext context; InterceptionDevice device; InterceptionStroke stroke; - + raise_process_priority(); - + context = interception_create_context(); - + interception_set_filter(context, interception_is_keyboard, INTERCEPTION_FILTER_KEY_DOWN | INTERCEPTION_FILTER_KEY_UP); interception_set_filter(context, interception_is_mouse, INTERCEPTION_FILTER_MOUSE_MOVE); diff --git a/samples/axes/axes.sln b/samples/axes/axes.sln deleted file mode 100644 index ce14e88..0000000 --- a/samples/axes/axes.sln +++ /dev/null @@ -1,20 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual C++ Express 2010 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "axes", "axes.vcxproj", "{215FB8BB-6069-436E-B7C3-24193861129B}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Release|Win32 = Release|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {215FB8BB-6069-436E-B7C3-24193861129B}.Debug|Win32.ActiveCfg = Debug|Win32 - {215FB8BB-6069-436E-B7C3-24193861129B}.Debug|Win32.Build.0 = Debug|Win32 - {215FB8BB-6069-436E-B7C3-24193861129B}.Release|Win32.ActiveCfg = Release|Win32 - {215FB8BB-6069-436E-B7C3-24193861129B}.Release|Win32.Build.0 = Release|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/samples/axes/axes.vcxproj b/samples/axes/axes.vcxproj deleted file mode 100644 index 382675c..0000000 --- a/samples/axes/axes.vcxproj +++ /dev/null @@ -1,92 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {215FB8BB-6069-436E-B7C3-24193861129B} - Win32Proj - axes - - - - Application - true - Unicode - - - Application - false - true - Unicode - - - - - - - - - - - - - true - - - false - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - $(ProjectDir)..\..\include;%(AdditionalIncludeDirectories) - - - Console - true - $(ProjectDir)..\..\bin\x86\debug - interception.lib;%(AdditionalDependencies) - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) - $(ProjectDir)..\..\include;%(AdditionalIncludeDirectories) - - - Console - true - true - true - $(ProjectDir)..\..\bin\x86\release - interception.lib;%(AdditionalDependencies) - - - - - - - - - - - - - \ No newline at end of file diff --git a/samples/axes/axes.vcxproj.filters b/samples/axes/axes.vcxproj.filters deleted file mode 100644 index e65f236..0000000 --- a/samples/axes/axes.vcxproj.filters +++ /dev/null @@ -1,30 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - Source Files - - - - - Header Files - - - \ No newline at end of file diff --git a/samples/axes/buildit.cmd b/samples/axes/buildit.cmd new file mode 100644 index 0000000..4bbed7e --- /dev/null +++ b/samples/axes/buildit.cmd @@ -0,0 +1,5 @@ +@echo off + +SET PATH=%PATH%;..\..\tools + +%ComSpec% /c "scd . && pushd . && %WDK%\bin\setenv %WDK% fre x86 WXP no_oacr && popd && build" diff --git a/samples/axes/makefile b/samples/axes/makefile new file mode 100644 index 0000000..10b9a1e --- /dev/null +++ b/samples/axes/makefile @@ -0,0 +1,7 @@ +# +# DO NOT EDIT THIS FILE!!! Edit .\sources. if you want to add a new source +# file to this component. This file merely indirects to the real make file +# that is shared by all the components of NT OS/2 +# +!INCLUDE $(NTMAKEENV)\makefile.def + diff --git a/samples/axes/sources b/samples/axes/sources new file mode 100644 index 0000000..18b8d30 --- /dev/null +++ b/samples/axes/sources @@ -0,0 +1,13 @@ +TARGETNAME=axes +TARGETTYPE=PROGRAM +UMTYPE=console + +USE_NATIVE_EH=1 +USE_MSVCRT=1 +USE_RTTI=1 +USE_STL=1 +386_STDCALL=0 + +INCLUDES=..;..\..\library +TARGETLIBS=..\..\library\objfre_wxp_x86\i386\interception.lib +SOURCES=..\utils.c axes.cpp diff --git a/samples/axes/utils.h b/samples/axes/utils.h deleted file mode 100644 index b1446bf..0000000 --- a/samples/axes/utils.h +++ /dev/null @@ -1,15 +0,0 @@ -#ifndef _UTILS_H_ -#define _UTILS_H_ - -#ifdef __cplusplus -extern "C" { -#endif - -void raise_process_priority(void); -void lower_process_priority(void); - -#ifdef __cplusplus -} -#endif - -#endif \ No newline at end of file diff --git a/samples/cadstop/buildit.cmd b/samples/cadstop/buildit.cmd new file mode 100644 index 0000000..4bbed7e --- /dev/null +++ b/samples/cadstop/buildit.cmd @@ -0,0 +1,5 @@ +@echo off + +SET PATH=%PATH%;..\..\tools + +%ComSpec% /c "scd . && pushd . && %WDK%\bin\setenv %WDK% fre x86 WXP no_oacr && popd && build" diff --git a/samples/cadstop/main.cpp b/samples/cadstop/cadstop.cpp similarity index 99% rename from samples/cadstop/main.cpp rename to samples/cadstop/cadstop.cpp index 4f5da6b..8ec192f 100644 --- a/samples/cadstop/main.cpp +++ b/samples/cadstop/cadstop.cpp @@ -1,5 +1,5 @@ #include -#include "utils.h" +#include #include #include diff --git a/samples/cadstop/cadstop.sln b/samples/cadstop/cadstop.sln deleted file mode 100644 index 7b625c3..0000000 --- a/samples/cadstop/cadstop.sln +++ /dev/null @@ -1,20 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual C++ Express 2010 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cadstop", "cadstop.vcxproj", "{EDF26DC8-79E5-4EE9-B665-FEC074FA0351}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Release|Win32 = Release|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {EDF26DC8-79E5-4EE9-B665-FEC074FA0351}.Debug|Win32.ActiveCfg = Debug|Win32 - {EDF26DC8-79E5-4EE9-B665-FEC074FA0351}.Debug|Win32.Build.0 = Debug|Win32 - {EDF26DC8-79E5-4EE9-B665-FEC074FA0351}.Release|Win32.ActiveCfg = Release|Win32 - {EDF26DC8-79E5-4EE9-B665-FEC074FA0351}.Release|Win32.Build.0 = Release|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/samples/cadstop/cadstop.vcxproj b/samples/cadstop/cadstop.vcxproj deleted file mode 100644 index 1453072..0000000 --- a/samples/cadstop/cadstop.vcxproj +++ /dev/null @@ -1,92 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {EDF26DC8-79E5-4EE9-B665-FEC074FA0351} - Win32Proj - cadstop - - - - Application - true - Unicode - - - Application - false - true - Unicode - - - - - - - - - - - - - true - - - false - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - $(ProjectDir)..\..\include;%(AdditionalIncludeDirectories) - - - Console - true - $(ProjectDir)..\..\bin\x86\debug - interception.lib;%(AdditionalDependencies) - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) - $(ProjectDir)..\..\include;%(AdditionalIncludeDirectories) - - - Console - true - true - true - $(ProjectDir)..\..\bin\x86\release - interception.lib;%(AdditionalDependencies) - - - - - - - - - - - - - \ No newline at end of file diff --git a/samples/cadstop/cadstop.vcxproj.filters b/samples/cadstop/cadstop.vcxproj.filters deleted file mode 100644 index e65f236..0000000 --- a/samples/cadstop/cadstop.vcxproj.filters +++ /dev/null @@ -1,30 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - Source Files - - - - - Header Files - - - \ No newline at end of file diff --git a/samples/cadstop/makefile b/samples/cadstop/makefile new file mode 100644 index 0000000..10b9a1e --- /dev/null +++ b/samples/cadstop/makefile @@ -0,0 +1,7 @@ +# +# DO NOT EDIT THIS FILE!!! Edit .\sources. if you want to add a new source +# file to this component. This file merely indirects to the real make file +# that is shared by all the components of NT OS/2 +# +!INCLUDE $(NTMAKEENV)\makefile.def + diff --git a/samples/cadstop/sources b/samples/cadstop/sources new file mode 100644 index 0000000..86e5e54 --- /dev/null +++ b/samples/cadstop/sources @@ -0,0 +1,13 @@ +TARGETNAME=cadstop +TARGETTYPE=PROGRAM +UMTYPE=console + +USE_NATIVE_EH=1 +USE_MSVCRT=1 +USE_RTTI=1 +USE_STL=1 +386_STDCALL=0 + +INCLUDES=..;..\..\library +TARGETLIBS=..\..\library\objfre_wxp_x86\i386\interception.lib +SOURCES=..\utils.c cadstop.cpp diff --git a/samples/cadstop/utils.c b/samples/cadstop/utils.c deleted file mode 100644 index a2f4549..0000000 --- a/samples/cadstop/utils.c +++ /dev/null @@ -1,13 +0,0 @@ -#include -#include "utils.h" - - -void raise_process_priority(void) -{ - SetPriorityClass(GetCurrentProcess(), HIGH_PRIORITY_CLASS); -} - -void lower_process_priority(void) -{ - SetPriorityClass(GetCurrentProcess(), NORMAL_PRIORITY_CLASS); -} \ No newline at end of file diff --git a/samples/cadstop/utils.h b/samples/cadstop/utils.h deleted file mode 100644 index b1446bf..0000000 --- a/samples/cadstop/utils.h +++ /dev/null @@ -1,15 +0,0 @@ -#ifndef _UTILS_H_ -#define _UTILS_H_ - -#ifdef __cplusplus -extern "C" { -#endif - -void raise_process_priority(void); -void lower_process_priority(void); - -#ifdef __cplusplus -} -#endif - -#endif \ No newline at end of file diff --git a/samples/hardwareid/buildit.cmd b/samples/hardwareid/buildit.cmd new file mode 100644 index 0000000..4bbed7e --- /dev/null +++ b/samples/hardwareid/buildit.cmd @@ -0,0 +1,5 @@ +@echo off + +SET PATH=%PATH%;..\..\tools + +%ComSpec% /c "scd . && pushd . && %WDK%\bin\setenv %WDK% fre x86 WXP no_oacr && popd && build" diff --git a/samples/hardwareid/main.cpp b/samples/hardwareid/hardwareid.cpp similarity index 96% rename from samples/hardwareid/main.cpp rename to samples/hardwareid/hardwareid.cpp index 1f639e1..ec54c1f 100644 --- a/samples/hardwareid/main.cpp +++ b/samples/hardwareid/hardwareid.cpp @@ -1,5 +1,5 @@ #include -#include "utils.h" +#include #include @@ -30,7 +30,7 @@ int main() if(interception_is_keyboard(device)) { InterceptionKeyStroke &keystroke = *(InterceptionKeyStroke *) &stroke; - + if(keystroke.code == SCANCODE_ESC) break; } @@ -38,7 +38,7 @@ int main() if(length > 0 && length < sizeof(hardware_id)) wcout << hardware_id << endl; - + interception_send(context, device, &stroke, 1); } diff --git a/samples/hardwareid/hardwareid.sln b/samples/hardwareid/hardwareid.sln deleted file mode 100644 index 87e5067..0000000 --- a/samples/hardwareid/hardwareid.sln +++ /dev/null @@ -1,20 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual C++ Express 2010 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "hardwareid", "hardwareid.vcxproj", "{C505C14B-679F-4AE9-8822-F4A4F85D7445}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Release|Win32 = Release|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {C505C14B-679F-4AE9-8822-F4A4F85D7445}.Debug|Win32.ActiveCfg = Debug|Win32 - {C505C14B-679F-4AE9-8822-F4A4F85D7445}.Debug|Win32.Build.0 = Debug|Win32 - {C505C14B-679F-4AE9-8822-F4A4F85D7445}.Release|Win32.ActiveCfg = Release|Win32 - {C505C14B-679F-4AE9-8822-F4A4F85D7445}.Release|Win32.Build.0 = Release|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/samples/hardwareid/hardwareid.vcxproj b/samples/hardwareid/hardwareid.vcxproj deleted file mode 100644 index 60df9be..0000000 --- a/samples/hardwareid/hardwareid.vcxproj +++ /dev/null @@ -1,92 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {C505C14B-679F-4AE9-8822-F4A4F85D7445} - Win32Proj - hardwareid - - - - Application - true - Unicode - - - Application - false - true - Unicode - - - - - - - - - - - - - true - - - false - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - $(ProjectDir)..\..\include;%(AdditionalIncludeDirectories) - - - Console - true - $(ProjectDir)..\..\bin\x86\debug - interception.lib;%(AdditionalDependencies) - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) - $(ProjectDir)..\..\include;%(AdditionalIncludeDirectories) - - - Console - true - true - true - $(ProjectDir)..\..\bin\x86\release - interception.lib;%(AdditionalDependencies) - - - - - - - - - - - - - \ No newline at end of file diff --git a/samples/hardwareid/hardwareid.vcxproj.filters b/samples/hardwareid/hardwareid.vcxproj.filters deleted file mode 100644 index e65f236..0000000 --- a/samples/hardwareid/hardwareid.vcxproj.filters +++ /dev/null @@ -1,30 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - Source Files - - - - - Header Files - - - \ No newline at end of file diff --git a/samples/hardwareid/makefile b/samples/hardwareid/makefile new file mode 100644 index 0000000..10b9a1e --- /dev/null +++ b/samples/hardwareid/makefile @@ -0,0 +1,7 @@ +# +# DO NOT EDIT THIS FILE!!! Edit .\sources. if you want to add a new source +# file to this component. This file merely indirects to the real make file +# that is shared by all the components of NT OS/2 +# +!INCLUDE $(NTMAKEENV)\makefile.def + diff --git a/samples/hardwareid/sources b/samples/hardwareid/sources new file mode 100644 index 0000000..f8ed880 --- /dev/null +++ b/samples/hardwareid/sources @@ -0,0 +1,13 @@ +TARGETNAME=hardwareid +TARGETTYPE=PROGRAM +UMTYPE=console + +USE_NATIVE_EH=1 +USE_MSVCRT=1 +USE_RTTI=1 +USE_STL=1 +386_STDCALL=0 + +INCLUDES=..;..\..\library +TARGETLIBS=..\..\library\objfre_wxp_x86\i386\interception.lib +SOURCES=..\utils.c hardwareid.cpp diff --git a/samples/hardwareid/utils.c b/samples/hardwareid/utils.c deleted file mode 100644 index a2f4549..0000000 --- a/samples/hardwareid/utils.c +++ /dev/null @@ -1,13 +0,0 @@ -#include -#include "utils.h" - - -void raise_process_priority(void) -{ - SetPriorityClass(GetCurrentProcess(), HIGH_PRIORITY_CLASS); -} - -void lower_process_priority(void) -{ - SetPriorityClass(GetCurrentProcess(), NORMAL_PRIORITY_CLASS); -} \ No newline at end of file diff --git a/samples/identify/buildit.cmd b/samples/identify/buildit.cmd new file mode 100644 index 0000000..4bbed7e --- /dev/null +++ b/samples/identify/buildit.cmd @@ -0,0 +1,5 @@ +@echo off + +SET PATH=%PATH%;..\..\tools + +%ComSpec% /c "scd . && pushd . && %WDK%\bin\setenv %WDK% fre x86 WXP no_oacr && popd && build" diff --git a/samples/identify/main.cpp b/samples/identify/identify.cpp similarity index 89% rename from samples/identify/main.cpp rename to samples/identify/identify.cpp index 27eba30..30f15d7 100644 --- a/samples/identify/main.cpp +++ b/samples/identify/identify.cpp @@ -1,5 +1,5 @@ #include -#include "utils.h" +#include #include @@ -28,17 +28,17 @@ int main() if(interception_is_keyboard(device)) { InterceptionKeyStroke &keystroke = *(InterceptionKeyStroke *) &stroke; - + + cout << "INTERCEPTION_KEYBOARD(" << device - INTERCEPTION_KEYBOARD(0) << ")" << endl; + if(keystroke.code == SCANCODE_ESC) break; } if(interception_is_mouse(device)) { - InterceptionMouseStroke &mousestroke = *(InterceptionMouseStroke *) &stroke; - cout << "INTERCEPTION_MOUSE(" << device - INTERCEPTION_MOUSE(0) << ")" << endl; } - + interception_send(context, device, &stroke, 1); } diff --git a/samples/identify/identify.sln b/samples/identify/identify.sln deleted file mode 100644 index 198b44e..0000000 --- a/samples/identify/identify.sln +++ /dev/null @@ -1,20 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual C++ Express 2010 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "identify", "identify.vcxproj", "{42BE5BB1-1A45-41F4-98E3-A6A1371083CB}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Release|Win32 = Release|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {42BE5BB1-1A45-41F4-98E3-A6A1371083CB}.Debug|Win32.ActiveCfg = Debug|Win32 - {42BE5BB1-1A45-41F4-98E3-A6A1371083CB}.Debug|Win32.Build.0 = Debug|Win32 - {42BE5BB1-1A45-41F4-98E3-A6A1371083CB}.Release|Win32.ActiveCfg = Release|Win32 - {42BE5BB1-1A45-41F4-98E3-A6A1371083CB}.Release|Win32.Build.0 = Release|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/samples/identify/identify.vcxproj b/samples/identify/identify.vcxproj deleted file mode 100644 index 7e44ed4..0000000 --- a/samples/identify/identify.vcxproj +++ /dev/null @@ -1,92 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {42BE5BB1-1A45-41F4-98E3-A6A1371083CB} - Win32Proj - identify - - - - Application - true - Unicode - - - Application - false - true - Unicode - - - - - - - - - - - - - true - - - false - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - $(ProjectDir)..\..\include;%(AdditionalIncludeDirectories) - - - Console - true - $(ProjectDir)..\..\bin\x86\debug - interception.lib;%(AdditionalDependencies) - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) - $(ProjectDir)..\..\include;%(AdditionalIncludeDirectories) - - - Console - true - true - true - $(ProjectDir)..\..\bin\x86\release - interception.lib;%(AdditionalDependencies) - - - - - - - - - - - - - \ No newline at end of file diff --git a/samples/identify/identify.vcxproj.filters b/samples/identify/identify.vcxproj.filters deleted file mode 100644 index e65f236..0000000 --- a/samples/identify/identify.vcxproj.filters +++ /dev/null @@ -1,30 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - Source Files - - - - - Header Files - - - \ No newline at end of file diff --git a/samples/identify/makefile b/samples/identify/makefile new file mode 100644 index 0000000..10b9a1e --- /dev/null +++ b/samples/identify/makefile @@ -0,0 +1,7 @@ +# +# DO NOT EDIT THIS FILE!!! Edit .\sources. if you want to add a new source +# file to this component. This file merely indirects to the real make file +# that is shared by all the components of NT OS/2 +# +!INCLUDE $(NTMAKEENV)\makefile.def + diff --git a/samples/identify/sources b/samples/identify/sources new file mode 100644 index 0000000..d6a545a --- /dev/null +++ b/samples/identify/sources @@ -0,0 +1,13 @@ +TARGETNAME=identify +TARGETTYPE=PROGRAM +UMTYPE=console + +USE_NATIVE_EH=1 +USE_MSVCRT=1 +USE_RTTI=1 +USE_STL=1 +386_STDCALL=0 + +INCLUDES=..;..\..\library +TARGETLIBS=..\..\library\objfre_wxp_x86\i386\interception.lib +SOURCES=..\utils.c identify.cpp diff --git a/samples/identify/utils.c b/samples/identify/utils.c deleted file mode 100644 index a2f4549..0000000 --- a/samples/identify/utils.c +++ /dev/null @@ -1,13 +0,0 @@ -#include -#include "utils.h" - - -void raise_process_priority(void) -{ - SetPriorityClass(GetCurrentProcess(), HIGH_PRIORITY_CLASS); -} - -void lower_process_priority(void) -{ - SetPriorityClass(GetCurrentProcess(), NORMAL_PRIORITY_CLASS); -} \ No newline at end of file diff --git a/samples/identify/utils.h b/samples/identify/utils.h deleted file mode 100644 index b1446bf..0000000 --- a/samples/identify/utils.h +++ /dev/null @@ -1,15 +0,0 @@ -#ifndef _UTILS_H_ -#define _UTILS_H_ - -#ifdef __cplusplus -extern "C" { -#endif - -void raise_process_priority(void); -void lower_process_priority(void); - -#ifdef __cplusplus -} -#endif - -#endif \ No newline at end of file diff --git a/samples/axes/utils.c b/samples/utils.c similarity index 99% rename from samples/axes/utils.c rename to samples/utils.c index a2f4549..09a80c9 100644 --- a/samples/axes/utils.c +++ b/samples/utils.c @@ -10,4 +10,4 @@ void raise_process_priority(void) void lower_process_priority(void) { SetPriorityClass(GetCurrentProcess(), NORMAL_PRIORITY_CLASS); -} \ No newline at end of file +} diff --git a/samples/hardwareid/utils.h b/samples/utils.h similarity index 96% rename from samples/hardwareid/utils.h rename to samples/utils.h index b1446bf..7c3ade3 100644 --- a/samples/hardwareid/utils.h +++ b/samples/utils.h @@ -12,4 +12,4 @@ void lower_process_priority(void); } #endif -#endif \ No newline at end of file +#endif diff --git a/samples/x2y/buildit.cmd b/samples/x2y/buildit.cmd new file mode 100644 index 0000000..4bbed7e --- /dev/null +++ b/samples/x2y/buildit.cmd @@ -0,0 +1,5 @@ +@echo off + +SET PATH=%PATH%;..\..\tools + +%ComSpec% /c "scd . && pushd . && %WDK%\bin\setenv %WDK% fre x86 WXP no_oacr && popd && build" diff --git a/samples/x2y/makefile b/samples/x2y/makefile new file mode 100644 index 0000000..10b9a1e --- /dev/null +++ b/samples/x2y/makefile @@ -0,0 +1,7 @@ +# +# DO NOT EDIT THIS FILE!!! Edit .\sources. if you want to add a new source +# file to this component. This file merely indirects to the real make file +# that is shared by all the components of NT OS/2 +# +!INCLUDE $(NTMAKEENV)\makefile.def + diff --git a/samples/x2y/sources b/samples/x2y/sources new file mode 100644 index 0000000..2f847f3 --- /dev/null +++ b/samples/x2y/sources @@ -0,0 +1,13 @@ +TARGETNAME=x2y +TARGETTYPE=PROGRAM +UMTYPE=console + +USE_NATIVE_EH=1 +USE_MSVCRT=1 +USE_RTTI=1 +USE_STL=1 +386_STDCALL=0 + +INCLUDES=..;..\..\library +TARGETLIBS=..\..\library\objfre_wxp_x86\i386\interception.lib +SOURCES=..\utils.c x2y.cpp diff --git a/samples/x2y/utils.c b/samples/x2y/utils.c deleted file mode 100644 index a2f4549..0000000 --- a/samples/x2y/utils.c +++ /dev/null @@ -1,13 +0,0 @@ -#include -#include "utils.h" - - -void raise_process_priority(void) -{ - SetPriorityClass(GetCurrentProcess(), HIGH_PRIORITY_CLASS); -} - -void lower_process_priority(void) -{ - SetPriorityClass(GetCurrentProcess(), NORMAL_PRIORITY_CLASS); -} \ No newline at end of file diff --git a/samples/x2y/utils.h b/samples/x2y/utils.h deleted file mode 100644 index b1446bf..0000000 --- a/samples/x2y/utils.h +++ /dev/null @@ -1,15 +0,0 @@ -#ifndef _UTILS_H_ -#define _UTILS_H_ - -#ifdef __cplusplus -extern "C" { -#endif - -void raise_process_priority(void); -void lower_process_priority(void); - -#ifdef __cplusplus -} -#endif - -#endif \ No newline at end of file diff --git a/samples/x2y/main.cpp b/samples/x2y/x2y.cpp similarity index 95% rename from samples/x2y/main.cpp rename to samples/x2y/x2y.cpp index 6f86fc8..bc88822 100644 --- a/samples/x2y/main.cpp +++ b/samples/x2y/x2y.cpp @@ -1,5 +1,5 @@ #include -#include "utils.h" +#include enum ScanCode { @@ -13,11 +13,11 @@ int main() InterceptionContext context; InterceptionDevice device; InterceptionKeyStroke stroke; - + raise_process_priority(); - + context = interception_create_context(); - + interception_set_filter(context, interception_is_keyboard, INTERCEPTION_FILTER_KEY_DOWN | INTERCEPTION_FILTER_KEY_UP); while(interception_receive(context, device = interception_wait(context), (InterceptionStroke *)&stroke, 1) > 0) diff --git a/samples/x2y/x2y.sln b/samples/x2y/x2y.sln deleted file mode 100644 index 073e0c2..0000000 --- a/samples/x2y/x2y.sln +++ /dev/null @@ -1,20 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual C++ Express 2010 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "x2y", "x2y.vcxproj", "{E8EF031C-336B-4F58-A88A-954421DF3236}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Release|Win32 = Release|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {E8EF031C-336B-4F58-A88A-954421DF3236}.Debug|Win32.ActiveCfg = Debug|Win32 - {E8EF031C-336B-4F58-A88A-954421DF3236}.Debug|Win32.Build.0 = Debug|Win32 - {E8EF031C-336B-4F58-A88A-954421DF3236}.Release|Win32.ActiveCfg = Release|Win32 - {E8EF031C-336B-4F58-A88A-954421DF3236}.Release|Win32.Build.0 = Release|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/samples/x2y/x2y.vcxproj b/samples/x2y/x2y.vcxproj deleted file mode 100644 index 9daa2ba..0000000 --- a/samples/x2y/x2y.vcxproj +++ /dev/null @@ -1,92 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {E8EF031C-336B-4F58-A88A-954421DF3236} - Win32Proj - x2y - - - - Application - true - Unicode - - - Application - false - true - Unicode - - - - - - - - - - - - - true - - - false - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - $(ProjectDir)..\..\include;%(AdditionalIncludeDirectories) - - - Console - true - $(ProjectDir)..\..\bin\x86\debug - interception.lib;%(AdditionalDependencies) - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) - $(ProjectDir)..\..\include;%(AdditionalIncludeDirectories) - - - Console - true - true - true - $(ProjectDir)..\..\bin\x86\release - interception.lib;%(AdditionalDependencies) - - - - - - - - - - - - - \ No newline at end of file diff --git a/samples/x2y/x2y.vcxproj.filters b/samples/x2y/x2y.vcxproj.filters deleted file mode 100644 index e65f236..0000000 --- a/samples/x2y/x2y.vcxproj.filters +++ /dev/null @@ -1,30 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - Source Files - - - - - Header Files - - - \ No newline at end of file diff --git a/tools/readme.txt b/tools/readme.txt new file mode 100644 index 0000000..a7247f9 --- /dev/null +++ b/tools/readme.txt @@ -0,0 +1,5 @@ +TOOLS + +scd: + This batch tool is used to navigate through short path names. Nice to use with the WDK for + building in directories with spaces. Currently being used by the build scripts. diff --git a/tools/scd.cmd b/tools/scd.cmd new file mode 100644 index 0000000..9fe79c0 --- /dev/null +++ b/tools/scd.cmd @@ -0,0 +1,13 @@ +@rem this batch doesn't work for some paths which contains some special characters like the '+' character. + +@echo off + +setlocal +set parameters=%* + +if defined parameters (endlocal && (cd %*) && call :begin .) else (endlocal && call :begin . cd) +goto end +:begin +cd %~s1 +%2 +:end diff --git a/windows/interception.sln b/windows/interception.sln deleted file mode 100644 index 3eb33df..0000000 --- a/windows/interception.sln +++ /dev/null @@ -1,50 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual C++ Express 2010 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "interception", "interception.vcxproj", "{E0D6CA48-741E-4640-BADD-E132F39405D4}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - dynamic debug|ia64 = dynamic debug|ia64 - dynamic debug|x64 = dynamic debug|x64 - dynamic debug|x86 = dynamic debug|x86 - dynamic release|ia64 = dynamic release|ia64 - dynamic release|x64 = dynamic release|x64 - dynamic release|x86 = dynamic release|x86 - static debug|ia64 = static debug|ia64 - static debug|x64 = static debug|x64 - static debug|x86 = static debug|x86 - static release|ia64 = static release|ia64 - static release|x64 = static release|x64 - static release|x86 = static release|x86 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {E0D6CA48-741E-4640-BADD-E132F39405D4}.dynamic debug|ia64.ActiveCfg = dynamic debug|Itanium - {E0D6CA48-741E-4640-BADD-E132F39405D4}.dynamic debug|ia64.Build.0 = dynamic debug|Itanium - {E0D6CA48-741E-4640-BADD-E132F39405D4}.dynamic debug|x64.ActiveCfg = dynamic debug|x64 - {E0D6CA48-741E-4640-BADD-E132F39405D4}.dynamic debug|x64.Build.0 = dynamic debug|x64 - {E0D6CA48-741E-4640-BADD-E132F39405D4}.dynamic debug|x86.ActiveCfg = dynamic debug|Win32 - {E0D6CA48-741E-4640-BADD-E132F39405D4}.dynamic debug|x86.Build.0 = dynamic debug|Win32 - {E0D6CA48-741E-4640-BADD-E132F39405D4}.dynamic release|ia64.ActiveCfg = dynamic release|Itanium - {E0D6CA48-741E-4640-BADD-E132F39405D4}.dynamic release|ia64.Build.0 = dynamic release|Itanium - {E0D6CA48-741E-4640-BADD-E132F39405D4}.dynamic release|x64.ActiveCfg = dynamic release|x64 - {E0D6CA48-741E-4640-BADD-E132F39405D4}.dynamic release|x64.Build.0 = dynamic release|x64 - {E0D6CA48-741E-4640-BADD-E132F39405D4}.dynamic release|x86.ActiveCfg = dynamic release|Win32 - {E0D6CA48-741E-4640-BADD-E132F39405D4}.dynamic release|x86.Build.0 = dynamic release|Win32 - {E0D6CA48-741E-4640-BADD-E132F39405D4}.static debug|ia64.ActiveCfg = static debug|Itanium - {E0D6CA48-741E-4640-BADD-E132F39405D4}.static debug|ia64.Build.0 = static debug|Itanium - {E0D6CA48-741E-4640-BADD-E132F39405D4}.static debug|x64.ActiveCfg = static debug|x64 - {E0D6CA48-741E-4640-BADD-E132F39405D4}.static debug|x64.Build.0 = static debug|x64 - {E0D6CA48-741E-4640-BADD-E132F39405D4}.static debug|x86.ActiveCfg = static debug|Win32 - {E0D6CA48-741E-4640-BADD-E132F39405D4}.static debug|x86.Build.0 = static debug|Win32 - {E0D6CA48-741E-4640-BADD-E132F39405D4}.static release|ia64.ActiveCfg = static release|Itanium - {E0D6CA48-741E-4640-BADD-E132F39405D4}.static release|ia64.Build.0 = static release|Itanium - {E0D6CA48-741E-4640-BADD-E132F39405D4}.static release|x64.ActiveCfg = static release|x64 - {E0D6CA48-741E-4640-BADD-E132F39405D4}.static release|x64.Build.0 = static release|x64 - {E0D6CA48-741E-4640-BADD-E132F39405D4}.static release|x86.ActiveCfg = static release|Win32 - {E0D6CA48-741E-4640-BADD-E132F39405D4}.static release|x86.Build.0 = static release|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/windows/interception.vcxproj b/windows/interception.vcxproj deleted file mode 100644 index 7a76053..0000000 --- a/windows/interception.vcxproj +++ /dev/null @@ -1,441 +0,0 @@ - - - - - dynamic debug - Itanium - - - dynamic release - Itanium - - - static debug - Itanium - - - static debug - Win32 - - - static debug - x64 - - - static release - Itanium - - - static release - Win32 - - - static release - x64 - - - dynamic debug - Win32 - - - dynamic debug - x64 - - - dynamic release - Win32 - - - dynamic release - x64 - - - - {E0D6CA48-741E-4640-BADD-E132F39405D4} - Win32Proj - interception - - - - StaticLibrary - true - MultiByte - - - StaticLibrary - true - MultiByte - - - StaticLibrary - true - MultiByte - - - StaticLibrary - false - true - MultiByte - - - StaticLibrary - false - true - MultiByte - - - StaticLibrary - false - true - MultiByte - - - DynamicLibrary - true - MultiByte - - - DynamicLibrary - true - MultiByte - - - DynamicLibrary - true - MultiByte - - - DynamicLibrary - false - true - MultiByte - - - DynamicLibrary - false - true - MultiByte - - - DynamicLibrary - false - true - MultiByte - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - true - $(ProjectDir)..\bin\x86\debug\ - $(ProjectDir)build\ - - - true - $(ProjectDir)..\bin\x64\debug\ - $(ProjectDir)build\ - - - true - $(ProjectDir)..\bin\ia64\debug\ - $(ProjectDir)build\ - - - false - $(ProjectDir)..\bin\x86\release\ - $(ProjectDir)build\ - - - false - $(ProjectDir)..\bin\x64\release\ - $(ProjectDir)build\ - - - false - $(ProjectDir)..\bin\ia64\release\ - $(ProjectDir)build\ - - - $(ProjectDir)..\lib\x64\debug\ - $(ProjectDir)build\ - - - $(ProjectDir)..\lib\ia64\debug\ - $(ProjectDir)build\ - - - $(ProjectDir)..\lib\x64\release\ - $(ProjectDir)build\ - - - $(ProjectDir)..\lib\ia64\release\ - $(ProjectDir)build\ - - - $(ProjectDir)..\lib\x86\debug\ - $(ProjectDir)build\ - - - $(ProjectDir)..\lib\x86\release\ - $(ProjectDir)build\ - - - - - - Level3 - Disabled - WIN32;_DEBUG;_LIB;INTERCEPTION_STATIC;%(PreprocessorDefinitions) - $(ProjectDir)..\include;%(AdditionalIncludeDirectories) - - - Windows - true - - - MachineX86 - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_LIB;INTERCEPTION_STATIC;%(PreprocessorDefinitions) - $(ProjectDir)..\include;%(AdditionalIncludeDirectories) - - - Windows - true - - - MachineX64 - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_LIB;INTERCEPTION_STATIC;%(PreprocessorDefinitions) - $(ProjectDir)..\include;%(AdditionalIncludeDirectories) - - - Windows - true - - - MachineIA64 - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_LIB;INTERCEPTION_STATIC;%(PreprocessorDefinitions) - $(ProjectDir)..\include;%(AdditionalIncludeDirectories) - - - Windows - true - true - true - - - MachineX86 - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_LIB;INTERCEPTION_STATIC;%(PreprocessorDefinitions) - $(ProjectDir)..\include;%(AdditionalIncludeDirectories) - - - Windows - true - true - true - - - MachineX64 - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_LIB;INTERCEPTION_STATIC;%(PreprocessorDefinitions) - $(ProjectDir)..\include;%(AdditionalIncludeDirectories) - - - Windows - true - true - true - - - MachineIA64 - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_WINDOWS;_USRDLL;INTERCEPTION_EXPORT;%(PreprocessorDefinitions) - $(ProjectDir)..\include;%(AdditionalIncludeDirectories) - - - Windows - true - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_WINDOWS;_USRDLL;INTERCEPTION_EXPORT;%(PreprocessorDefinitions) - $(ProjectDir)..\include;%(AdditionalIncludeDirectories) - - - Windows - true - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_WINDOWS;_USRDLL;INTERCEPTION_EXPORT;%(PreprocessorDefinitions) - $(ProjectDir)..\include;%(AdditionalIncludeDirectories) - - - Windows - true - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_WINDOWS;_USRDLL;INTERCEPTION_EXPORT;%(PreprocessorDefinitions) - $(ProjectDir)..\include;%(AdditionalIncludeDirectories) - - - Windows - true - true - true - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_WINDOWS;_USRDLL;INTERCEPTION_EXPORT;%(PreprocessorDefinitions) - $(ProjectDir)..\include;%(AdditionalIncludeDirectories) - - - Windows - true - true - true - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_WINDOWS;_USRDLL;INTERCEPTION_EXPORT;%(PreprocessorDefinitions) - $(ProjectDir)..\include;%(AdditionalIncludeDirectories) - - - Windows - true - true - true - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/windows/interception.vcxproj.filters b/windows/interception.vcxproj.filters deleted file mode 100644 index 8f0dc73..0000000 --- a/windows/interception.vcxproj.filters +++ /dev/null @@ -1,32 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - - - Header Files - - - - - Resource Files - - - \ No newline at end of file