From 0d1b9c6063805958e075b1121227d985a065c6d6 Mon Sep 17 00:00:00 2001 From: fcolin Date: Tue, 22 Sep 2009 09:00:57 +0000 Subject: mise a jour des projets --- IvyCursor/InstIvyCursor/InstIvyCursor.vdproj | 134 ++++++++++++++---- IvyCursor/IvyCursor.cpp | 167 ++++++++++++++++++++++- IvyCursor/IvyCursor.sln | 33 +++-- IvyCursor/IvyCursor.vcproj | 196 +++++++++++++++++++++++++-- 4 files changed, 472 insertions(+), 58 deletions(-) (limited to 'IvyCursor') diff --git a/IvyCursor/InstIvyCursor/InstIvyCursor.vdproj b/IvyCursor/InstIvyCursor/InstIvyCursor.vdproj index 1046fce..d631359 100644 --- a/IvyCursor/InstIvyCursor/InstIvyCursor.vdproj +++ b/IvyCursor/InstIvyCursor/InstIvyCursor.vdproj @@ -15,7 +15,25 @@ { "Entry" { - "MsmKey" = "8:_4E16B1233013473896B5B14884B766C6" + "MsmKey" = "8:_06E53427C4BC415290A766A51B2907B5" + "OwnerKey" = "8:_3B23F7E390FC40EA8E3083AFEBCFC095" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_06E53427C4BC415290A766A51B2907B5" + "OwnerKey" = "8:_522624C883B2416AAD0D345280C2CB97" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_3B23F7E390FC40EA8E3083AFEBCFC095" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_522624C883B2416AAD0D345280C2CB97" "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" } @@ -25,6 +43,12 @@ "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" } + "Entry" + { + "MsmKey" = "8:_C0801FE614764695905B7F25FB8EF372" + "OwnerKey" = "8:_06E53427C4BC415290A766A51B2907B5" + "MsmSig" = "8:_UNDEFINED" + } } "Configurations" { @@ -60,7 +84,7 @@ "DisplayName" = "8:Release" "IsDebugOnly" = "11:FALSE" "IsReleaseOnly" = "11:TRUE" - "OutputFilename" = "8:..\\..\\..\\..\\Install\\IvyCursor.msi" + "OutputFilename" = "8:Release\\IvyCursor.msi" "PackageFilesAs" = "3:2" "PackageFileSize" = "3:-2147483648" "CabType" = "3:1" @@ -110,7 +134,7 @@ { "{3C67513D-01DD-4637-8A68-80971EB9504F}:_4032CB2519934BECBD77C58A883B04AC" { - "DefaultLocation" = "8:[ProgramFilesFolder][Manufacturer]\\[ProductName]" + "DefaultLocation" = "8:[ProgramFiles64Folder][Manufacturer]\\[ProductName]" "Name" = "8:#1925" "AlwaysCreate" = "11:FALSE" "Condition" = "8:" @@ -152,25 +176,26 @@ "MsiBootstrapper" { "LangId" = "3:1036" + "RequiresElevation" = "11:FALSE" } "Product" { "Name" = "8:Microsoft Visual Studio" "ProductName" = "8:IvyCursor" - "ProductCode" = "8:{0A313183-7BCE-4AD0-B5BB-FD4A32104B32}" - "PackageCode" = "8:{60E055D3-3D7E-4515-9203-37EB79A12EF3}" + "ProductCode" = "8:{6C5CA5FC-4F8A-4DB9-AD00-0871F9AD932D}" + "PackageCode" = "8:{4851B959-19BA-4D9F-9B7C-B94874DF18BC}" "UpgradeCode" = "8:{B9048C4D-4B78-4498-8634-FA5726303A10}" "RestartWWWService" = "11:FALSE" - "RemovePreviousVersions" = "11:FALSE" + "RemovePreviousVersions" = "11:TRUE" "DetectNewerInstalledVersion" = "11:TRUE" "InstallAllUsers" = "11:FALSE" - "ProductVersion" = "8:1.0.0" - "Manufacturer" = "8:CENA PII" + "ProductVersion" = "8:2.2.0" + "Manufacturer" = "8:DTI R&D" "ARPHELPTELEPHONE" = "8:" "ARPHELPLINK" = "8:" "Title" = "8:IvyCursor" "Subject" = "8:" - "ARPCONTACT" = "8:CENA PII" + "ARPCONTACT" = "8:DTI R&D" "Keywords" = "8:" "ARPCOMMENTS" = "8:" "ARPURLINFOABOUT" = "8:" @@ -178,9 +203,9 @@ "ARPIconIndex" = "3:0" "SearchPath" = "8:" "UseSystemSearchPath" = "11:TRUE" - "TargetPlatform" = "3:0" + "TargetPlatform" = "3:1" "PreBuildEvent" = "8:" - "PostBuildEvent" = "8:" + "PostBuildEvent" = "8:copy \"$(BuiltOuputPath)\" \"C:\\Users\\Public\\Install PII\"" "RunPostBuildEvent" = "3:0" } "Registry" @@ -318,7 +343,7 @@ "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_9DF06B29188C410D86056403380FE6D0" { "Sequence" = "3:100" - "DisplayName" = "8:Progress" + "DisplayName" = "8:Progression" "UseDynamicProperties" = "11:TRUE" "IsDependency" = "11:FALSE" "SourcePath" = "8:\\VsdAdminProgressDlg.wid" @@ -362,7 +387,7 @@ "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_4BBF6ECCF3FF4CCE9DF57D69257EACFE" { "Sequence" = "3:100" - "DisplayName" = "8:Finished" + "DisplayName" = "8:Terminé" "UseDynamicProperties" = "11:TRUE" "IsDependency" = "11:FALSE" "SourcePath" = "8:\\VsdAdminFinishedDlg.wid" @@ -393,7 +418,7 @@ "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_BA40ECBCA4F74472B6B4A2B850EF0B58" { "Sequence" = "3:200" - "DisplayName" = "8:Installation Folder" + "DisplayName" = "8:Dossier d'installation" "UseDynamicProperties" = "11:TRUE" "IsDependency" = "11:FALSE" "SourcePath" = "8:\\VsdFolderDlg.wid" @@ -428,7 +453,7 @@ "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_CA4454662068449AB70A51A0D6B62F45" { "Sequence" = "3:300" - "DisplayName" = "8:Confirm Installation" + "DisplayName" = "8:Confirmer l'installation" "UseDynamicProperties" = "11:TRUE" "IsDependency" = "11:FALSE" "SourcePath" = "8:\\VsdConfirmDlg.wid" @@ -450,7 +475,7 @@ "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_D88802A5F2B14E358204211F16EB4FAE" { "Sequence" = "3:100" - "DisplayName" = "8:Welcome" + "DisplayName" = "8:Bienvenue" "UseDynamicProperties" = "11:TRUE" "IsDependency" = "11:FALSE" "SourcePath" = "8:\\VsdWelcomeDlg.wid" @@ -507,7 +532,7 @@ "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_0B3BD974222A492098588B27DB307CDA" { "Sequence" = "3:100" - "DisplayName" = "8:Finished" + "DisplayName" = "8:Terminé" "UseDynamicProperties" = "11:TRUE" "IsDependency" = "11:FALSE" "SourcePath" = "8:\\VsdFinishedDlg.wid" @@ -563,7 +588,7 @@ "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_F15ADAF16F724C85916FA31593F72F8D" { "Sequence" = "3:100" - "DisplayName" = "8:Progress" + "DisplayName" = "8:Progression" "UseDynamicProperties" = "11:TRUE" "IsDependency" = "11:FALSE" "SourcePath" = "8:\\VsdProgressDlg.wid" @@ -607,7 +632,7 @@ "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_30F0F9F2A1834E0BA3D83DBD6F9BFAE9" { "Sequence" = "3:200" - "DisplayName" = "8:Installation Folder" + "DisplayName" = "8:Dossier d'installation" "UseDynamicProperties" = "11:TRUE" "IsDependency" = "11:FALSE" "SourcePath" = "8:\\VsdAdminFolderDlg.wid" @@ -629,7 +654,7 @@ "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_53970AAC5A024A3681F861F4BE2D650B" { "Sequence" = "3:100" - "DisplayName" = "8:Welcome" + "DisplayName" = "8:Bienvenue" "UseDynamicProperties" = "11:TRUE" "IsDependency" = "11:FALSE" "SourcePath" = "8:\\VsdAdminWelcomeDlg.wid" @@ -677,7 +702,7 @@ "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_A92D8986A08B4691BE0869927B5BCF43" { "Sequence" = "3:300" - "DisplayName" = "8:Confirm Installation" + "DisplayName" = "8:Confirmer l'installation" "UseDynamicProperties" = "11:TRUE" "IsDependency" = "11:FALSE" "SourcePath" = "8:\\VsdAdminConfirmDlg.wid" @@ -701,12 +726,40 @@ } "MergeModule" { + "{CEE29DC0-9FBA-4B99-8D47-5BC643D9B626}:_06E53427C4BC415290A766A51B2907B5" + { + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:TRUE" + "SourcePath" = "8:policy_9_0_Microsoft_VC90_DebugCRT_x86_x64.msm" + "Properties" + { + } + "LanguageId" = "3:0" + "Exclude" = "11:FALSE" + "Folder" = "8:" + "Feature" = "8:" + "IsolateTo" = "8:" + } + "{CEE29DC0-9FBA-4B99-8D47-5BC643D9B626}:_C0801FE614764695905B7F25FB8EF372" + { + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:TRUE" + "SourcePath" = "8:microsoft_vc90_debugcrt_x86_x64.msm" + "Properties" + { + } + "LanguageId" = "3:0" + "Exclude" = "11:FALSE" + "Folder" = "8:" + "Feature" = "8:" + "IsolateTo" = "8:" + } } "ProjectOutput" { - "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_4E16B1233013473896B5B14884B766C6" + "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_3B23F7E390FC40EA8E3083AFEBCFC095" { - "SourcePath" = "8:..\\Release\\Ivy.dll" + "SourcePath" = "8:..\\x64\\Debug\\pcre.dll" "TargetName" = "8:" "Tag" = "8:" "Folder" = "8:_4032CB2519934BECBD77C58A883B04AC" @@ -726,7 +779,35 @@ "ProjectOutputGroupRegister" = "3:1" "OutputConfiguration" = "8:" "OutputGroupCanonicalName" = "8:Built" - "OutputProjectGuid" = "8:{84E0039A-6721-4B18-9792-E9AE4274AC0E}" + "OutputProjectGuid" = "8:{D79FC143-498E-4342-B2C7-BDAD1B8D0E6B}" + "ShowKeyOutput" = "11:TRUE" + "ExcludeFilters" + { + } + } + "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_522624C883B2416AAD0D345280C2CB97" + { + "SourcePath" = "8:..\\x64\\Debug\\Ivy.dll" + "TargetName" = "8:" + "Tag" = "8:" + "Folder" = "8:_4032CB2519934BECBD77C58A883B04AC" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:FALSE" + "IsolateTo" = "8:" + "ProjectOutputGroupRegister" = "3:1" + "OutputConfiguration" = "8:" + "OutputGroupCanonicalName" = "8:Built" + "OutputProjectGuid" = "8:{9818D652-CC05-463E-880D-AFCA2C7BFABE}" "ShowKeyOutput" = "11:TRUE" "ExcludeFilters" { @@ -734,7 +815,7 @@ } "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_5A688E16C8FB4F969BAAF36ACF9DE131" { - "SourcePath" = "8:..\\Release\\IvyCursor.exe" + "SourcePath" = "8:..\\x64\\Debug\\IvyCursor.exe" "TargetName" = "8:" "Tag" = "8:" "Folder" = "8:_4032CB2519934BECBD77C58A883B04AC" @@ -761,8 +842,5 @@ } } } - "VJSharpPlugin" - { - } } } diff --git a/IvyCursor/IvyCursor.cpp b/IvyCursor/IvyCursor.cpp index 558d074..cb91542 100644 --- a/IvyCursor/IvyCursor.cpp +++ b/IvyCursor/IvyCursor.cpp @@ -6,6 +6,9 @@ #include #include #include +#include + +#include "options.h" #include "IvyCursor.h" #define MAX_LOADSTRING 100 @@ -75,12 +78,168 @@ void ivyCursorClick(IvyApplication *app, void *user_data, int argc, const char * _RPT3(_CRT_WARN,"ivyCursorClick can click to x=%d y=%d error=%d\n",x,y,GetLastError()); } } +void SendInput ( DWORD flags, float x, float y , int wheel ) +{ + UINT nb; + INPUT Inputs; + + Inputs.type = INPUT_MOUSE; + Inputs.mi.dwFlags = flags; + Inputs.mi.mouseData = wheel; + Inputs.mi.time = 0; // system provide it + Inputs.mi.dx = (int)(65535 * x ); + Inputs.mi.dy = (int)(65535 * y ); + + nb = SendInput( 1, &Inputs, sizeof(INPUT)); + + if ( nb != 1 ) + { + _RPT3(_CRT_WARN,"ivyPointerEvent can move to x=%d y=%d error=%d\n",x,y,GetLastError()); + } +} +void ivyPointerEvent(IvyApplication *app, void *user_data, int argc, const char **argv) +{ + int x = atoi(*argv++); + int y = atoi(*argv++); + int presure = atoi(*argv++); + int tilt_x = atoi(*argv++); + int tilt_y = atoi(*argv++); + int wheel = atoi(*argv++); + int predicted_x = atoi(*argv++); + int predicted_y = atoi(*argv++); + const char *type = *argv++; + int serial_number = atoi(*argv++); + float time = atof(*argv++); + float hires_x = atof(*argv++); + float hires_y = atof(*argv++); + const char *proximity = *argv++; // (In|Out|unchanged) + + // hack for tablet PC + if ( serial_number ==0 ) + { + hires_x *= 86800 / 1400; + hires_y *= 65000 / 1050; + } + + SendInput ( MOUSEEVENTF_WHEEL | MOUSEEVENTF_MOVE | MOUSEEVENTF_ABSOLUTE, hires_x, hires_y , wheel ); + + + +} +void ivyButtonEvent(IvyApplication *app, void *user_data, int argc, const char **argv) +{ + static int bt_down = 0; + int button = atoi(*argv++); + const char *status = *argv++ ; //(up|down) + int x = atoi(*argv++); + int y = atoi(*argv++); + int presure = atoi(*argv++); + int tilt_x = atoi(*argv++); + int tilt_y = atoi(*argv++); + int wheel = atoi(*argv++); + int predicted_x = atoi(*argv++); + int predicted_y = atoi(*argv++); + const char *type = *argv++; + int serial_number = atoi(*argv++); + float time = atof(*argv++); + float hires_x = atof(*argv++); + float hires_y = atof(*argv++); + const char *proximity = *argv++; // (In|Out|unchanged) + + // hack for tablet PC + if ( serial_number ==0 ) + { + hires_x *= 86800 / 1400; + hires_y *= 65000 / 1050; + } + if ( hires_x < 0 || hires_y < 0 ) + { + if ( *status == 'u' && bt_down ) + { + SendInput ( MOUSEEVENTF_LEFTUP, hires_x, hires_y , wheel ); + bt_down = 0; + } + + } + else + { + if ( (*status) == 'd' ) + { + SendInput ( MOUSEEVENTF_WHEEL | MOUSEEVENTF_MOVE | MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_LEFTDOWN , hires_x, hires_y , wheel ); + bt_down = 1; + } + else + { + SendInput ( MOUSEEVENTF_WHEEL | MOUSEEVENTF_MOVE | MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_LEFTUP , hires_x, hires_y , wheel ); + bt_down = 0; + } + } + +} +void ivyPadEvent(IvyApplication *app, void *user_data, int argc, const char **argv) +{ + int button = atoi(*argv++); + const char *status = *argv++ ; //(up|down) + int time = atoi(*argv++); + +} +void ivySliderEvent(IvyApplication *app, void *user_data, int argc, const char **argv) +{ + int value = atoi(*argv++); + const char* side = *argv++ ; // (left|right) + int time = atoi(*argv++); +} + int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow) { MSG msg; + int optchar; + const char * optarg; + const char * ivybus = NULL; + const char * acc = "bordeaux"; + const char * wp = "WP1"; + const char * role = "TC"; + + int errors = 0, ngroups = 0; + // read command line + + static const char * optv[] = { + "H|help", + "a:acc ", + "w:wp ", + "r:role ", + "b:bus ", + NULL + } ; + Options opts("ivycursor", optv); + OptStrTokIter iter(lpCmdLine); + + while( optchar = opts(iter, optarg) ) { + switch (optchar) { + case 'H' : + opts.usage(std::cout, "ivycursor ..."); + exit(0); + break; + case 'a' : + acc = optarg; break; + case 'w' : + wp = optarg; break; + case 'r' : + role = optarg; break; + case 'b' : + ivybus = optarg; break; + default : ++errors; break; + } //switch + } + + if (errors) { + opts.usage(std::cerr, "ivycursor ..."); + exit(1); + } + // Initialise les chaînes globales LoadString(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING); LoadString(hInstance, IDC_IVYCURSOR, szWindowClass, MAX_LOADSTRING); @@ -106,7 +265,13 @@ int APIENTRY _tWinMain(HINSTANCE hInstance, bus = new Ivy("IvyCursor", "IvyCursor Ready", 0, FALSE ); bus->BindMsg(BUS_CALLBACK(ivyCursorMouve,0),"^Cigale SetCursorPosition x=([0-9.]+) y=([0-9.]+)"); bus->BindMsg(BUS_CALLBACK(ivyCursorClick,0),"^Cigale CursorSelectEvent x=([0-9.]+) y=([0-9.]+)"); - bus->start( 0 ); + + bus->BindMsg(BUS_CALLBACK(ivyPointerEvent,0), "^pointer_event device_id=%s:%s:%s x=([-0-9]+) y=([-0-9]+) presure=([-0-9]+) tilt_x=([-0-9]+) tilt_y=([-0-9]+) wheel=([-0-9]+) predicted_x=([-0-9]+) predicted_y=([-0-9]+) type=(.*) serial_number=([-0-9]+) time=([-.0-9]+) hires_x=([-.0-9]+) hires_y=([-.0-9]+) proximity=(In|Out|unchanged)", acc, wp, role ); + bus->BindMsg(BUS_CALLBACK(ivyButtonEvent,0), "^button_event device_id=%s:%s:%s button=([-.0-9]+) status=(up|down) x=([-0-9]+) y=([-0-9]+) presure=([-0-9]+) tilt_x=([-0-9]+) tilt_y=([-0-9]+) wheel=([-0-9]+) predicted_x=([-0-9]+) predicted_y=([-0-9]+) type=(.*) serial_number=([-0-9]+) time=([-0-9]+) hires_x=([-.0-9]+) hires_y=([-.0-9]+) proximity=(In|Out|unchanged)", acc, wp, role ); + bus->BindMsg(BUS_CALLBACK(ivyPadEvent,0), "^pad_event device_id=%s:%s:%s button=([0-9]+) status=(up|down) time=([-0-9]+)", acc, wp, role); + bus->BindMsg(BUS_CALLBACK(ivySliderEvent,0), "^slider_event device_id=%s:%s:%s value=([-0-9]+) side=(left|right) time=([-0-9]+)", acc, wp, role); + + bus->start( ivybus ); // Boucle de messages principale : while (GetMessage(&msg, NULL, 0, 0)) diff --git a/IvyCursor/IvyCursor.sln b/IvyCursor/IvyCursor.sln index 8f2829e..b2d1730 100644 --- a/IvyCursor/IvyCursor.sln +++ b/IvyCursor/IvyCursor.sln @@ -1,11 +1,11 @@ -Microsoft Visual Studio Solution File, Format Version 9.00 -# Visual Studio 2005 +Microsoft Visual Studio Solution File, Format Version 10.00 +# Visual Studio 2008 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "IvyCursor", "IvyCursor.vcproj", "{5353F53D-8047-42AB-A3E1-73E6EAAFBBE6}" ProjectSection(ProjectDependencies) = postProject - {84E0039A-6721-4B18-9792-E9AE4274AC0E} = {84E0039A-6721-4B18-9792-E9AE4274AC0E} + {9818D652-CC05-463E-880D-AFCA2C7BFABE} = {9818D652-CC05-463E-880D-AFCA2C7BFABE} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Ivy", "..\Ivy\Ivy.vcproj", "{84E0039A-6721-4B18-9792-E9AE4274AC0E}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Ivy", "..\Ivy\Ivy.vcproj", "{9818D652-CC05-463E-880D-AFCA2C7BFABE}" EndProject Project("{54435603-DBB4-11D2-8724-00A0C9A8B90C}") = "Install", "InstIvyCursor\InstIvyCursor.vdproj", "{465D12EC-FE99-47FE-AF2A-17BB43672F22}" EndProject @@ -36,23 +36,22 @@ Global GlobalSection(ProjectConfigurationPlatforms) = postSolution {5353F53D-8047-42AB-A3E1-73E6EAAFBBE6}.Debug|Win32.ActiveCfg = Debug|Win32 {5353F53D-8047-42AB-A3E1-73E6EAAFBBE6}.Debug|Win32.Build.0 = Debug|Win32 - {5353F53D-8047-42AB-A3E1-73E6EAAFBBE6}.Debug|x64.ActiveCfg = Debug|Win32 - {5353F53D-8047-42AB-A3E1-73E6EAAFBBE6}.Debug|x64.Build.0 = Debug|Win32 + {5353F53D-8047-42AB-A3E1-73E6EAAFBBE6}.Debug|x64.ActiveCfg = Debug|x64 + {5353F53D-8047-42AB-A3E1-73E6EAAFBBE6}.Debug|x64.Build.0 = Debug|x64 {5353F53D-8047-42AB-A3E1-73E6EAAFBBE6}.Release|Win32.ActiveCfg = Release|Win32 {5353F53D-8047-42AB-A3E1-73E6EAAFBBE6}.Release|Win32.Build.0 = Release|Win32 - {5353F53D-8047-42AB-A3E1-73E6EAAFBBE6}.Release|x64.ActiveCfg = Release|Win32 - {5353F53D-8047-42AB-A3E1-73E6EAAFBBE6}.Release|x64.Build.0 = Release|Win32 - {84E0039A-6721-4B18-9792-E9AE4274AC0E}.Debug|Win32.ActiveCfg = Debug|Win32 - {84E0039A-6721-4B18-9792-E9AE4274AC0E}.Debug|Win32.Build.0 = Debug|Win32 - {84E0039A-6721-4B18-9792-E9AE4274AC0E}.Debug|x64.ActiveCfg = Debug|x64 - {84E0039A-6721-4B18-9792-E9AE4274AC0E}.Debug|x64.Build.0 = Debug|x64 - {84E0039A-6721-4B18-9792-E9AE4274AC0E}.Release|Win32.ActiveCfg = Release|Win32 - {84E0039A-6721-4B18-9792-E9AE4274AC0E}.Release|Win32.Build.0 = Release|Win32 - {84E0039A-6721-4B18-9792-E9AE4274AC0E}.Release|x64.ActiveCfg = Release|x64 - {84E0039A-6721-4B18-9792-E9AE4274AC0E}.Release|x64.Build.0 = Release|x64 + {5353F53D-8047-42AB-A3E1-73E6EAAFBBE6}.Release|x64.ActiveCfg = Release|x64 + {5353F53D-8047-42AB-A3E1-73E6EAAFBBE6}.Release|x64.Build.0 = Release|x64 + {9818D652-CC05-463E-880D-AFCA2C7BFABE}.Debug|Win32.ActiveCfg = Debug|Win32 + {9818D652-CC05-463E-880D-AFCA2C7BFABE}.Debug|Win32.Build.0 = Debug|Win32 + {9818D652-CC05-463E-880D-AFCA2C7BFABE}.Debug|x64.ActiveCfg = Debug|x64 + {9818D652-CC05-463E-880D-AFCA2C7BFABE}.Debug|x64.Build.0 = Debug|x64 + {9818D652-CC05-463E-880D-AFCA2C7BFABE}.Release|Win32.ActiveCfg = Release|Win32 + {9818D652-CC05-463E-880D-AFCA2C7BFABE}.Release|Win32.Build.0 = Release|Win32 + {9818D652-CC05-463E-880D-AFCA2C7BFABE}.Release|x64.ActiveCfg = Release|x64 + {9818D652-CC05-463E-880D-AFCA2C7BFABE}.Release|x64.Build.0 = Release|x64 {465D12EC-FE99-47FE-AF2A-17BB43672F22}.Debug|Win32.ActiveCfg = Debug {465D12EC-FE99-47FE-AF2A-17BB43672F22}.Debug|x64.ActiveCfg = Debug - {465D12EC-FE99-47FE-AF2A-17BB43672F22}.Debug|x64.Build.0 = Debug {465D12EC-FE99-47FE-AF2A-17BB43672F22}.Release|Win32.ActiveCfg = Release {465D12EC-FE99-47FE-AF2A-17BB43672F22}.Release|Win32.Build.0 = Release {465D12EC-FE99-47FE-AF2A-17BB43672F22}.Release|x64.ActiveCfg = Release diff --git a/IvyCursor/IvyCursor.vcproj b/IvyCursor/IvyCursor.vcproj index be89ff9..1377519 100644 --- a/IvyCursor/IvyCursor.vcproj +++ b/IvyCursor/IvyCursor.vcproj @@ -1,7 +1,7 @@ + - @@ -148,6 +146,8 @@ SubSystem="2" OptimizeReferences="2" EnableCOMDATFolding="2" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" TargetMachine="1" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -193,6 +341,10 @@ > + + + + + + + + + + -- cgit v1.1