[ActiveLock-Development] CVS: alugen/console activelock2.cpp,NONE,1.1 activelock2.h,NONE,1.1 alugen.
Brought to you by:
ialkan
From: Thanh H. T. <th...@us...> - 2004-07-02 04:07:56
|
Update of /cvsroot/activelock/alugen/console In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29325 Added Files: activelock2.cpp activelock2.h alugen.cpp alugen.h alugenc.cpp alugenc.dsp alugenc.dsw alugenc.h alugenc.rc ReadMe.txt Resource.h StdAfx.cpp StdAfx.h Log Message: Source for ALUGEN console version. --- NEW FILE: activelock2.cpp --- /** * ActiveLock 2 * Copyright 2003-2004 The ActiveLock Software Group (ASG) * * All material is the property of the contributing authors. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are * met: * * [o] Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * [o] Redistributions in binary form must reproduce the above * copyright notice, this list of conditions and the following * disclaimer in the documentation and/or other materials provided * with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * */ ///////////////////////////////////////////////////////////////////////////// // Machine generated IDispatch wrapper class(es) created with ClassWizard ///////////////////////////////////////////////////////////////////////////// #include "stdafx.h" #include "activelock2.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // _IActiveLock properties ///////////////////////////////////////////////////////////////////////////// // _IActiveLock operations void _IActiveLock::SetLockType(long nNewValue) { static BYTE parms[] = VTS_I4; InvokeHelper(0x6803000a, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, nNewValue); } long _IActiveLock::GetLockType() { long result; InvokeHelper(0x6803000a, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL); return result; } void _IActiveLock::SetSoftwareName(LPCTSTR lpszNewValue) { static BYTE parms[] = VTS_BSTR; InvokeHelper(0x68030009, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, lpszNewValue); } CString _IActiveLock::GetSoftwareName() { CString result; InvokeHelper(0x68030009, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL); return result; } void _IActiveLock::SetSoftwareCode(LPCTSTR lpszNewValue) { static BYTE parms[] = VTS_BSTR; InvokeHelper(0x68030008, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, lpszNewValue); } void _IActiveLock::SetSoftwareVersion(LPCTSTR lpszNewValue) { static BYTE parms[] = VTS_BSTR; InvokeHelper(0x68030007, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, lpszNewValue); } CString _IActiveLock::GetSoftwareVersion() { CString result; InvokeHelper(0x68030007, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL); return result; } void _IActiveLock::SetKeyStoreType(long nNewValue) { static BYTE parms[] = VTS_I4; InvokeHelper(0x68030006, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, nNewValue); } void _IActiveLock::SetKeyStorePath(LPCTSTR lpszNewValue) { static BYTE parms[] = VTS_BSTR; InvokeHelper(0x68030005, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, lpszNewValue); } CString _IActiveLock::GetInstallationCode(LPCTSTR User) { CString result; static BYTE parms[] = VTS_BSTR; InvokeHelper(0x68030004, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, parms, User); return result; } void _IActiveLock::SetAutoRegisterKeyPath(LPCTSTR lpszNewValue) { static BYTE parms[] = VTS_BSTR; InvokeHelper(0x68030012, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, lpszNewValue); } CString _IActiveLock::LockCode(LPDISPATCH* Lic) { CString result; static BYTE parms[] = VTS_PDISPATCH; InvokeHelper(0x6003000b, DISPATCH_METHOD, VT_BSTR, (void*)&result, parms, Lic); return result; } void _IActiveLock::Register(LPCTSTR LibKey) { static BYTE parms[] = VTS_BSTR; InvokeHelper(0x6003000c, DISPATCH_METHOD, VT_EMPTY, NULL, parms, LibKey); } CString _IActiveLock::Transfer(LPCTSTR InstallCode) { CString result; static BYTE parms[] = VTS_BSTR; InvokeHelper(0x6003000d, DISPATCH_METHOD, VT_BSTR, (void*)&result, parms, InstallCode); return result; } void _IActiveLock::Init() { InvokeHelper(0x6003000e, DISPATCH_METHOD, VT_EMPTY, NULL, NULL); } void _IActiveLock::Acquire() { InvokeHelper(0x6003000f, DISPATCH_METHOD, VT_EMPTY, NULL, NULL); } void _IActiveLock::Release() { InvokeHelper(0x60030010, DISPATCH_METHOD, VT_EMPTY, NULL, NULL); } LPDISPATCH _IActiveLock::GetEventNotifier() { LPDISPATCH result; InvokeHelper(0x68030003, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&result, NULL); return result; } long _IActiveLock::GetUsedDays() { long result; InvokeHelper(0x68030002, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL); return result; } CString _IActiveLock::GetRegisteredDate() { CString result; InvokeHelper(0x68030001, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL); return result; } CString _IActiveLock::GetRegisteredUser() { CString result; InvokeHelper(0x68030011, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL); return result; } CString _IActiveLock::GetExpirationDate() { CString result; InvokeHelper(0x68030000, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL); return result; } ///////////////////////////////////////////////////////////////////////////// // _Globals properties ///////////////////////////////////////////////////////////////////////////// // _Globals operations LPDISPATCH _Globals::NewInstance() { LPDISPATCH result; InvokeHelper(0x60030000, DISPATCH_METHOD, VT_DISPATCH, (void*)&result, NULL); return result; } LPDISPATCH _Globals::CreateProductLicense(LPCTSTR name, LPCTSTR Ver, LPCTSTR Code, long Flags, long LicType, LPCTSTR Licensee, LPCTSTR Expiration, LPCTSTR LicKey, LPCTSTR RegisteredDate, LPCTSTR Hash1, short MaxUsers) { LPDISPATCH result; static BYTE parms[] = VTS_BSTR VTS_BSTR VTS_BSTR VTS_I4 VTS_I4 VTS_BSTR VTS_BSTR VTS_BSTR VTS_BSTR VTS_BSTR VTS_I2; InvokeHelper(0x60030001, DISPATCH_METHOD, VT_DISPATCH, (void*)&result, parms, name, Ver, Code, Flags, LicType, Licensee, Expiration, LicKey, RegisteredDate, Hash1, MaxUsers); return result; } CString _Globals::TrimNulls(LPCTSTR str) { CString result; static BYTE parms[] = VTS_BSTR; InvokeHelper(0x60030004, DISPATCH_METHOD, VT_BSTR, (void*)&result, parms, str); return result; } CString _Globals::MD5Hash(LPCTSTR str) { CString result; static BYTE parms[] = VTS_BSTR; InvokeHelper(0x60030005, DISPATCH_METHOD, VT_BSTR, (void*)&result, parms, str); return result; } CString _Globals::Base64Encode(LPCTSTR str) { CString result; static BYTE parms[] = VTS_BSTR; InvokeHelper(0x60030006, DISPATCH_METHOD, VT_BSTR, (void*)&result, parms, str); return result; } CString _Globals::Base64Decode(LPCTSTR strEncoded) { CString result; static BYTE parms[] = VTS_BSTR; InvokeHelper(0x60030007, DISPATCH_METHOD, VT_BSTR, (void*)&result, parms, strEncoded); return result; } CString _Globals::RSASign(LPCTSTR strPub, LPCTSTR strPriv, LPCTSTR strdata) { CString result; static BYTE parms[] = VTS_BSTR VTS_BSTR VTS_BSTR; InvokeHelper(0x60030008, DISPATCH_METHOD, VT_BSTR, (void*)&result, parms, strPub, strPriv, strdata); return result; } long _Globals::RSAVerify(LPCTSTR strPub, LPCTSTR strdata, LPCTSTR strSig) { long result; static BYTE parms[] = VTS_BSTR VTS_BSTR VTS_BSTR; InvokeHelper(0x60030009, DISPATCH_METHOD, VT_I4, (void*)&result, parms, strPub, strdata, strSig); return result; } ///////////////////////////////////////////////////////////////////////////// // _ProductLicense properties ///////////////////////////////////////////////////////////////////////////// // _ProductLicense operations void _ProductLicense::SetLicenseType(long* newValue) { static BYTE parms[] = VTS_PI4; InvokeHelper(0x68030013, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, newValue); } long _ProductLicense::GetLicenseType() { long result; InvokeHelper(0x68030013, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL); return result; } CString _ProductLicense::GetProductName() { CString result; InvokeHelper(0x68030012, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL); return result; } CString _ProductLicense::GetProductVer() { CString result; InvokeHelper(0x68030011, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL); return result; } void _ProductLicense::SetProductKey(LPCTSTR lpszNewValue) { static BYTE parms[] = VTS_BSTR; InvokeHelper(0x68030010, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, lpszNewValue); } CString _ProductLicense::GetProductKey() { CString result; InvokeHelper(0x68030010, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL); return result; } CString _ProductLicense::GetLicenseClass() { CString result; InvokeHelper(0x6803000f, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL); return result; } void _ProductLicense::SetLicensee(LPCTSTR lpszNewValue) { static BYTE parms[] = VTS_BSTR; InvokeHelper(0x6803000e, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, lpszNewValue); } CString _ProductLicense::GetLicensee() { CString result; InvokeHelper(0x6803000e, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL); return result; } void _ProductLicense::SetLicenseKey(LPCTSTR lpszNewValue) { static BYTE parms[] = VTS_BSTR; InvokeHelper(0x6803000d, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, lpszNewValue); } CString _ProductLicense::GetLicenseKey() { CString result; InvokeHelper(0x6803000d, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL); return result; } CString _ProductLicense::GetExpiration() { CString result; InvokeHelper(0x6803000c, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL); return result; } CString _ProductLicense::GetRegisteredDate() { CString result; InvokeHelper(0x6803000b, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL); return result; } long _ProductLicense::GetMaxCount() { long result; InvokeHelper(0x6803000a, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL); return result; } CString _ProductLicense::GetLastUsed() { CString result; InvokeHelper(0x68030009, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL); return result; } CString _ProductLicense::GetHash1() { CString result; InvokeHelper(0x68030008, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL); return result; } CString _ProductLicense::ToString() { CString result; InvokeHelper(0x60030014, DISPATCH_METHOD, VT_BSTR, (void*)&result, NULL); return result; } void _ProductLicense::Load(LPCTSTR strLic) { static BYTE parms[] = VTS_BSTR; InvokeHelper(0x60030015, DISPATCH_METHOD, VT_EMPTY, NULL, parms, strLic); } void _ProductLicense::Save(BSTR* strOut) { static BYTE parms[] = VTS_PBSTR; InvokeHelper(0x60030016, DISPATCH_METHOD, VT_EMPTY, NULL, parms, strOut); } ///////////////////////////////////////////////////////////////////////////// // _ActiveLockEventNotifier properties ///////////////////////////////////////////////////////////////////////////// // _ActiveLockEventNotifier operations ///////////////////////////////////////////////////////////////////////////// // __ActiveLockEventNotifier properties ///////////////////////////////////////////////////////////////////////////// // __ActiveLockEventNotifier operations void __ActiveLockEventNotifier::ValidateValue(BSTR* Value) { static BYTE parms[] = VTS_PBSTR; InvokeHelper(0x1, DISPATCH_METHOD, VT_EMPTY, NULL, parms, Value); } --- NEW FILE: activelock2.h --- /** * ActiveLock 2 * Copyright 2003-2004 The ActiveLock Software Group (ASG) * * All material is the property of the contributing authors. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are * met: * * [o] Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * [o] Redistributions in binary form must reproduce the above * copyright notice, this list of conditions and the following * disclaimer in the documentation and/or other materials provided * with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * */ ///////////////////////////////////////////////////////////////////////////// // Machine generated IDispatch wrapper class(es) created with ClassWizard ///////////////////////////////////////////////////////////////////////////// /********************************************************************************************** * Change Log * ========== * * Date (MM/DD/YY) Author Description * --------------- ----------- -------------------------------------------------------------- * 06/28/04 th2tran Created * ***********************************************************************************************/ ///////////////////////////////////////////////////////////////////////////// // _IActiveLock wrapper class class _IActiveLock : public COleDispatchDriver { public: _IActiveLock() {} // Calls COleDispatchDriver default constructor _IActiveLock(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {} _IActiveLock(const _IActiveLock& dispatchSrc) : COleDispatchDriver(dispatchSrc) {} // Attributes public: // Operations public: void SetLockType(long nNewValue); long GetLockType(); void SetSoftwareName(LPCTSTR lpszNewValue); CString GetSoftwareName(); void SetSoftwareCode(LPCTSTR lpszNewValue); void SetSoftwareVersion(LPCTSTR lpszNewValue); CString GetSoftwareVersion(); void SetKeyStoreType(long nNewValue); void SetKeyStorePath(LPCTSTR lpszNewValue); CString GetInstallationCode(LPCTSTR User); void SetAutoRegisterKeyPath(LPCTSTR lpszNewValue); CString LockCode(LPDISPATCH* Lic); void Register(LPCTSTR LibKey); CString Transfer(LPCTSTR InstallCode); void Init(); void Acquire(); void Release(); LPDISPATCH GetEventNotifier(); long GetUsedDays(); CString GetRegisteredDate(); CString GetRegisteredUser(); CString GetExpirationDate(); }; ///////////////////////////////////////////////////////////////////////////// // _Globals wrapper class class _Globals : public COleDispatchDriver { public: _Globals() {} // Calls COleDispatchDriver default constructor _Globals(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {} _Globals(const _Globals& dispatchSrc) : COleDispatchDriver(dispatchSrc) {} // Attributes public: // Operations public: LPDISPATCH NewInstance(); LPDISPATCH CreateProductLicense(LPCTSTR name, LPCTSTR Ver, LPCTSTR Code, long Flags, long LicType, LPCTSTR Licensee, LPCTSTR Expiration, LPCTSTR LicKey, LPCTSTR RegisteredDate, LPCTSTR Hash1, short MaxUsers); CString TrimNulls(LPCTSTR str); CString MD5Hash(LPCTSTR str); CString Base64Encode(LPCTSTR str); CString Base64Decode(LPCTSTR strEncoded); CString RSASign(LPCTSTR strPub, LPCTSTR strPriv, LPCTSTR strdata); long RSAVerify(LPCTSTR strPub, LPCTSTR strdata, LPCTSTR strSig); }; ///////////////////////////////////////////////////////////////////////////// // _ProductLicense wrapper class class _ProductLicense : public COleDispatchDriver { public: _ProductLicense() {} // Calls COleDispatchDriver default constructor _ProductLicense(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {} _ProductLicense(const _ProductLicense& dispatchSrc) : COleDispatchDriver(dispatchSrc) {} // Attributes public: // Operations public: void SetLicenseType(long* newValue); long GetLicenseType(); CString GetProductName(); CString GetProductVer(); void SetProductKey(LPCTSTR lpszNewValue); CString GetProductKey(); CString GetLicenseClass(); void SetLicensee(LPCTSTR lpszNewValue); CString GetLicensee(); void SetLicenseKey(LPCTSTR lpszNewValue); CString GetLicenseKey(); CString GetExpiration(); CString GetRegisteredDate(); long GetMaxCount(); CString GetLastUsed(); CString GetHash1(); CString ToString(); void Load(LPCTSTR strLic); void Save(BSTR* strOut); }; ///////////////////////////////////////////////////////////////////////////// // _ActiveLockEventNotifier wrapper class class _ActiveLockEventNotifier : public COleDispatchDriver { public: _ActiveLockEventNotifier() {} // Calls COleDispatchDriver default constructor _ActiveLockEventNotifier(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {} _ActiveLockEventNotifier(const _ActiveLockEventNotifier& dispatchSrc) : COleDispatchDriver(dispatchSrc) {} // Attributes public: // Operations public: }; ///////////////////////////////////////////////////////////////////////////// // __ActiveLockEventNotifier wrapper class class __ActiveLockEventNotifier : public COleDispatchDriver { public: __ActiveLockEventNotifier() {} // Calls COleDispatchDriver default constructor __ActiveLockEventNotifier(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {} __ActiveLockEventNotifier(const __ActiveLockEventNotifier& dispatchSrc) : COleDispatchDriver(dispatchSrc) {} // Attributes public: // Operations public: void ValidateValue(BSTR* Value); }; --- NEW FILE: alugen.cpp --- /** * ActiveLock 2 * Copyright 2003-2004 The ActiveLock Software Group (ASG) * * All material is the property of the contributing authors. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are * met: * * [o] Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * [o] Redistributions in binary form must reproduce the above * copyright notice, this list of conditions and the following * disclaimer in the documentation and/or other materials provided * with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * */ ///////////////////////////////////////////////////////////////////////////// // Machine generated IDispatch wrapper class(es) created with ClassWizard ///////////////////////////////////////////////////////////////////////////// /********************************************************************************************** * Change Log * ========== * * Date (MM/DD/YY) Author Description * --------------- ----------- -------------------------------------------------------------- * 06/28/04 th2tran Created * ***********************************************************************************************/ #include "stdafx.h" #include "alugen.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // _IALUGenerator properties ///////////////////////////////////////////////////////////////////////////// // _IALUGenerator operations void _IALUGenerator::SetStoragePath(LPCTSTR lpszNewValue) { static BYTE parms[] = VTS_BSTR; InvokeHelper(0x68030000, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, lpszNewValue); } void _IALUGenerator::SaveProduct(LPDISPATCH* ProdInfo) { static BYTE parms[] = VTS_PDISPATCH; InvokeHelper(0x60030001, DISPATCH_METHOD, VT_EMPTY, NULL, parms, ProdInfo); } LPDISPATCH _IALUGenerator::RetrieveProduct(LPCTSTR Name, LPCTSTR Ver) { LPDISPATCH result; static BYTE parms[] = VTS_BSTR VTS_BSTR; InvokeHelper(0x60030002, DISPATCH_METHOD, VT_DISPATCH, (void*)&result, parms, Name, Ver); return result; } void _IALUGenerator::DeleteProduct(LPCTSTR Name, LPCTSTR Ver) { static BYTE parms[] = VTS_BSTR VTS_BSTR; InvokeHelper(0x60030004, DISPATCH_METHOD, VT_EMPTY, NULL, parms, Name, Ver); } CString _IALUGenerator::GenKey(LPDISPATCH* Lic, LPCTSTR InstCode) { CString result; static BYTE parms[] = VTS_PDISPATCH VTS_BSTR; InvokeHelper(0x60030005, DISPATCH_METHOD, VT_BSTR, (void*)&result, parms, Lic, InstCode); return result; } ///////////////////////////////////////////////////////////////////////////// // _Globals properties ///////////////////////////////////////////////////////////////////////////// // _Globals operations LPDISPATCH _ALUGENGlobals::GeneratorInstance() { LPDISPATCH result; InvokeHelper(0x60030000, DISPATCH_METHOD, VT_DISPATCH, (void*)&result, NULL); return result; } LPDISPATCH _ALUGENGlobals::CreateProductInfo(LPCTSTR Name, LPCTSTR Ver, LPCTSTR VCode, LPCTSTR GCode) { LPDISPATCH result; static BYTE parms[] = VTS_BSTR VTS_BSTR VTS_BSTR VTS_BSTR; InvokeHelper(0x60030001, DISPATCH_METHOD, VT_DISPATCH, (void*)&result, parms, Name, Ver, VCode, GCode); return result; } ///////////////////////////////////////////////////////////////////////////// // _ProductInfo properties ///////////////////////////////////////////////////////////////////////////// // _ProductInfo operations CString _ProductInfo::GetName() { CString result; InvokeHelper(0x68030003, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL); return result; } CString _ProductInfo::GetVersion() { CString result; InvokeHelper(0x68030002, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL); return result; } CString _ProductInfo::GetVCode() { CString result; InvokeHelper(0x68030001, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL); return result; } CString _ProductInfo::GetGCode() { CString result; InvokeHelper(0x68030000, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL); return result; } --- NEW FILE: alugen.h --- /** * ActiveLock 2 * Copyright 2003-2004 The ActiveLock Software Group (ASG) * * All material is the property of the contributing authors. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are * met: * * [o] Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * [o] Redistributions in binary form must reproduce the above * copyright notice, this list of conditions and the following * disclaimer in the documentation and/or other materials provided * with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * */ ///////////////////////////////////////////////////////////////////////////// // Machine generated IDispatch wrapper class(es) created with ClassWizard ///////////////////////////////////////////////////////////////////////////// /********************************************************************************************** * Change Log * ========== * * Date (MM/DD/YY) Author Description * --------------- ----------- -------------------------------------------------------------- * 06/28/04 th2tran Created * ***********************************************************************************************/ ///////////////////////////////////////////////////////////////////////////// // _IALUGenerator wrapper class class _IALUGenerator : public COleDispatchDriver { public: _IALUGenerator() {} // Calls COleDispatchDriver default constructor _IALUGenerator(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {} _IALUGenerator(const _IALUGenerator& dispatchSrc) : COleDispatchDriver(dispatchSrc) {} // Attributes public: // Operations public: void SetStoragePath(LPCTSTR lpszNewValue); void SaveProduct(LPDISPATCH* ProdInfo); LPDISPATCH RetrieveProduct(LPCTSTR Name, LPCTSTR Ver); // method 'RetrieveProducts' not emitted because of invalid return type or parameter type void DeleteProduct(LPCTSTR Name, LPCTSTR Ver); CString GenKey(LPDISPATCH* Lic, LPCTSTR InstCode); }; ///////////////////////////////////////////////////////////////////////////// // _Globals wrapper class class _ALUGENGlobals : public COleDispatchDriver { public: _ALUGENGlobals() {} // Calls COleDispatchDriver default constructor _ALUGENGlobals(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {} _ALUGENGlobals(const _ALUGENGlobals& dispatchSrc) : COleDispatchDriver(dispatchSrc) {} // Attributes public: // Operations public: LPDISPATCH GeneratorInstance(); LPDISPATCH CreateProductInfo(LPCTSTR Name, LPCTSTR Ver, LPCTSTR VCode, LPCTSTR GCode); }; ///////////////////////////////////////////////////////////////////////////// // _ProductInfo wrapper class class _ProductInfo : public COleDispatchDriver { public: _ProductInfo() {} // Calls COleDispatchDriver default constructor _ProductInfo(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {} _ProductInfo(const _ProductInfo& dispatchSrc) : COleDispatchDriver(dispatchSrc) {} // Attributes public: // Operations public: CString GetName(); CString GetVersion(); CString GetVCode(); CString GetGCode(); }; --- NEW FILE: alugenc.cpp --- /** * ActiveLock 2 * Copyright 2003-2004 The ActiveLock Software Group (ASG) * * All material is the property of the contributing authors. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are * met: * * [o] Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * [o] Redistributions in binary form must reproduce the above * copyright notice, this list of conditions and the following * disclaimer in the documentation and/or other materials provided * with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * */ /* * ALUGENC - Console version of alugen.exe * * Author: Thanh Hai Tran (th...@us...), June 2004 */ /********************************************************************************************** * Change Log * ========== * * Date (MM/DD/YY) Author Description * --------------- ----------- -------------------------------------------------------------- * 06/28/04 th2tran Created * ***********************************************************************************************/ #include "stdafx.h" #include "activelock2.h" // ActiveLock object model #include "alugen.h" // ALUGEN object model #include "alugenc.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // The one and only application object CWinApp theApp; using namespace std; ///////////////////////////////////////////////////////////////////////////// // alugenc.exe main // int _tmain(int argc, TCHAR* argv[], TCHAR* envp[]) { int nRetCode = 0; _IActiveLock m_ActiveLock; // Print syntax if (argc < 11) { cerr << _T("ALUGENC - ActiveLock Universal GENerator Command-Line Interface\nSyntax: alugenc.exe -p <productname> -v <productversion> -t <licensetype> -x <expiration_date> -i <installation_code> -l <user>") << endl; cerr << _T("Example: alugenc.exe -p TestApp -v 1.0 -t 0 -x 2004/06/27 -i MDAgNTAgREEgNTYgNTkgRTkKQTg2Ri1FMEMxCkV2YWx1YXRpb24gVXNlcg -l \"Eval User\"") << endl; return FALSE; } // initialize MFC and print and error on failure if (!AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0)) { cerr << _T("Fatal Error: MFC initialization failed") << endl; return FALSE; } // Initialize OLE libraries if (!AfxOleInit()) { cerr << _T("Fatal Error: OLE initialization failed") << endl; return FALSE; } CoInitialize(NULL); // Obtain ProdName, ProdVer, lictype, regdate, expiredate, instcode from command-line arguments CString strProdName; CString strProdVer; int licType = 0; CString strRegDate; CString strExpire; CString strInstCode; CString strLicensee; // Parse command-line arguments CString temp; for (int i=1; i<argc; i++) { temp = argv[i]; if (temp.CompareNoCase(_T("-p")) == 0) { strProdName = argv[i+1]; i++; } else if (temp.CompareNoCase(_T("-v")) == 0) { strProdVer = argv[i+1]; i++; } else if (temp.CompareNoCase(_T("-t")) == 0) { licType = atoi(argv[i+1]); i++; } else if (temp.CompareNoCase(_T("-x")) == 0) { strExpire = argv[i+1]; i++; } else if (temp.CompareNoCase(_T("-i")) == 0) { strInstCode = argv[i+1]; i++; } else if (temp.CompareNoCase(_T("-l")) == 0) { strLicensee = argv[i+1]; i++; } } // ActiveLock initialization _Globals* alGlobals; // Obtain IActiveLock Instance alGlobals = new _Globals(); alGlobals->CreateDispatch(_T("ActiveLock2.Globals")); m_ActiveLock = alGlobals->NewInstance(); // Obtain ALUGEN instance _ALUGENGlobals* alugenGlobals; alugenGlobals = new _ALUGENGlobals; alugenGlobals->CreateDispatch(_T("ALUGENLib.Globals")); _IALUGenerator alugen; alugen = alugenGlobals->GeneratorInstance(); // Set StorePath CString strPath; char cPath[255]; GetCurrentDirectory(255, (char *)cPath); strPath = cPath; strPath.Insert(strPath.GetLength(), _T("\\products.ini")); alugen.SetStoragePath(strPath); // Generate key _ProductLicense Lic; CString licKey; try { Lic = (_ProductLicense)alGlobals->CreateProductLicense(strProdName, strProdVer, NULL, // product code 0, // flags: alSingle licType, // license type strLicensee, // licensee strExpire, // expiration date NULL, // license key strRegDate, NULL, // Hash1 1); // max users licKey = alugen.GenKey((LPDISPATCH*)&Lic, strInstCode); } catch (CException* ce) { ce->ReportError(); } catch (...) { cerr << _T("I don't know what happened, but it crashed. Have a nice day!") << endl; return FALSE; } cout << (LPCTSTR)licKey << endl; // TODO: Put Cleanup code here return nRetCode; } --- NEW FILE: alugenc.dsp --- # Microsoft Developer Studio Project File - Name="alugenc" - Package Owner=<4> # Microsoft Developer Studio Generated Build File, Format Version 6.00 # ** DO NOT EDIT ** # TARGTYPE "Win32 (x86) Console Application" 0x0103 CFG=alugenc - Win32 Debug !MESSAGE This is not a valid makefile. To build this project using NMAKE, !MESSAGE use the Export Makefile command and run !MESSAGE !MESSAGE NMAKE /f "alugenc.mak". !MESSAGE !MESSAGE You can specify a configuration when running NMAKE !MESSAGE by defining the macro CFG on the command line. For example: !MESSAGE !MESSAGE NMAKE /f "alugenc.mak" CFG="alugenc - Win32 Debug" !MESSAGE !MESSAGE Possible choices for configuration are: !MESSAGE !MESSAGE "alugenc - Win32 Release" (based on "Win32 (x86) Console Application") !MESSAGE "alugenc - Win32 Debug" (based on "Win32 (x86) Console Application") !MESSAGE # Begin Project # PROP AllowPerConfigDependencies 0 # PROP Scc_ProjName "" # PROP Scc_LocalPath "" CPP=cl.exe RSC=rc.exe !IF "$(CFG)" == "alugenc - Win32 Release" # PROP BASE Use_MFC 2 # PROP BASE Use_Debug_Libraries 0 # PROP BASE Output_Dir "Release" # PROP BASE Intermediate_Dir "Release" # PROP BASE Target_Dir "" # PROP Use_MFC 2 # PROP Use_Debug_Libraries 0 # PROP Output_Dir "Release" # PROP Intermediate_Dir "Release" # PROP Target_Dir "" # ADD BASE CPP /nologo /MD /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "_AFXDLL" /Yu"stdafx.h" /FD /c # ADD CPP /nologo /MD /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "_AFXDLL" /Yu"stdafx.h" /FD /c # ADD BASE RSC /l 0x1009 /d "NDEBUG" /d "_AFXDLL" # ADD RSC /l 0x1009 /d "NDEBUG" /d "_AFXDLL" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 # ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 !ELSEIF "$(CFG)" == "alugenc - Win32 Debug" # PROP BASE Use_MFC 2 # PROP BASE Use_Debug_Libraries 1 # PROP BASE Output_Dir "Debug" # PROP BASE Intermediate_Dir "Debug" # PROP BASE Target_Dir "" # PROP Use_MFC 2 # PROP Use_Debug_Libraries 1 # PROP Output_Dir "Debug" # PROP Intermediate_Dir "Debug" # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "_AFXDLL" /Yu"stdafx.h" /FD /GZ /c # ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_WINDOWS" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "_AFXDLL" /Yu"stdafx.h" /FD /GZ /c # ADD BASE RSC /l 0x1009 /d "_DEBUG" /d "_AFXDLL" # ADD RSC /l 0x1009 /d "_DEBUG" /d "_AFXDLL" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept # ADD LINK32 /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept !ENDIF # Begin Target # Name "alugenc - Win32 Release" # Name "alugenc - Win32 Debug" # Begin Group "Source Files" # PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" # Begin Source File SOURCE=.\activelock2.cpp # End Source File # Begin Source File SOURCE=.\alugen.cpp # End Source File # Begin Source File SOURCE=.\alugenc.cpp # End Source File # Begin Source File SOURCE=.\StdAfx.cpp # ADD CPP /Yc"stdafx.h" # End Source File # End Group # Begin Group "Header Files" # PROP Default_Filter "h;hpp;hxx;hm;inl" # Begin Source File SOURCE=.\activelock2.h # End Source File # Begin Source File SOURCE=.\alugen.h # End Source File # Begin Source File SOURCE=.\alugenc.h # End Source File # Begin Source File SOURCE=.\Resource.h # End Source File # Begin Source File SOURCE=.\StdAfx.h # End Source File # End Group # Begin Group "Resource Files" # PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" # Begin Source File SOURCE=.\alugenc.rc # End Source File # End Group # Begin Source File SOURCE=.\ReadMe.txt # End Source File # End Target # End Project --- NEW FILE: alugenc.dsw --- Microsoft Developer Studio Workspace File, Format Version 6.00 # WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! ############################################################################### Project: "alugenc"=.\alugenc.dsp - Package Owner=<4> Package=<5> {{{ }}} Package=<4> {{{ }}} ############################################################################### Global: Package=<5> {{{ }}} Package=<3> {{{ }}} ############################################################################### --- NEW FILE: alugenc.h --- /** * ActiveLock 2 * Copyright 2003-2004 The ActiveLock Software Group (ASG) * * All material is the property of the contributing authors. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are * met: * * [o] Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * [o] Redistributions in binary form must reproduce the above * copyright notice, this list of conditions and the following * disclaimer in the documentation and/or other materials provided * with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * */ /********************************************************************************************** * Change Log * ========== * * Date (MM/DD/YY) Author Description * --------------- ----------- -------------------------------------------------------------- * 06/28/04 th2tran Created * ***********************************************************************************************/ #if !defined(AFX_ALUGENC_H__6CD8A92E_065C_4131_A3EB_3200D78019CD__INCLUDED_) #define AFX_ALUGENC_H__6CD8A92E_065C_4131_A3EB_3200D78019CD__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 #include "resource.h" #endif // !defined(AFX_ALUGENC_H__6CD8A92E_065C_4131_A3EB_3200D78019CD__INCLUDED_) --- NEW FILE: alugenc.rc --- //Microsoft Developer Studio generated resource script. // #include "resource.h" #define APSTUDIO_READONLY_SYMBOLS ///////////////////////////////////////////////////////////////////////////// // // Generated from the TEXTINCLUDE 2 resource. // #include "afxres.h" ///////////////////////////////////////////////////////////////////////////// #undef APSTUDIO_READONLY_SYMBOLS ///////////////////////////////////////////////////////////////////////////// // English (U.S.) resources #if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) #ifdef _WIN32 LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US #pragma code_page(1252) #endif //_WIN32 #ifdef APSTUDIO_INVOKED ///////////////////////////////////////////////////////////////////////////// // // TEXTINCLUDE // 1 TEXTINCLUDE DISCARDABLE BEGIN "resource.h\0" END 2 TEXTINCLUDE DISCARDABLE BEGIN "#include ""afxres.h""\r\n" "\0" END 3 TEXTINCLUDE DISCARDABLE BEGIN "\r\n" "\0" END #endif // APSTUDIO_INVOKED ///////////////////////////////////////////////////////////////////////////// // // String Table // STRINGTABLE DISCARDABLE BEGIN IDS_HELLO "Hello from MFC!" END #endif // English (U.S.) resources ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// // English (Canada) resources #if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENC) #ifdef _WIN32 LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_CAN #pragma code_page(1252) #endif //_WIN32 #ifndef _MAC ///////////////////////////////////////////////////////////////////////////// // // Version // VS_VERSION_INFO VERSIONINFO FILEVERSION 1,0,0,1 PRODUCTVERSION 1,0,0,1 FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS 0x1L #else FILEFLAGS 0x0L #endif FILEOS 0x40004L FILETYPE 0x1L FILESUBTYPE 0x0L BEGIN BLOCK "StringFileInfo" BEGIN BLOCK "040904b0" BEGIN VALUE "Comments", "\0" VALUE "CompanyName", "ActiveLock Software Group\0" VALUE "FileDescription", "ActiveLock Universal GENerator Command-Line Interface\0" VALUE "FileVersion", "1, 0, 0, 1\0" VALUE "InternalName", "alugenc\0" VALUE "LegalCopyright", "Copyright © 2004 ActiveLock Software Group\0" VALUE "LegalTrademarks", "\0" VALUE "OriginalFilename", "alugenc.exe\0" VALUE "PrivateBuild", "\0" VALUE "ProductName", "ALUGENC\0" VALUE "ProductVersion", "2, 0, 0, 8\0" VALUE "SpecialBuild", "\0" END END BLOCK "VarFileInfo" BEGIN VALUE "Translation", 0x409, 1200 END END #endif // !_MAC #endif // English (Canada) resources ///////////////////////////////////////////////////////////////////////////// #ifndef APSTUDIO_INVOKED ///////////////////////////////////////////////////////////////////////////// // // Generated from the TEXTINCLUDE 3 resource. // ///////////////////////////////////////////////////////////////////////////// #endif // not APSTUDIO_INVOKED --- NEW FILE: ReadMe.txt --- ======================================================================== CONSOLE APPLICATION : alugenc ======================================================================== AppWizard has created this alugenc application for you. This file contains a summary of what you will find in each of the files that make up your alugenc application. alugenc.dsp This file (the project file) contains information at the project level and is used to build a single project or subproject. Other users can share the project (.dsp) file, but they should export the makefiles locally. alugenc.cpp This is the main application source file. alugenc.rc This is a listing of all of the Microsoft Windows resources that the program uses. It includes the icons, bitmaps, and cursors that are stored in the RES subdirectory. This file can be directly edited in Microsoft Visual C++. ///////////////////////////////////////////////////////////////////////////// Other standard files: StdAfx.h, StdAfx.cpp These files are used to build a precompiled header (PCH) file named alugenc.pch and a precompiled types file named StdAfx.obj. Resource.h This is the standard header file, which defines new resource IDs. Microsoft Visual C++ reads and updates this file. ///////////////////////////////////////////////////////////////////////////// Other notes: AppWizard uses "TODO:" to indicate parts of the source code you should add to or customize. ///////////////////////////////////////////////////////////////////////////// --- NEW FILE: Resource.h --- //{{NO_DEPENDENCIES}} // Microsoft Visual C++ generated include file. // Used by alugenc.rc // #define IDS_HELLO 1 // Next default values for new objects // #ifdef APSTUDIO_INVOKED #ifndef APSTUDIO_READONLY_SYMBOLS #define _APS_NEXT_RESOURCE_VALUE 101 #define _APS_NEXT_COMMAND_VALUE 40001 #define _APS_NEXT_CONTROL_VALUE 1000 #define _APS_NEXT_SYMED_VALUE 101 #endif #endif --- NEW FILE: StdAfx.cpp --- // stdafx.cpp : source file that includes just the standard includes // alugenc.pch will be the pre-compiled header // stdafx.obj will contain the pre-compiled type information #include "stdafx.h" // TODO: reference any additional headers you need in STDAFX.H // and not in this file --- NEW FILE: StdAfx.h --- // stdafx.h : include file for standard system include files, // or project specific include files that are used frequently, but // are changed infrequently // #if !defined(AFX_STDAFX_H__C731D5CD_DC03_4207_9113_2244AA9590EB__INCLUDED_) #define AFX_STDAFX_H__C731D5CD_DC03_4207_9113_2244AA9590EB__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 #define VC_EXTRALEAN // Exclude rarely-used stuff from Windows headers #include <afx.h> #include <afxwin.h> // MFC core and standard components #include <afxext.h> // MFC extensions #include <afxdtctl.h> // MFC support for Internet Explorer 4 Common Controls #ifndef _AFX_NO_AFXCMN_SUPPORT #include <afxcmn.h> // MFC support for Windows Common Controls #endif // _AFX_NO_AFXCMN_SUPPORT #include <iostream> // TODO: reference additional headers your program requires here //{{AFX_INSERT_LOCATION}} // Microsoft Visual C++ will insert additional declarations immediately before the previous line. #endif // !defined(AFX_STDAFX_H__C731D5CD_DC03_4207_9113_2244AA9590EB__INCLUDED_) |