Showing preview only (802K chars total). Download the full file or copy to clipboard to get everything.
Repository: zhongjianhua163/BlackMoonKernelStaticLib
Branch: master
Commit: 538ab86d2d8e
Files: 290
Total size: 706.5 KB
Directory structure:
gitextract_xxll1hxj/
├── .github/
│ └── workflows/
│ ├── blackmoon_krnln.yml
│ ├── blackmoon_krnlnobj.yml
│ └── blackmoon_mfc.yml
├── .gitignore
├── LICENSE
├── MFCObj/
│ ├── BlackMoonMFCdll.cpp
│ ├── EyMFCComInit.cpp
│ ├── EyMFCComInit.h
│ ├── MFCBlackMoon.aps
│ ├── MFCBlackMoon.cpp
│ ├── MFCBlackMoon.def
│ ├── MFCBlackMoon.h
│ ├── MFCBlackMoon.rc
│ ├── MFCBlackMoonCon.cpp
│ ├── Resource.h
│ ├── StdAfx.cpp
│ ├── StdAfx.h
│ └── res/
│ └── MFCBlackMoon.rc2
├── Project/
│ ├── MFCBlackMoon_VC6.clw
│ ├── MFCBlackMoon_VC6.dsp
│ ├── MFCBlackMoon_VS2019.vcxproj
│ ├── MFCBlackMoon_VS2019.vcxproj.filters
│ ├── MFCBlackMoon_VS2019.vcxproj.user
│ ├── krnln_VC6.dsp
│ ├── krnln_VC6_Obj.dsp
│ ├── krnln_VS2019.vcxproj
│ ├── krnln_VS2019.vcxproj.filters
│ ├── krnln_VS2019.vcxproj.user
│ ├── krnln_VS2019_Obj.vcxproj
│ ├── krnln_VS2019_Obj.vcxproj.filters
│ └── krnln_VS2019_Obj.vcxproj.user
├── README.md
├── Readme.txt
├── krnln/
│ ├── BlackMoonCallPropertyVaule.cpp
│ ├── BlackMoonCallUserDll.cpp
│ ├── BlackMoonDll.cpp
│ ├── BlackMoonDll2.cpp
│ ├── BlackMoonExe.cpp
│ ├── BlackMoonLibNotifySys.cpp
│ ├── BlackMoonResDll.cpp
│ ├── CloneBinData.cpp
│ ├── CloneTextData.cpp
│ ├── DateTimeFormat.cpp
│ ├── Diskid32.obj
│ ├── DllEntryFunc.cpp
│ ├── EyComInit.cpp
│ ├── EyInit.cpp
│ ├── FileManager.cpp
│ ├── FreeAryElement.cpp
│ ├── GetAryElementInf.cpp
│ ├── GetDataTypeType.cpp
│ ├── GetDatePart.cpp
│ ├── GetDaysOfSpecMonth.cpp
│ ├── GetRegRootVal.cpp
│ ├── GetSpecTime.cpp
│ ├── GetSysDataTypeDataSize.cpp
│ ├── GetTimePart.cpp
│ ├── GetWeekDay.cpp
│ ├── HelpFunc12.cpp
│ ├── IsInFileMangerList.cpp
│ ├── LTrimZeroChr.cpp
│ ├── LTrimZeroChr.h
│ ├── MyMemFile.cpp
│ ├── MyMemFile.h
│ ├── Myfunctions.cpp
│ ├── Myfunctions.h
│ ├── NumToChinese.cpp
│ ├── PY.OBJ
│ ├── SDataToStr.cpp
│ ├── StdAfx.cpp
│ ├── StdAfx.h
│ ├── eHelpFunc.cpp
│ ├── krnln_BJCase.cpp
│ ├── krnln_BinLeft.cpp
│ ├── krnln_BinLen.cpp
│ ├── krnln_BinMid.cpp
│ ├── krnln_BinRight.cpp
│ ├── krnln_ChDir.cpp
│ ├── krnln_ChDrive.cpp
│ ├── krnln_ClearClipBoard.cpp
│ ├── krnln_CryptOpen.cpp
│ ├── krnln_CurDir.cpp
│ ├── krnln_DeleteRegItem.cpp
│ ├── krnln_Dispatch.cpp
│ ├── krnln_DoEvents.cpp
│ ├── krnln_FSeek.cpp
│ ├── krnln_FileCopy.cpp
│ ├── krnln_FileDateTime.cpp
│ ├── krnln_FileLen.cpp
│ ├── krnln_FileMove.cpp
│ ├── krnln_GetAllPY.cpp
│ ├── krnln_GetAttr.cpp
│ ├── krnln_GetBackColor.cpp
│ ├── krnln_GetBinElement.cpp
│ ├── krnln_GetBinRegItem.cpp
│ ├── krnln_GetClipBoardText.cpp
│ ├── krnln_GetCmdLine.cpp
│ ├── krnln_GetColorCount.cpp
│ ├── krnln_GetCursorHorzPos.cpp
│ ├── krnln_GetCursorVertPos.cpp
│ ├── krnln_GetDataTypeSize.cpp
│ ├── krnln_GetDatePart.cpp
│ ├── krnln_GetDaysOfSpecMonth.cpp
│ ├── krnln_GetDiskFreeSpace.cpp
│ ├── krnln_GetDiskLabel.cpp
│ ├── krnln_GetDiskTotalSpace.cpp
│ ├── krnln_GetEnv.cpp
│ ├── krnln_GetHDiskCode.cpp
│ ├── krnln_GetHostName.cpp
│ ├── krnln_GetIntInsideBin.cpp
│ ├── krnln_GetKeyText.cpp
│ ├── krnln_GetLastError.cpp
│ ├── krnln_GetNumRegItem.cpp
│ ├── krnln_GetRunFileName.cpp
│ ├── krnln_GetRunPath.cpp
│ ├── krnln_GetRuntimeDataType.cpp
│ ├── krnln_GetScreenHeight.cpp
│ ├── krnln_GetScreenWidth.cpp
│ ├── krnln_GetSectionNames.cpp
│ ├── krnln_GetSpecTime.cpp
│ ├── krnln_GetSysVer.cpp
│ ├── krnln_GetTempFileName.cpp
│ ├── krnln_GetTextRegItem.cpp
│ ├── krnln_GetTickCount.cpp
│ ├── krnln_GetTimePart.cpp
│ ├── krnln_GetWinPic.cpp
│ ├── krnln_HostNameToIP.cpp
│ ├── krnln_IDiv.cpp
│ ├── krnln_IPToHostName.cpp
│ ├── krnln_InBin.cpp
│ ├── krnln_InBinRev.cpp
│ ├── krnln_InStr.cpp
│ ├── krnln_InStrRev.cpp
│ ├── krnln_InputBox.cpp
│ ├── krnln_InsBin.cpp
│ ├── krnln_InsLine.cpp
│ ├── krnln_InsText.cpp
│ ├── krnln_IsCalcOK.cpp
│ ├── krnln_IsDebugVer.cpp
│ ├── krnln_IsFileExist.cpp
│ ├── krnln_IsHaveTextInClip.cpp
│ ├── krnln_IsRegItemExist.cpp
│ ├── krnln_LCase.cpp
│ ├── krnln_LTrim.cpp
│ ├── krnln_MakeLong.cpp
│ ├── krnln_MakeWord.cpp
│ ├── krnln_MkDir.cpp
│ ├── krnln_MsgBox.cpp
│ ├── krnln_NumToRMB.cpp
│ ├── krnln_NumToText.cpp
│ ├── krnln_OpenManyFileDialog.cpp
│ ├── krnln_OpenMemFile.cpp
│ ├── krnln_PlayMID.cpp
│ ├── krnln_PlayMusic.cpp
│ ├── krnln_PlayStop.cpp
│ ├── krnln_PutEnv.cpp
│ ├── krnln_QJCase.cpp
│ ├── krnln_RTrim.cpp
│ ├── krnln_ReadBin.cpp
│ ├── krnln_ReadFile.cpp
│ ├── krnln_ReadLine.cpp
│ ├── krnln_ReadText.cpp
│ ├── krnln_RemoveData.cpp
│ ├── krnln_ReplaceText.cpp
│ ├── krnln_RestroeCursor.cpp
│ ├── krnln_ReverseIntBytes.cpp
│ ├── krnln_RmDir.cpp
│ ├── krnln_RpBin.cpp
│ ├── krnln_RpSubBin.cpp
│ ├── krnln_RpSubText.cpp
│ ├── krnln_RunConsoleApp.cpp
│ ├── krnln_SaveRegItem.cpp
│ ├── krnln_SeekToBegin.cpp
│ ├── krnln_SeekToEnd.cpp
│ ├── krnln_SetAttr.cpp
│ ├── krnln_SetClipBoardText.cpp
│ ├── krnln_SetDiskLabel.cpp
│ ├── krnln_SetIntInsideBin.cpp
│ ├── krnln_SetKeyText.cpp
│ ├── krnln_SetSysTime.cpp
│ ├── krnln_SetWaitCursor.cpp
│ ├── krnln_SortAry.cpp
│ ├── krnln_SpaceBin.cpp
│ ├── krnln_SplitBin.cpp
│ ├── krnln_StrComp.cpp
│ ├── krnln_StrToUTF8.cpp
│ ├── krnln_TimeChg.cpp
│ ├── krnln_TimeDiff.cpp
│ ├── krnln_TimePart.cpp
│ ├── krnln_TimeToText.cpp
│ ├── krnln_ToBin.cpp
│ ├── krnln_ToByte.cpp
│ ├── krnln_ToFloat.cpp
│ ├── krnln_ToInt.cpp
│ ├── krnln_ToLong.cpp
│ ├── krnln_ToShort.cpp
│ ├── krnln_ToTime.cpp
│ ├── krnln_TrimAll.cpp
│ ├── krnln_UCase.cpp
│ ├── krnln_UNum.cpp
│ ├── krnln_UTF8ToStr.cpp
│ ├── krnln_Unlock.cpp
│ ├── krnln_Variant.cpp
│ ├── krnln_WeekDay.cpp
│ ├── krnln_WriteBin.cpp
│ ├── krnln_WriteFile.cpp
│ ├── krnln_WriteLine.cpp
│ ├── krnln_WriteMem.cpp
│ ├── krnln_WriteText.cpp
│ ├── krnln_ZeroAry.cpp
│ ├── krnln_abs.cpp
│ ├── krnln_asc.cpp
│ ├── krnln_atn.cpp
│ ├── krnln_band.cpp
│ ├── krnln_beep.cpp
│ ├── krnln_bin.cpp
│ ├── krnln_bnot.cpp
│ ├── krnln_bor.cpp
│ ├── krnln_bxor.cpp
│ ├── krnln_chr.cpp
│ ├── krnln_close.cpp
│ ├── krnln_cos.cpp
│ ├── krnln_create.cpp
│ ├── krnln_day.cpp
│ ├── krnln_exp.cpp
│ ├── krnln_feof.cpp
│ ├── krnln_fgets.cpp
│ ├── krnln_fix.cpp
│ ├── krnln_fputs.cpp
│ ├── krnln_hex.cpp
│ ├── krnln_hour.cpp
│ ├── krnln_int.cpp
│ ├── krnln_kill.cpp
│ ├── krnln_left.cpp
│ ├── krnln_len.cpp
│ ├── krnln_like.cpp
│ ├── krnln_loc.cpp
│ ├── krnln_lock.cpp
│ ├── krnln_lof.cpp
│ ├── krnln_log.cpp
│ ├── krnln_mid.cpp
│ ├── krnln_minute.cpp
│ ├── krnln_mod.cpp
│ ├── krnln_month.cpp
│ ├── krnln_name.cpp
│ ├── krnln_now.cpp
│ ├── krnln_oct.cpp
│ ├── krnln_open.cpp
│ ├── krnln_p2double.cpp
│ ├── krnln_p2float.cpp
│ ├── krnln_p2int.cpp
│ ├── krnln_pbin.cpp
│ ├── krnln_ping.cpp
│ ├── krnln_pow.cpp
│ ├── krnln_pstr.cpp
│ ├── krnln_randomize.cpp
│ ├── krnln_read.cpp
│ ├── krnln_reset.cpp
│ ├── krnln_rgb.cpp
│ ├── krnln_right.cpp
│ ├── krnln_rnd.cpp
│ ├── krnln_round.cpp
│ ├── krnln_run.cpp
│ ├── krnln_second.cpp
│ ├── krnln_sgn.cpp
│ ├── krnln_shl.cpp
│ ├── krnln_shr.cpp
│ ├── krnln_sin.cpp
│ ├── krnln_sleep.cpp
│ ├── krnln_space.cpp
│ ├── krnln_split.cpp
│ ├── krnln_sqr.cpp
│ ├── krnln_str.cpp
│ ├── krnln_string.cpp
│ ├── krnln_tan.cpp
│ ├── krnln_trim.cpp
│ ├── krnln_val.cpp
│ ├── krnln_write.cpp
│ ├── krnln_year.cpp
│ ├── lib.h
│ ├── lib2.h
│ ├── md5t.cpp
│ ├── md5t.h
│ ├── mem.cpp
│ ├── mem.h
│ ├── midi.cpp
│ ├── midi.h
│ └── replaceText.cpp
├── krnln_VC6.dsw
└── krnln_VS2019.sln
================================================
FILE CONTENTS
================================================
================================================
FILE: .github/workflows/blackmoon_krnln.yml
================================================
name: BlackMoon Krnln
on:
push:
branches: [master]
pull_request:
branches: [master]
jobs:
bmkrnln-debug-win32:
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
# Add msuild to local environment
- name: Add msbuild to PATH
uses: microsoft/setup-msbuild@v1.0.2
# Test build
- name: Build BlackMoon Krnln
run: msbuild Project/krnln_VS2019.vcxproj /p:configuration=debug /p:platform=win32 -maxcpucount:4
bmkrnln-release-win32:
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
# Add msuild to local environment
- name: Add msbuild to PATH
uses: microsoft/setup-msbuild@v1.0.2
# Test build
- name: Build BlackMoon Krnln
run: msbuild Project/krnln_VS2019.vcxproj /p:configuration=release /p:platform=win32 -maxcpucount:4
================================================
FILE: .github/workflows/blackmoon_krnlnobj.yml
================================================
name: BlackMoon Krnln OBJ
on:
push:
branches: [master]
pull_request:
branches: [master]
jobs:
bmkrobj-debug-win32:
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
# Add msuild to local environment
- name: Add msbuild to PATH
uses: microsoft/setup-msbuild@v1.0.2
# Test build
- name: Build BlackMoon Krnln OBJ
run: msbuild Project/krnln_VS2019_Obj.vcxproj /p:configuration=debug /p:platform=win32 -maxcpucount:4
bmkrobj-release-win32:
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
# Add msuild to local environment
- name: Add msbuild to PATH
uses: microsoft/setup-msbuild@v1.0.2
# Test build
- name: Build BlackMoon Krnln OBJ
run: msbuild Project/krnln_VS2019_Obj.vcxproj /p:configuration=release /p:platform=win32 -maxcpucount:4
================================================
FILE: .github/workflows/blackmoon_mfc.yml
================================================
name: BlackMoon MFC
on:
push:
branches: [master]
pull_request:
branches: [master]
jobs:
bmmfc-debug-win32:
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
# Add msuild to local environment
- name: Add msbuild to PATH
uses: microsoft/setup-msbuild@v1.0.2
# Test build
- name: Build BlackMoon MFC
run: msbuild Project/MFCBlackMoon_VS2019.vcxproj /p:configuration=debug /p:platform=win32 -maxcpucount:4
bmmfc-release-win32:
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
# Add msuild to local environment
- name: Add msbuild to PATH
uses: microsoft/setup-msbuild@v1.0.2
# Test build
- name: Build BlackMoon MFC
run: msbuild Project/MFCBlackMoon_VS2019.vcxproj /p:configuration=release /p:platform=win32 -maxcpucount:4
================================================
FILE: .gitignore
================================================
*.ncb
*.opt
*.plg
*.suo
.vs/*
Release/*
Debug/*
Project/krnln_VS2005.vcproj.*
Project/krnln_VS2005_Obj.vcproj.*
Project/*.plg
Project/Release/*
Project/ReleaseDll/*
Project/Debug/*
================================================
FILE: LICENSE
================================================
BSD 3-Clause License
Copyright (c) 2019, 钟建华
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
* 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.
* Neither the name of the copyright holder nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.
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 HOLDER 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.
================================================
FILE: MFCObj/BlackMoonMFCdll.cpp
================================================
#include "stdafx.h"
#include "EyMFCComInit.h"
//#define _EDLLMAIN
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CMFCBlackMoonDLLApp
BEGIN_MESSAGE_MAP(CMFCBlackMoonDLLApp, CWinApp)
//{{AFX_MSG_MAP(CMFCBlackMoonDLLApp)
// NOTE - the ClassWizard will add and remove mapping macros here.
// DO NOT EDIT what you see in these blocks of generated code!
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CMFCBlackMoonDLLApp construction
CMFCBlackMoonDLLApp::CMFCBlackMoonDLLApp()
{
// TODO: add construction code here,
// Place all significant initialization in InitInstance
}
/////////////////////////////////////////////////////////////////////////////
// The one and only CMFCBlackMoonDLLApp object
#pragma comment(lib, "nafxcw.lib")
CMFCBlackMoonDLLApp theApp;
typedef void (*PDESTROY)(void);
PDESTROY DllEntryFunc();
extern HANDLE hBlackMoonInstanceHandle;
extern "C" PDESTROY DestroyAddress;
extern "C" {
//PDESTROY ECodeStart();
void _cdecl E_Init();
void _cdecl E_DestroyRes();
#ifdef _EDLLMAIN
int __stdcall EDllMain( HANDLE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
);
#endif
}
INT nBMProtectESP = 0;
INT nBMProtectEBP = 0;
BOOL CMFCBlackMoonDLLApp::InitInstance()
{
// TODO: Add your specialized code here and/or call the base class
//MessageBox(NULL,"I am MfcBlackMoon","DLL",MB_OK);
hBlackMoonInstanceHandle = m_hInstance;
E_Init();
DestroyAddress = DllEntryFunc();
#ifdef _EDLLMAIN
int nRet = EDllMain(m_hInstance,DLL_PROCESS_ATTACH,0);
if(nRet==0)
return nRet;
#endif
return CWinApp::InitInstance();
}
int CMFCBlackMoonDLLApp::ExitInstance()
{
// TODO: Add your specialized code here and/or call the base class
#ifdef _EDLLMAIN
int nRet = EDllMain(m_hInstance,DLL_PROCESS_DETACH,0);
#endif
E_DestroyRes();
return CWinApp::ExitInstance();
}
================================================
FILE: MFCObj/EyMFCComInit.cpp
================================================
#include "stdafx.h"
typedef void (*PDESTROY)(void);
extern "C" PDESTROY DestroyAddress;
extern "C" PDESTROY HFileDestroyAddress;
extern "C" PDESTROY DestroyMidiPlayer;
extern "C" HANDLE hBlackMoonHeap;
void BlackMoonInitAllElib();
void BlackMoonFreeAllElib();
extern "C" {
void _cdecl E_Init(){
hBlackMoonHeap =::GetProcessHeap();
AfxOleInit();
CoInitialize(0);
BlackMoonInitAllElib();
}
void _cdecl E_DestroyRes(){
if(DestroyAddress)
DestroyAddress();
if(HFileDestroyAddress)
HFileDestroyAddress();
if(DestroyMidiPlayer)
DestroyMidiPlayer();
BlackMoonFreeAllElib();
//CoUninitialize();
}
}
================================================
FILE: MFCObj/EyMFCComInit.h
================================================
#if !defined(AFX_MFCBLACKMOON_H__66A6D0ED_F1AB_4149_9834_F05CAE45D193__INCLUDED_)
#define AFX_MFCBLACKMOON_H__66A6D0ED_F1AB_4149_9834_F05CAE45D193__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#ifndef __AFXWIN_H__
#error include 'stdafx.h' before including this file for PCH
#endif
#include "resource.h" // main symbols
/////////////////////////////////////////////////////////////////////////////
// CMFCBlackMoonApp
// See MFCBlackMoon.cpp for the implementation of this class
//
class CMFCBlackMoonDLLApp : public CWinApp
{
public:
CMFCBlackMoonDLLApp();
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CMFCBlackMoonDLLApp)
public:
virtual BOOL InitInstance();
virtual int ExitInstance();
//}}AFX_VIRTUAL
//{{AFX_MSG(CMFCBlackMoonDLLApp)
// NOTE - the ClassWizard will add and remove member functions here.
// DO NOT EDIT what you see in these blocks of generated code !
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
/////////////////////////////////////////////////////////////////////////////
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_MFCBLACKMOON_H__66A6D0ED_F1AB_4149_9834_F05CAE45D193__INCLUDED_)
================================================
FILE: MFCObj/MFCBlackMoon.cpp
================================================
// MFCBlackMoon.cpp : Defines the initialization routines for the DLL.
//
#include "stdafx.h"
#include "MFCBlackMoon.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
//
// Note!
//
// If this DLL is dynamically linked against the MFC
// DLLs, any functions exported from this DLL which
// call into MFC must have the AFX_MANAGE_STATE macro
// added at the very beginning of the function.
//
// For example:
//
// extern "C" BOOL PASCAL EXPORT ExportedFunction()
// {
// AFX_MANAGE_STATE(AfxGetStaticModuleState());
// // normal function body here
// }
//
// It is very important that this macro appear in each
// function, prior to any calls into MFC. This means that
// it must appear as the first statement within the
// function, even before any object variable declarations
// as their constructors may generate calls into the MFC
// DLL.
//
// Please see MFC Technical Notes 33 and 58 for additional
// details.
//
/////////////////////////////////////////////////////////////////////////////
// CMFCBlackMoonApp
BEGIN_MESSAGE_MAP(CMFCBlackMoonApp, CWinApp)
//{{AFX_MSG_MAP(CMFCBlackMoonApp)
// NOTE - the ClassWizard will add and remove mapping macros here.
// DO NOT EDIT what you see in these blocks of generated code!
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CMFCBlackMoonApp construction
CMFCBlackMoonApp::CMFCBlackMoonApp()
{
// TODO: add construction code here,
// Place all significant initialization in InitInstance
}
/////////////////////////////////////////////////////////////////////////////
// The one and only CMFCBlackMoonApp object
//#pragma comment(lib, "nafxcw.lib")
CMFCBlackMoonApp theApp;
extern "C" {
int ECodeStart();
void _cdecl E_Init();
}
INT nBMProtectESP = 0;
INT nBMProtectEBP = 0;
BOOL CMFCBlackMoonApp::InitInstance()
{
// TODO: Add your specialized code here and/or call the base class
// MessageBox(NULL,"I am MfcBlackMoon","NULL",MB_OK);
E_Init();
int nRet;
// int nRet = ECodeStart();
_asm{
mov nBMProtectESP,esp;
mov nBMProtectEBP,ebp;
call ECodeStart;
mov nRet,eax;
}
return CWinApp::InitInstance();
}
================================================
FILE: MFCObj/MFCBlackMoon.def
================================================
; MFCBlackMoon.def : Declares the module parameters for the DLL.
LIBRARY "MFCBlackMoon"
DESCRIPTION 'MFCBlackMoon Windows Dynamic Link Library'
EXPORTS
; Explicit exports can go here
================================================
FILE: MFCObj/MFCBlackMoon.h
================================================
// MFCBlackMoon.h : main header file for the MFCBLACKMOON DLL
//
#if !defined(AFX_MFCBLACKMOON_H__66A6D0ED_F1AB_4149_9834_F05CAE45D193__INCLUDED_)
#define AFX_MFCBLACKMOON_H__66A6D0ED_F1AB_4149_9834_F05CAE45D193__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#ifndef __AFXWIN_H__
#error include 'stdafx.h' before including this file for PCH
#endif
#include "resource.h" // main symbols
/////////////////////////////////////////////////////////////////////////////
// CMFCBlackMoonApp
// See MFCBlackMoon.cpp for the implementation of this class
//
class CMFCBlackMoonApp : public CWinApp
{
public:
CMFCBlackMoonApp();
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CMFCBlackMoonApp)
public:
virtual BOOL InitInstance();
//}}AFX_VIRTUAL
//{{AFX_MSG(CMFCBlackMoonApp)
// NOTE - the ClassWizard will add and remove member functions here.
// DO NOT EDIT what you see in these blocks of generated code !
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
/////////////////////////////////////////////////////////////////////////////
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_MFCBLACKMOON_H__66A6D0ED_F1AB_4149_9834_F05CAE45D193__INCLUDED_)
================================================
FILE: MFCObj/MFCBlackMoon.rc
================================================
// Microsoft Visual C++ generated resource script.
//
#include "resource.h"
#define APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 2 resource.
//
#include "afxres.h"
/////////////////////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS
#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
"#define _AFX_NO_SPLITTER_RESOURCES\r\n"
"#define _AFX_NO_OLE_RESOURCES\r\n"
"#define _AFX_NO_TRACKER_RESOURCES\r\n"
"#define _AFX_NO_PROPERTY_RESOURCES\r\n"
"\r\n"
"#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_CHS)\r\n"
"#ifdef _WIN32\r\n"
"LANGUAGE 4, 2\r\n"
"#pragma code_page(936)\r\n"
"#endif //_WIN32\r\n"
"#include ""res\\MFCBlackMoon.rc2"" // non-Microsoft Visual C++ edited resources\r\n"
"#include ""l.chs\\afxres.rc"" // Standard components\r\n"
"#endif\r\n"
"\0"
END
/////////////////////////////////////////////////////////////////////////////
#endif // APSTUDIO_INVOKED
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_CHS)
#ifdef _WIN32
LANGUAGE 4, 2
#pragma code_page(936)
#endif //_WIN32
/////////////////////////////////////////////////////////////////////////////
//
// 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 0x4L
FILETYPE 0x2L
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "080404B0"
BEGIN
VALUE "CompanyName", "\0"
VALUE "FileDescription", "MFCBlackMoon DLL\0"
VALUE "FileVersion", "1, 0, 0, 1\0"
VALUE "InternalName", "MFCBlackMoon\0"
VALUE "LegalCopyright", "Ȩ (C) 2013\0"
VALUE "LegalTrademarks", "\0"
VALUE "OriginalFilename","MFCBlackMoon.DLL\0"
VALUE "ProductName", "MFCBlackMoon Dynamic Link Library\0"
VALUE "ProductVersion", "1, 0, 0, 1\0"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x0804, 1200
END
END
#endif
#ifndef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 3 resource.
//
#define _AFX_NO_SPLITTER_RESOURCES
#define _AFX_NO_OLE_RESOURCES
#define _AFX_NO_TRACKER_RESOURCES
#define _AFX_NO_PROPERTY_RESOURCES
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_CHS)
#ifdef _WIN32
LANGUAGE 4, 2
#pragma code_page(936)
#endif //_WIN32
#include "res\\MFCBlackMoon.rc2" // non-Microsoft Visual C++ edited resources
#include "l.chs\\afxres.rc" // Standard components
#endif
/////////////////////////////////////////////////////////////////////////////
#endif // not APSTUDIO_INVOKED
================================================
FILE: MFCObj/MFCBlackMoonCon.cpp
================================================
// test.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <iostream>
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
#pragma comment(lib, "nafxcw.lib")
extern "C" {
int ECodeStart();
void _cdecl E_Init();
}
/////////////////////////////////////////////////////////////////////////////
// The one and only application object
extern "C" int ECodeStart();
//BOOL bIsEnterFromBMEntrypoint = FALSE;
INT nBMProtectESP = 0;
INT nBMProtectEBP = 0;
CWinApp;
using namespace std;
int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
{
int nRetCode = 0;
// initialize MFC and print and error on failure
if (!AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0))
{
// TODO: change error code to suit your needs
cerr << _T("Fatal Error: MFC initialization failed") << endl;
nRetCode = 1;
}
else
{
// TODO: code your application's behavior here.
// CString strHello;
// strHello=_T("I am MfcBlackMoon");
// cout << (LPCTSTR)strHello << endl;
E_Init();
// int nRet = ECodeStart();
_asm{
mov nBMProtectESP,esp;
mov nBMProtectEBP,ebp;
call ECodeStart;
mov nRetCode,eax;
}
}
return nRetCode;
}
================================================
FILE: MFCObj/Resource.h
================================================
//{{NO_DEPENDENCIES}}
// Microsoft Visual C++ generated include file.
// Used by MFCBLACKMOON.RC
//
// Next default values for new objects
//
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 1000
#define _APS_NEXT_CONTROL_VALUE 1000
#define _APS_NEXT_SYMED_VALUE 1000
#define _APS_NEXT_COMMAND_VALUE 32771
#endif
#endif
================================================
FILE: MFCObj/StdAfx.cpp
================================================
// stdafx.cpp : source file that includes just the standard includes
// MFCBlackMoon.pch will be the pre-compiled header
// stdafx.obj will contain the pre-compiled type information
#include "stdafx.h"
================================================
FILE: MFCObj/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__2E3BE724_6CE0_4B24_8A39_6BCD4E07A00B__INCLUDED_)
#define AFX_STDAFX_H__2E3BE724_6CE0_4B24_8A39_6BCD4E07A00B__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#ifndef _WIN32_WINNT
#ifdef _WIN32_WINNT_MAXVER
#define _WIN32_WINNT _WIN32_WINNT_MAXVER
#else
#define _WIN32_WINNT 0x0502
#endif
#endif
#define VC_EXTRALEAN // Exclude rarely-used stuff from Windows headers
#include <afxwin.h> // MFC core and standard components
#include <afxext.h> // MFC extensions
#ifndef _AFX_NO_OLE_SUPPORT
#include <afxole.h> // MFC OLE classes
#include <afxodlgs.h> // MFC OLE dialog classes
#include <afxdisp.h> // MFC Automation classes
#endif // _AFX_NO_OLE_SUPPORT
#ifndef _AFX_NO_DB_SUPPORT
#include <afxdb.h> // MFC ODBC database classes
#endif // _AFX_NO_DB_SUPPORT
#ifndef _AFX_NO_DAO_SUPPORT
#include <afxdao.h> // MFC DAO database classes
#endif // _AFX_NO_DAO_SUPPORT
#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
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_STDAFX_H__2E3BE724_6CE0_4B24_8A39_6BCD4E07A00B__INCLUDED_)
================================================
FILE: MFCObj/res/MFCBlackMoon.rc2
================================================
//
// MFCBLACKMOON.RC2 - resources Microsoft Visual C++ does not edit directly
//
#ifdef APSTUDIO_INVOKED
#error this file is not editable by Microsoft Visual C++
#endif //APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
// Add manually edited resources here...
/////////////////////////////////////////////////////////////////////////////
================================================
FILE: Project/MFCBlackMoon_VC6.clw
================================================
; CLW file contains information for the MFC ClassWizard
[General Info]
Version=1
ClassCount=1
Class1=CMFCBlackMoonApp
LastClass=CMFCBlackMoonApp
NewFileInclude2=#include "..\MFCObj\MFCBlackMoon.h"
ResourceCount=0
NewFileInclude1=#include "..\MFCObj\StdAfx.h"
[CLS:CMFCBlackMoonApp]
Type=0
HeaderFile=..\MFCObj\MFCBlackMoon.h
ImplementationFile=..\MFCObj\MFCBlackMoon.cpp
Filter=N
BaseClass=CWinApp
VirtualFilter=AC
================================================
FILE: Project/MFCBlackMoon_VC6.dsp
================================================
# Microsoft Developer Studio Project File - Name="MFCBlackMoon" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 6.00
# ** DO NOT EDIT **
# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
CFG=MFCBlackMoon - 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 "MFCBlackMoon_VC6.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 "MFCBlackMoon_VC6.mak" CFG="MFCBlackMoon - Win32 Debug"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "MFCBlackMoon - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
!MESSAGE "MFCBlackMoon - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
!MESSAGE "MFCBlackMoon - Win32 ReleaseDLL" (based on "Win32 (x86) Dynamic-Link Library")
!MESSAGE
# Begin Project
# PROP AllowPerConfigDependencies 0
# PROP Scc_ProjName ""
# PROP Scc_LocalPath ""
CPP=cl.exe
MTL=midl.exe
RSC=rc.exe
!IF "$(CFG)" == "MFCBlackMoon - Win32 Release"
# PROP BASE Use_MFC 5
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "..\Release"
# PROP BASE Intermediate_Dir ".\Release"
# PROP BASE Target_Dir ""
# PROP Use_MFC 5
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "..\Release"
# PROP Intermediate_Dir ".\Release"
# PROP Target_Dir ""
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_WINDLL" /Yu"stdafx.h" /FD /c
# ADD CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_WINDLL" /D "_MBCS" /D "_USRDLL" /FD /D /D /c
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x804 /d "NDEBUG"
# ADD RSC /l 0x804 /d "NDEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 /nologo /subsystem:windows /dll /machine:I386
# ADD LINK32 /nologo /subsystem:windows /dll /machine:I386
!ELSEIF "$(CFG)" == "MFCBlackMoon - Win32 Debug"
# PROP BASE Use_MFC 5
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "..\Debug"
# PROP BASE Intermediate_Dir ".\Debug"
# PROP BASE Target_Dir ""
# PROP Use_MFC 5
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "..\Debug"
# PROP Intermediate_Dir ".\Debug"
# PROP Target_Dir ""
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_WINDLL" /Yu"stdafx.h" /FD /GZ /c
# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_WINDLL" /D "_MBCS" /D "_USRDLL" /Yu"stdafx.h" /FD /GZ /c
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x804 /d "_DEBUG"
# ADD RSC /l 0x804 /d "_DEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 /nologo /subsystem:windows /dll /debug /machine:I386 /pdbtype:sept
# ADD LINK32 /nologo /subsystem:windows /dll /debug /machine:I386 /pdbtype:sept
!ELSEIF "$(CFG)" == "MFCBlackMoon - Win32 ReleaseDLL"
# PROP BASE Use_MFC 5
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "..\Release"
# PROP BASE Intermediate_Dir ".\ReleaseDll"
# PROP BASE Target_Dir ""
# PROP Use_MFC 5
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "..\Release"
# PROP Intermediate_Dir ".\ReleaseDll"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /FD /D /D /c
# ADD CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_WINDLL" /D "_MBCS" /D "_USRDLL" /D "_EDLLMAIN" /FD /D /D /c
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x804 /d "NDEBUG"
# ADD RSC /l 0x804 /d "NDEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 /nologo /subsystem:windows /dll /machine:I386
# ADD LINK32 /nologo /subsystem:windows /dll /machine:I386
!ENDIF
# Begin Target
# Name "MFCBlackMoon - Win32 Release"
# Name "MFCBlackMoon - Win32 Debug"
# Name "MFCBlackMoon - Win32 ReleaseDLL"
# Begin Group "Source Files"
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
# Begin Source File
SOURCE=..\MFCObj\BlackMoonMFCdll.cpp
# End Source File
# Begin Source File
SOURCE=..\MFCObj\EyMFCComInit.cpp
# End Source File
# Begin Source File
SOURCE=..\MFCObj\MFCBlackMoon.cpp
# End Source File
# Begin Source File
SOURCE=..\MFCObj\MFCBlackMoon.def
# End Source File
# Begin Source File
SOURCE=..\MFCObj\MFCBlackMoon.rc
# End Source File
# Begin Source File
SOURCE=..\MFCObj\MFCBlackMoonCon.cpp
# End Source File
# Begin Source File
SOURCE=..\MFCObj\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=..\MFCObj\EyMFCComInit.h
# End Source File
# Begin Source File
SOURCE=..\MFCObj\MFCBlackMoon.h
# End Source File
# Begin Source File
SOURCE=..\MFCObj\Resource.h
# End Source File
# Begin Source File
SOURCE=..\MFCObj\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=..\MFCObj\res\MFCBlackMoon.rc2
# End Source File
# End Group
# Begin Source File
SOURCE=..\ReadMe.txt
# End Source File
# End Target
# End Project
================================================
FILE: Project/MFCBlackMoon_VS2019.vcxproj
================================================
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="ReleaseDll|Win32">
<Configuration>ReleaseDll</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="ReleaseDll|x64">
<Configuration>ReleaseDll</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\MFCObj\BlackMoonMFCdll.cpp" />
<ClCompile Include="..\MFCObj\EyMFCComInit.cpp" />
<ClCompile Include="..\MFCObj\MFCBlackMoon.cpp" />
<ClCompile Include="..\MFCObj\MFCBlackMoonCon.cpp" />
<ClCompile Include="..\MFCObj\StdAfx.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\MFCObj\EyMFCComInit.h" />
<ClInclude Include="..\MFCObj\MFCBlackMoon.h" />
<ClInclude Include="..\MFCObj\Resource.h" />
<ClInclude Include="..\MFCObj\StdAfx.h" />
</ItemGroup>
<ItemGroup>
<None Include="..\MFCObj\MFCBlackMoon.def" />
<None Include="..\MFCObj\res\MFCBlackMoon.rc2" />
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="..\MFCObj\MFCBlackMoon.rc" />
</ItemGroup>
<PropertyGroup Label="Globals">
<VCProjectVersion>16.0</VCProjectVersion>
<ProjectGuid>{302FE4C1-503E-476A-AD7B-D6768D2E0158}</ProjectGuid>
<Keyword>MFCDLLProj</Keyword>
<RootNamespace>MFCBlackMoon</RootNamespace>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
<ProjectName>MFCBlackMoon</ProjectName>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<CharacterSet>MultiByte</CharacterSet>
<UseOfMfc>Static</UseOfMfc>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<UseOfMfc>Static</UseOfMfc>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseDll|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<UseOfMfc>Static</UseOfMfc>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
<UseOfMfc>Static</UseOfMfc>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<UseOfMfc>Static</UseOfMfc>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseDll|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<UseOfMfc>Static</UseOfMfc>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseDll|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseDll|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseDll|Win32'">
<LinkIncremental>false</LinkIncremental>
<OutDir>$(SolutionDir)Release</OutDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseDll|x64'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;_WINDOWS;NDEBUG;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeaderFile>StdAfx.h</PrecompiledHeaderFile>
<PrecompiledHeaderOutputFile />
<WholeProgramOptimization>false</WholeProgramOptimization>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<ModuleDefinitionFile>..\MFCObj\MFCBlackMoon.def</ModuleDefinitionFile>
</Link>
<Midl>
<MkTypLibCompatible>false</MkTypLibCompatible>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</Midl>
<ResourceCompile>
<Culture>0x0804</Culture>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ResourceCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseDll|Win32'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;_WINDOWS;NDEBUG;_USRDLL;_EDLLMAIN;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeaderFile>StdAfx.h</PrecompiledHeaderFile>
<PrecompiledHeaderOutputFile>
</PrecompiledHeaderOutputFile>
<WholeProgramOptimization>false</WholeProgramOptimization>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<ModuleDefinitionFile>..\MFCObj\MFCBlackMoon.def</ModuleDefinitionFile>
</Link>
<Midl>
<MkTypLibCompatible>false</MkTypLibCompatible>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</Midl>
<ResourceCompile>
<Culture>0x0804</Culture>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ResourceCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;_WINDOWS;_DEBUG;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeaderFile>StdAfx.h</PrecompiledHeaderFile>
<PrecompiledHeaderOutputFile />
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<ModuleDefinitionFile>..\MFCObj\MFCBlackMoon.def</ModuleDefinitionFile>
</Link>
<Midl>
<MkTypLibCompatible>false</MkTypLibCompatible>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</Midl>
<ResourceCompile>
<Culture>0x0804</Culture>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ResourceCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>_WINDOWS;_DEBUG;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<ModuleDefinitionFile>..\MFCObj\MFCBlackMoon.def</ModuleDefinitionFile>
</Link>
<Midl>
<MkTypLibCompatible>false</MkTypLibCompatible>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</Midl>
<ResourceCompile>
<Culture>0x0804</Culture>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ResourceCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>_WINDOWS;NDEBUG;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<ModuleDefinitionFile>..\MFCObj\MFCBlackMoon.def</ModuleDefinitionFile>
</Link>
<Midl>
<MkTypLibCompatible>false</MkTypLibCompatible>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</Midl>
<ResourceCompile>
<Culture>0x0804</Culture>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ResourceCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseDll|x64'">
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>_WINDOWS;NDEBUG;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<ModuleDefinitionFile>..\MFCObj\MFCBlackMoon.def</ModuleDefinitionFile>
</Link>
<Midl>
<MkTypLibCompatible>false</MkTypLibCompatible>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</Midl>
<ResourceCompile>
<Culture>0x0804</Culture>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ResourceCompile>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
================================================
FILE: Project/MFCBlackMoon_VS2019.vcxproj.filters
================================================
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="源文件">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="头文件">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hh;hpp;hxx;hm;inl;inc;ipp;xsd</Extensions>
</Filter>
<Filter Include="资源文件">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\MFCObj\BlackMoonMFCdll.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\MFCObj\EyMFCComInit.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\MFCObj\MFCBlackMoon.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\MFCObj\MFCBlackMoonCon.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\MFCObj\StdAfx.cpp">
<Filter>源文件</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\MFCObj\EyMFCComInit.h">
<Filter>头文件</Filter>
</ClInclude>
<ClInclude Include="..\MFCObj\MFCBlackMoon.h">
<Filter>头文件</Filter>
</ClInclude>
<ClInclude Include="..\MFCObj\Resource.h">
<Filter>头文件</Filter>
</ClInclude>
<ClInclude Include="..\MFCObj\StdAfx.h">
<Filter>头文件</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<None Include="..\MFCObj\MFCBlackMoon.def">
<Filter>源文件</Filter>
</None>
<None Include="..\MFCObj\res\MFCBlackMoon.rc2">
<Filter>资源文件</Filter>
</None>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="..\MFCObj\MFCBlackMoon.rc">
<Filter>资源文件</Filter>
</ResourceCompile>
</ItemGroup>
</Project>
================================================
FILE: Project/MFCBlackMoon_VS2019.vcxproj.user
================================================
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup />
</Project>
================================================
FILE: Project/krnln_VC6.dsp
================================================
# Microsoft Developer Studio Project File - Name="krnln" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 6.00
# ** DO NOT EDIT **
# TARGTYPE "Win32 (x86) Static Library" 0x0104
CFG=krnln - 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 "krnln_VC6.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 "krnln_VC6.mak" CFG="krnln - Win32 Debug"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "krnln - Win32 Release" (based on "Win32 (x86) Static Library")
!MESSAGE "krnln - Win32 Debug" (based on "Win32 (x86) Static Library")
!MESSAGE
# Begin Project
# PROP AllowPerConfigDependencies 0
# PROP Scc_ProjName ""
# PROP Scc_LocalPath ""
CPP=cl.exe
RSC=rc.exe
!IF "$(CFG)" == "krnln - 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 0
# 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 "_WINDOWS" /D "_AFXDLL" /Yu"stdafx.h" /FD /c
# ADD CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /FR /Yu"stdafx.h" /FD /c
# ADD BASE RSC /l 0x804 /d "NDEBUG" /d "_AFXDLL"
# ADD RSC /l 0x804 /d "NDEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LIB32=link.exe -lib
# ADD BASE LIB32 /nologo
# ADD LIB32 /nologo /out:"..\Release\krnln.lib"
!ELSEIF "$(CFG)" == "krnln - 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 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "..\Debug"
# PROP Intermediate_Dir ".\Debug"
# PROP Target_Dir ""
# ADD BASE CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_AFXDLL" /Yu"stdafx.h" /FD /GZ /c
# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /Yu"stdafx.h" /FD /GZ /c
# ADD BASE RSC /l 0x804 /d "_DEBUG" /d "_AFXDLL"
# ADD RSC /l 0x804 /d "_DEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LIB32=link.exe -lib
# ADD BASE LIB32 /nologo
# ADD LIB32 /nologo
!ENDIF
# Begin Target
# Name "krnln - Win32 Release"
# Name "krnln - Win32 Debug"
# Begin Group "Source Files"
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
# Begin Source File
SOURCE="..\krnln\BlackMoonCallPropertyVaule.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\BlackMoonCallUserDll.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\BlackMoonLibNotifySys.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\CloneBinData.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\CloneTextData.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\DateTimeFormat.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\DllEntryFunc.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\eHelpFunc.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\FileManager.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\FreeAryElement.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\GetAryElementInf.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\GetDataTypeType.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\GetDatePart.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\GetDaysOfSpecMonth.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\GetRegRootVal.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\GetSpecTime.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\GetSysDataTypeDataSize.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\GetTimePart.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\GetWeekDay.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\HelpFunc12.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\IsInFileMangerList.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_abs.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_asc.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_atn.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_band.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_beep.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_bin.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_BinLeft.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_BinLen.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_BinMid.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_BinRight.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_BJCase.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_bnot.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_bor.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_bxor.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_ChDir.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_ChDrive.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_chr.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_ClearClipBoard.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_close.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_cos.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_create.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_CryptOpen.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_CurDir.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_day.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_DeleteRegItem.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_Dispatch.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_DoEvents.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_exp.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_feof.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_fgets.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_FileCopy.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_FileDateTime.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_FileLen.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_FileMove.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_fix.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_fputs.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_FSeek.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_GetAllPY.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_GetAttr.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_GetBackColor.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_GetBinElement.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_GetBinRegItem.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_GetClipBoardText.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_GetCmdLine.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_GetColorCount.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_GetCursorHorzPos.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_GetCursorVertPos.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_GetDataTypeSize.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_GetDatePart.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_GetDaysOfSpecMonth.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_GetDiskFreeSpace.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_GetDiskLabel.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_GetDiskTotalSpace.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_GetEnv.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_GetHDiskCode.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_GetHostName.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_GetIntInsideBin.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_GetKeyText.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_GetLastError.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_GetNumRegItem.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_GetRunFileName.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_GetRunPath.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_GetRuntimeDataType.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_GetScreenHeight.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_GetScreenWidth.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_GetSectionNames.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_GetSpecTime.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_GetSysVer.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_GetTempFileName.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_GetTextRegItem.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_GetTickCount.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_GetTimePart.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_GetWinPic.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_hex.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_HostNameToIP.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_hour.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_IDiv.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_InBin.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_InBinRev.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_InputBox.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_InsBin.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_InsLine.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_InsText.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_InStr.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_InStrRev.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_int.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_IPToHostName.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_IsCalcOK.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_IsFileExist.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_IsHaveTextInClip.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_IsRegItemExist.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_kill.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_LCase.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_left.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_len.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_like.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_loc.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_lock.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_lof.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_log.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_LTrim.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_MakeLong.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_MakeWord.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_mid.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_minute.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_MkDir.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_mod.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_month.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_MsgBox.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_name.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_now.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_NumToRMB.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_NumToText.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_oct.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_open.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_OpenManyFileDialog.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_OpenMemFile.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_p2double.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_p2float.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_p2int.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_pbin.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_ping.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_PlayMID.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_PlayMusic.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_PlayStop.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_pow.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_pstr.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_PutEnv.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_QJCase.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_randomize.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_read.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_ReadBin.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_ReadFile.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_ReadLine.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_ReadText.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_RemoveData.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_ReplaceText.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_reset.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_RestroeCursor.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_ReverseIntBytes.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_rgb.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_right.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_RmDir.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_rnd.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_round.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_RpBin.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_RpSubBin.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_RpSubText.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_RTrim.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_run.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_RunConsoleApp.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_SaveRegItem.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_second.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_SeekToBegin.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_SeekToEnd.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_SetAttr.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_SetClipBoardText.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_SetDiskLabel.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_SetIntInsideBin.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_SetKeyText.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_SetSysTime.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_SetWaitCursor.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_sgn.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_shl.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_shr.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_sin.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_sleep.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_SortAry.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_space.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_SpaceBin.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_split.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_SplitBin.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_sqr.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_str.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_StrComp.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_string.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_StrToUTF8.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_tan.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_TimeChg.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_TimeDiff.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_TimePart.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_TimeToText.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_ToBin.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_ToByte.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_ToFloat.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_ToInt.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_ToLong.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_ToShort.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_ToTime.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_trim.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_TrimAll.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_UCase.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_Unlock.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_UNum.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_UTF8ToStr.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_val.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_Variant.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_WeekDay.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_write.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_WriteBin.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_WriteFile.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_WriteLine.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_WriteMem.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_WriteText.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_year.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\krnln_ZeroAry.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\LTrimZeroChr.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\md5t.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\mem.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\midi.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\Myfunctions.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\MyMemFile.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\NumToChinese.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\replaceText.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\SDataToStr.cpp"
# End Source File
# Begin Source File
SOURCE="..\krnln\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="..\krnln\lib2.h"
# End Source File
# Begin Source File
SOURCE="..\krnln\LTrimZeroChr.h"
# End Source File
# Begin Source File
SOURCE="..\krnln\md5t.h"
# End Source File
# Begin Source File
SOURCE="..\krnln\mem.h"
# End Source File
# Begin Source File
SOURCE="..\krnln\midi.h"
# End Source File
# Begin Source File
SOURCE="..\krnln\Myfunctions.h"
# End Source File
# Begin Source File
SOURCE="..\krnln\MyMemFile.h"
# End Source File
# Begin Source File
SOURCE="..\krnln\StdAfx.h"
# End Source File
# End Group
# Begin Source File
SOURCE="..\Readme.txt"
# End Source File
# Begin Source File
SOURCE="..\krnln\Diskid32.obj"
# End Source File
# Begin Source File
SOURCE="..\krnln\PY.OBJ"
# End Source File
# End Target
# End Project
================================================
FILE: Project/krnln_VC6_Obj.dsp
================================================
# Microsoft Developer Studio Project File - Name="krnln_Obj" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 6.00
# ** DO NOT EDIT **
# TARGTYPE "Win32 (x86) Static Library" 0x0104
CFG=krnln_Obj - 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 "krnln_VC6_Obj.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 "krnln_VC6_Obj.mak" CFG="krnln_Obj - Win32 Debug"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "krnln_Obj - Win32 Release" (based on "Win32 (x86) Static Library")
!MESSAGE "krnln_Obj - Win32 Debug" (based on "Win32 (x86) Static Library")
!MESSAGE
# Begin Project
# PROP AllowPerConfigDependencies 0
# PROP Scc_ProjName ""
# PROP Scc_LocalPath ""
CPP=cl.exe
RSC=rc.exe
!IF "$(CFG)" == "krnln_Obj - Win32 Release"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "..\Release"
# PROP BASE Intermediate_Dir ".\Release"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "..\Release"
# PROP Intermediate_Dir ".\Release"
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
# ADD CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_LIB" /YX /FD /c
# ADD BASE RSC /l 0x804 /d "NDEBUG"
# ADD RSC /l 0x804 /d "NDEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LIB32=link.exe -lib
# ADD BASE LIB32 /nologo
# ADD LIB32 /nologo
!ELSEIF "$(CFG)" == "krnln_Obj - Win32 Debug"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "..\Debug"
# PROP BASE Intermediate_Dir ".\Debug"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "Debug"
# PROP Intermediate_Dir "Debug"
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
# ADD BASE RSC /l 0x804 /d "_DEBUG"
# ADD RSC /l 0x804 /d "_DEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LIB32=link.exe -lib
# ADD BASE LIB32 /nologo
# ADD LIB32 /nologo
!ENDIF
# Begin Target
# Name "krnln_Obj - Win32 Release"
# Name "krnln_Obj - Win32 Debug"
# Begin Group "Source Files"
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
# Begin Source File
SOURCE=..\krnln\BlackMoonDll.cpp
# End Source File
# Begin Source File
SOURCE=..\krnln\BlackMoonDll2.cpp
# End Source File
# Begin Source File
SOURCE=..\krnln\BlackMoonExe.cpp
# End Source File
# Begin Source File
SOURCE=..\krnln\BlackMoonResDll.cpp
# End Source File
# Begin Source File
SOURCE=..\krnln\DllEntryFunc.cpp
# End Source File
# Begin Source File
SOURCE=..\krnln\EyComInit.cpp
# End Source File
# Begin Source File
SOURCE=..\krnln\EyInit.cpp
# End Source File
# End Group
# Begin Group "Header Files"
# PROP Default_Filter "h;hpp;hxx;hm;inl"
# Begin Source File
SOURCE=..\krnln\StdAfx.h
# End Source File
# End Group
# End Target
# End Project
================================================
FILE: Project/krnln_VS2019.vcxproj
================================================
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\krnln\BlackMoonCallPropertyVaule.cpp" />
<ClCompile Include="..\krnln\BlackMoonCallUserDll.cpp" />
<ClCompile Include="..\krnln\BlackMoonLibNotifySys.cpp" />
<ClCompile Include="..\krnln\CloneBinData.cpp" />
<ClCompile Include="..\krnln\CloneTextData.cpp" />
<ClCompile Include="..\krnln\DateTimeFormat.cpp" />
<ClCompile Include="..\krnln\DllEntryFunc.cpp" />
<ClCompile Include="..\krnln\eHelpFunc.cpp" />
<ClCompile Include="..\krnln\FileManager.cpp" />
<ClCompile Include="..\krnln\FreeAryElement.cpp" />
<ClCompile Include="..\krnln\GetAryElementInf.cpp" />
<ClCompile Include="..\krnln\GetDataTypeType.cpp" />
<ClCompile Include="..\krnln\GetDatePart.cpp" />
<ClCompile Include="..\krnln\GetDaysOfSpecMonth.cpp" />
<ClCompile Include="..\krnln\GetRegRootVal.cpp" />
<ClCompile Include="..\krnln\GetSpecTime.cpp" />
<ClCompile Include="..\krnln\GetSysDataTypeDataSize.cpp" />
<ClCompile Include="..\krnln\GetTimePart.cpp" />
<ClCompile Include="..\krnln\GetWeekDay.cpp" />
<ClCompile Include="..\krnln\HelpFunc12.cpp" />
<ClCompile Include="..\krnln\IsInFileMangerList.cpp" />
<ClCompile Include="..\krnln\krnln_abs.cpp" />
<ClCompile Include="..\krnln\krnln_asc.cpp" />
<ClCompile Include="..\krnln\krnln_atn.cpp" />
<ClCompile Include="..\krnln\krnln_band.cpp" />
<ClCompile Include="..\krnln\krnln_beep.cpp" />
<ClCompile Include="..\krnln\krnln_bin.cpp" />
<ClCompile Include="..\krnln\krnln_BinLeft.cpp" />
<ClCompile Include="..\krnln\krnln_BinLen.cpp" />
<ClCompile Include="..\krnln\krnln_BinMid.cpp" />
<ClCompile Include="..\krnln\krnln_BinRight.cpp" />
<ClCompile Include="..\krnln\krnln_BJCase.cpp" />
<ClCompile Include="..\krnln\krnln_bnot.cpp" />
<ClCompile Include="..\krnln\krnln_bor.cpp" />
<ClCompile Include="..\krnln\krnln_bxor.cpp" />
<ClCompile Include="..\krnln\krnln_ChDir.cpp" />
<ClCompile Include="..\krnln\krnln_ChDrive.cpp" />
<ClCompile Include="..\krnln\krnln_chr.cpp" />
<ClCompile Include="..\krnln\krnln_ClearClipBoard.cpp" />
<ClCompile Include="..\krnln\krnln_close.cpp" />
<ClCompile Include="..\krnln\krnln_cos.cpp" />
<ClCompile Include="..\krnln\krnln_create.cpp" />
<ClCompile Include="..\krnln\krnln_CryptOpen.cpp" />
<ClCompile Include="..\krnln\krnln_CurDir.cpp" />
<ClCompile Include="..\krnln\krnln_day.cpp" />
<ClCompile Include="..\krnln\krnln_DeleteRegItem.cpp" />
<ClCompile Include="..\krnln\krnln_Dispatch.cpp" />
<ClCompile Include="..\krnln\krnln_DoEvents.cpp" />
<ClCompile Include="..\krnln\krnln_exp.cpp" />
<ClCompile Include="..\krnln\krnln_feof.cpp" />
<ClCompile Include="..\krnln\krnln_fgets.cpp" />
<ClCompile Include="..\krnln\krnln_FileCopy.cpp" />
<ClCompile Include="..\krnln\krnln_FileDateTime.cpp" />
<ClCompile Include="..\krnln\krnln_FileLen.cpp" />
<ClCompile Include="..\krnln\krnln_FileMove.cpp" />
<ClCompile Include="..\krnln\krnln_fix.cpp" />
<ClCompile Include="..\krnln\krnln_fputs.cpp" />
<ClCompile Include="..\krnln\krnln_FSeek.cpp" />
<ClCompile Include="..\krnln\krnln_GetAllPY.cpp" />
<ClCompile Include="..\krnln\krnln_GetAttr.cpp" />
<ClCompile Include="..\krnln\krnln_GetBackColor.cpp" />
<ClCompile Include="..\krnln\krnln_GetBinElement.cpp" />
<ClCompile Include="..\krnln\krnln_GetBinRegItem.cpp" />
<ClCompile Include="..\krnln\krnln_GetClipBoardText.cpp" />
<ClCompile Include="..\krnln\krnln_GetCmdLine.cpp" />
<ClCompile Include="..\krnln\krnln_GetColorCount.cpp" />
<ClCompile Include="..\krnln\krnln_GetCursorHorzPos.cpp" />
<ClCompile Include="..\krnln\krnln_GetCursorVertPos.cpp" />
<ClCompile Include="..\krnln\krnln_GetDataTypeSize.cpp" />
<ClCompile Include="..\krnln\krnln_GetDatePart.cpp" />
<ClCompile Include="..\krnln\krnln_GetDaysOfSpecMonth.cpp" />
<ClCompile Include="..\krnln\krnln_GetDiskFreeSpace.cpp" />
<ClCompile Include="..\krnln\krnln_GetDiskLabel.cpp" />
<ClCompile Include="..\krnln\krnln_GetDiskTotalSpace.cpp" />
<ClCompile Include="..\krnln\krnln_GetEnv.cpp" />
<ClCompile Include="..\krnln\krnln_GetHDiskCode.cpp" />
<ClCompile Include="..\krnln\krnln_GetHostName.cpp" />
<ClCompile Include="..\krnln\krnln_GetIntInsideBin.cpp" />
<ClCompile Include="..\krnln\krnln_GetKeyText.cpp" />
<ClCompile Include="..\krnln\krnln_GetLastError.cpp" />
<ClCompile Include="..\krnln\krnln_GetNumRegItem.cpp" />
<ClCompile Include="..\krnln\krnln_GetRunFileName.cpp" />
<ClCompile Include="..\krnln\krnln_GetRunPath.cpp" />
<ClCompile Include="..\krnln\krnln_GetRuntimeDataType.cpp" />
<ClCompile Include="..\krnln\krnln_GetScreenHeight.cpp" />
<ClCompile Include="..\krnln\krnln_GetScreenWidth.cpp" />
<ClCompile Include="..\krnln\krnln_GetSectionNames.cpp" />
<ClCompile Include="..\krnln\krnln_GetSpecTime.cpp" />
<ClCompile Include="..\krnln\krnln_GetSysVer.cpp" />
<ClCompile Include="..\krnln\krnln_GetTempFileName.cpp" />
<ClCompile Include="..\krnln\krnln_GetTextRegItem.cpp" />
<ClCompile Include="..\krnln\krnln_GetTickCount.cpp" />
<ClCompile Include="..\krnln\krnln_GetTimePart.cpp" />
<ClCompile Include="..\krnln\krnln_GetWinPic.cpp" />
<ClCompile Include="..\krnln\krnln_hex.cpp" />
<ClCompile Include="..\krnln\krnln_HostNameToIP.cpp" />
<ClCompile Include="..\krnln\krnln_hour.cpp" />
<ClCompile Include="..\krnln\krnln_IDiv.cpp" />
<ClCompile Include="..\krnln\krnln_InBin.cpp" />
<ClCompile Include="..\krnln\krnln_InBinRev.cpp" />
<ClCompile Include="..\krnln\krnln_InputBox.cpp" />
<ClCompile Include="..\krnln\krnln_InsBin.cpp" />
<ClCompile Include="..\krnln\krnln_InsLine.cpp" />
<ClCompile Include="..\krnln\krnln_InsText.cpp" />
<ClCompile Include="..\krnln\krnln_InStr.cpp" />
<ClCompile Include="..\krnln\krnln_InStrRev.cpp" />
<ClCompile Include="..\krnln\krnln_int.cpp" />
<ClCompile Include="..\krnln\krnln_IPToHostName.cpp" />
<ClCompile Include="..\krnln\krnln_IsCalcOK.cpp" />
<ClCompile Include="..\krnln\krnln_IsDebugVer.cpp" />
<ClCompile Include="..\krnln\krnln_IsFileExist.cpp" />
<ClCompile Include="..\krnln\krnln_IsHaveTextInClip.cpp" />
<ClCompile Include="..\krnln\krnln_IsRegItemExist.cpp" />
<ClCompile Include="..\krnln\krnln_kill.cpp" />
<ClCompile Include="..\krnln\krnln_LCase.cpp" />
<ClCompile Include="..\krnln\krnln_left.cpp" />
<ClCompile Include="..\krnln\krnln_len.cpp" />
<ClCompile Include="..\krnln\krnln_like.cpp" />
<ClCompile Include="..\krnln\krnln_loc.cpp" />
<ClCompile Include="..\krnln\krnln_lock.cpp" />
<ClCompile Include="..\krnln\krnln_lof.cpp" />
<ClCompile Include="..\krnln\krnln_log.cpp" />
<ClCompile Include="..\krnln\krnln_LTrim.cpp" />
<ClCompile Include="..\krnln\krnln_MakeLong.cpp" />
<ClCompile Include="..\krnln\krnln_MakeWord.cpp" />
<ClCompile Include="..\krnln\krnln_mid.cpp" />
<ClCompile Include="..\krnln\krnln_minute.cpp" />
<ClCompile Include="..\krnln\krnln_MkDir.cpp" />
<ClCompile Include="..\krnln\krnln_mod.cpp" />
<ClCompile Include="..\krnln\krnln_month.cpp" />
<ClCompile Include="..\krnln\krnln_MsgBox.cpp" />
<ClCompile Include="..\krnln\krnln_name.cpp" />
<ClCompile Include="..\krnln\krnln_now.cpp" />
<ClCompile Include="..\krnln\krnln_NumToRMB.cpp" />
<ClCompile Include="..\krnln\krnln_NumToText.cpp" />
<ClCompile Include="..\krnln\krnln_oct.cpp" />
<ClCompile Include="..\krnln\krnln_open.cpp" />
<ClCompile Include="..\krnln\krnln_OpenManyFileDialog.cpp" />
<ClCompile Include="..\krnln\krnln_OpenMemFile.cpp" />
<ClCompile Include="..\krnln\krnln_p2double.cpp" />
<ClCompile Include="..\krnln\krnln_p2float.cpp" />
<ClCompile Include="..\krnln\krnln_p2int.cpp" />
<ClCompile Include="..\krnln\krnln_pbin.cpp" />
<ClCompile Include="..\krnln\krnln_ping.cpp" />
<ClCompile Include="..\krnln\krnln_PlayMID.cpp" />
<ClCompile Include="..\krnln\krnln_PlayMusic.cpp" />
<ClCompile Include="..\krnln\krnln_PlayStop.cpp" />
<ClCompile Include="..\krnln\krnln_pow.cpp" />
<ClCompile Include="..\krnln\krnln_pstr.cpp" />
<ClCompile Include="..\krnln\krnln_PutEnv.cpp" />
<ClCompile Include="..\krnln\krnln_QJCase.cpp" />
<ClCompile Include="..\krnln\krnln_randomize.cpp" />
<ClCompile Include="..\krnln\krnln_read.cpp" />
<ClCompile Include="..\krnln\krnln_ReadBin.cpp" />
<ClCompile Include="..\krnln\krnln_ReadFile.cpp" />
<ClCompile Include="..\krnln\krnln_ReadLine.cpp" />
<ClCompile Include="..\krnln\krnln_ReadText.cpp" />
<ClCompile Include="..\krnln\krnln_RemoveData.cpp" />
<ClCompile Include="..\krnln\krnln_ReplaceText.cpp" />
<ClCompile Include="..\krnln\krnln_reset.cpp" />
<ClCompile Include="..\krnln\krnln_RestroeCursor.cpp" />
<ClCompile Include="..\krnln\krnln_ReverseIntBytes.cpp" />
<ClCompile Include="..\krnln\krnln_rgb.cpp" />
<ClCompile Include="..\krnln\krnln_right.cpp" />
<ClCompile Include="..\krnln\krnln_RmDir.cpp" />
<ClCompile Include="..\krnln\krnln_rnd.cpp" />
<ClCompile Include="..\krnln\krnln_round.cpp" />
<ClCompile Include="..\krnln\krnln_RpBin.cpp" />
<ClCompile Include="..\krnln\krnln_RpSubBin.cpp" />
<ClCompile Include="..\krnln\krnln_RpSubText.cpp" />
<ClCompile Include="..\krnln\krnln_RTrim.cpp" />
<ClCompile Include="..\krnln\krnln_run.cpp" />
<ClCompile Include="..\krnln\krnln_RunConsoleApp.cpp" />
<ClCompile Include="..\krnln\krnln_SaveRegItem.cpp" />
<ClCompile Include="..\krnln\krnln_second.cpp" />
<ClCompile Include="..\krnln\krnln_SeekToBegin.cpp" />
<ClCompile Include="..\krnln\krnln_SeekToEnd.cpp" />
<ClCompile Include="..\krnln\krnln_SetAttr.cpp" />
<ClCompile Include="..\krnln\krnln_SetClipBoardText.cpp" />
<ClCompile Include="..\krnln\krnln_SetDiskLabel.cpp" />
<ClCompile Include="..\krnln\krnln_SetIntInsideBin.cpp" />
<ClCompile Include="..\krnln\krnln_SetKeyText.cpp" />
<ClCompile Include="..\krnln\krnln_SetSysTime.cpp" />
<ClCompile Include="..\krnln\krnln_SetWaitCursor.cpp" />
<ClCompile Include="..\krnln\krnln_sgn.cpp" />
<ClCompile Include="..\krnln\krnln_shl.cpp" />
<ClCompile Include="..\krnln\krnln_shr.cpp" />
<ClCompile Include="..\krnln\krnln_sin.cpp" />
<ClCompile Include="..\krnln\krnln_sleep.cpp" />
<ClCompile Include="..\krnln\krnln_SortAry.cpp" />
<ClCompile Include="..\krnln\krnln_space.cpp" />
<ClCompile Include="..\krnln\krnln_SpaceBin.cpp" />
<ClCompile Include="..\krnln\krnln_split.cpp" />
<ClCompile Include="..\krnln\krnln_SplitBin.cpp" />
<ClCompile Include="..\krnln\krnln_sqr.cpp" />
<ClCompile Include="..\krnln\krnln_str.cpp" />
<ClCompile Include="..\krnln\krnln_StrComp.cpp" />
<ClCompile Include="..\krnln\krnln_string.cpp" />
<ClCompile Include="..\krnln\krnln_StrToUTF8.cpp" />
<ClCompile Include="..\krnln\krnln_tan.cpp" />
<ClCompile Include="..\krnln\krnln_TimeChg.cpp" />
<ClCompile Include="..\krnln\krnln_TimeDiff.cpp" />
<ClCompile Include="..\krnln\krnln_TimePart.cpp" />
<ClCompile Include="..\krnln\krnln_TimeToText.cpp" />
<ClCompile Include="..\krnln\krnln_ToBin.cpp" />
<ClCompile Include="..\krnln\krnln_ToByte.cpp" />
<ClCompile Include="..\krnln\krnln_ToFloat.cpp" />
<ClCompile Include="..\krnln\krnln_ToInt.cpp" />
<ClCompile Include="..\krnln\krnln_ToLong.cpp" />
<ClCompile Include="..\krnln\krnln_ToShort.cpp" />
<ClCompile Include="..\krnln\krnln_ToTime.cpp" />
<ClCompile Include="..\krnln\krnln_trim.cpp" />
<ClCompile Include="..\krnln\krnln_TrimAll.cpp" />
<ClCompile Include="..\krnln\krnln_UCase.cpp" />
<ClCompile Include="..\krnln\krnln_Unlock.cpp" />
<ClCompile Include="..\krnln\krnln_UNum.cpp" />
<ClCompile Include="..\krnln\krnln_UTF8ToStr.cpp" />
<ClCompile Include="..\krnln\krnln_val.cpp" />
<ClCompile Include="..\krnln\krnln_Variant.cpp" />
<ClCompile Include="..\krnln\krnln_WeekDay.cpp" />
<ClCompile Include="..\krnln\krnln_write.cpp" />
<ClCompile Include="..\krnln\krnln_WriteBin.cpp" />
<ClCompile Include="..\krnln\krnln_WriteFile.cpp" />
<ClCompile Include="..\krnln\krnln_WriteLine.cpp" />
<ClCompile Include="..\krnln\krnln_WriteMem.cpp" />
<ClCompile Include="..\krnln\krnln_WriteText.cpp" />
<ClCompile Include="..\krnln\krnln_year.cpp" />
<ClCompile Include="..\krnln\krnln_ZeroAry.cpp" />
<ClCompile Include="..\krnln\LTrimZeroChr.cpp" />
<ClCompile Include="..\krnln\md5t.cpp" />
<ClCompile Include="..\krnln\mem.cpp" />
<ClCompile Include="..\krnln\midi.cpp" />
<ClCompile Include="..\krnln\Myfunctions.cpp" />
<ClCompile Include="..\krnln\MyMemFile.cpp" />
<ClCompile Include="..\krnln\NumToChinese.cpp" />
<ClCompile Include="..\krnln\replaceText.cpp" />
<ClCompile Include="..\krnln\SDataToStr.cpp" />
<ClCompile Include="..\krnln\StdAfx.cpp" />
</ItemGroup>
<ItemGroup>
<Object Include="..\krnln\Diskid32.obj" />
<Object Include="..\krnln\PY.OBJ" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\krnln\lib2.h" />
<ClInclude Include="..\krnln\LTrimZeroChr.h" />
<ClInclude Include="..\krnln\md5t.h" />
<ClInclude Include="..\krnln\mem.h" />
<ClInclude Include="..\krnln\midi.h" />
<ClInclude Include="..\krnln\Myfunctions.h" />
<ClInclude Include="..\krnln\MyMemFile.h" />
<ClInclude Include="..\krnln\StdAfx.h" />
</ItemGroup>
<ItemGroup>
<Text Include="..\Readme.txt" />
</ItemGroup>
<PropertyGroup Label="Globals">
<VCProjectVersion>16.0</VCProjectVersion>
<ProjectGuid>{90C7C825-74BF-4F91-BF9C-4A1E762F24B9}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>krnln</RootNamespace>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
<ProjectName>krnln</ProjectName>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<EnableUnitySupport>false</EnableUnitySupport>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LinkIncremental>true</LinkIncremental>
<TargetName>krnln</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
<TargetName>krnln</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<SDLCheck>false</SDLCheck>
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<PrecompiledHeaderFile>StdAfx.h</PrecompiledHeaderFile>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>false</SDLCheck>
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<PrecompiledHeaderFile>StdAfx.h</PrecompiledHeaderFile>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<WholeProgramOptimization>false</WholeProgramOptimization>
<MultiProcessorCompilation>
</MultiProcessorCompilation>
<BufferSecurityCheck>true</BufferSecurityCheck>
<PrecompiledHeaderOutputFile />
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
================================================
FILE: Project/krnln_VS2019.vcxproj.filters
================================================
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="源文件">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="头文件">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hh;hpp;hxx;hm;inl;inc;ipp;xsd</Extensions>
</Filter>
<Filter Include="资源文件">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\krnln\BlackMoonCallPropertyVaule.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\BlackMoonCallUserDll.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\BlackMoonLibNotifySys.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\CloneBinData.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\CloneTextData.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\DateTimeFormat.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\DllEntryFunc.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\eHelpFunc.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\FileManager.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\FreeAryElement.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\GetAryElementInf.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\GetDataTypeType.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\GetDatePart.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\GetDaysOfSpecMonth.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\GetRegRootVal.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\GetSpecTime.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\GetSysDataTypeDataSize.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\GetTimePart.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\GetWeekDay.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\HelpFunc12.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\IsInFileMangerList.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_abs.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_asc.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_atn.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_band.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_beep.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_bin.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_BinLeft.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_BinLen.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_BinMid.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_BinRight.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_BJCase.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_bnot.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_bor.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_bxor.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_ChDir.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_ChDrive.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_chr.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_ClearClipBoard.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_close.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_cos.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_CryptOpen.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_CurDir.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_day.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_DeleteRegItem.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_Dispatch.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_DoEvents.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_exp.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_feof.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_fgets.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_FileCopy.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_FileDateTime.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_FileLen.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_FileMove.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_fix.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_fputs.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_FSeek.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_GetAllPY.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_GetAttr.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_GetBackColor.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_GetBinElement.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_GetBinRegItem.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_GetClipBoardText.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_GetCmdLine.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_GetColorCount.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_GetCursorHorzPos.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_GetCursorVertPos.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_GetDataTypeSize.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_GetDatePart.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_GetDaysOfSpecMonth.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_GetDiskFreeSpace.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_GetDiskLabel.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_GetDiskTotalSpace.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_GetEnv.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_GetHDiskCode.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_GetHostName.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_GetIntInsideBin.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_GetKeyText.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_GetLastError.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_GetNumRegItem.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_GetRunFileName.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_GetRunPath.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_GetRuntimeDataType.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_GetScreenHeight.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_GetScreenWidth.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_GetSectionNames.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_GetSpecTime.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_GetSysVer.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_GetTempFileName.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_GetTextRegItem.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_GetTickCount.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_GetTimePart.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_GetWinPic.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_hex.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_HostNameToIP.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_hour.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_IDiv.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_InBin.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_InBinRev.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_InputBox.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_InsBin.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_InsLine.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_InsText.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_InStr.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_InStrRev.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_int.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_IPToHostName.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_IsCalcOK.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_IsDebugVer.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_IsFileExist.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_IsHaveTextInClip.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_IsRegItemExist.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_kill.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_LCase.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_left.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_len.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_like.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_loc.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_lock.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_lof.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_log.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_LTrim.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_MakeLong.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_MakeWord.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_mid.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_minute.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_MkDir.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_mod.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_month.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_MsgBox.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_name.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_now.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_NumToRMB.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_NumToText.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_oct.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_open.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_OpenManyFileDialog.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_OpenMemFile.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_p2double.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_p2float.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_p2int.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_pbin.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_ping.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_PlayMID.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_PlayMusic.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_PlayStop.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_pow.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_pstr.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_PutEnv.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_QJCase.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_randomize.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_read.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_ReadBin.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_ReadFile.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_ReadLine.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_ReadText.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_RemoveData.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_ReplaceText.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_reset.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_RestroeCursor.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_ReverseIntBytes.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_rgb.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_right.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_RmDir.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_rnd.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_round.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_RpBin.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_RpSubBin.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_RpSubText.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_RTrim.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_run.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_RunConsoleApp.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_SaveRegItem.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_second.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_SeekToBegin.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_SeekToEnd.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_SetAttr.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_SetClipBoardText.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_SetDiskLabel.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_SetIntInsideBin.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_SetKeyText.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_SetSysTime.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_SetWaitCursor.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_sgn.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_shl.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_shr.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_sin.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_sleep.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_SortAry.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_space.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_SpaceBin.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_split.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_SplitBin.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_sqr.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_str.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_StrComp.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_string.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_StrToUTF8.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_tan.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_TimeChg.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_TimeDiff.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_TimePart.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_TimeToText.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_ToBin.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_ToByte.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_ToFloat.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_ToInt.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_ToLong.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_ToShort.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_ToTime.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_trim.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_TrimAll.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_UCase.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_Unlock.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_UNum.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_UTF8ToStr.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_val.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_Variant.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_WeekDay.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_write.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_WriteBin.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_WriteFile.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_WriteLine.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_WriteMem.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_WriteText.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_year.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_ZeroAry.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\LTrimZeroChr.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\md5t.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\mem.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\midi.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\Myfunctions.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\MyMemFile.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\NumToChinese.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\replaceText.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\SDataToStr.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\StdAfx.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\krnln_create.cpp">
<Filter>源文件</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<Object Include="..\krnln\Diskid32.obj" />
<Object Include="..\krnln\PY.OBJ" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\krnln\lib2.h">
<Filter>头文件</Filter>
</ClInclude>
<ClInclude Include="..\krnln\LTrimZeroChr.h">
<Filter>头文件</Filter>
</ClInclude>
<ClInclude Include="..\krnln\md5t.h">
<Filter>头文件</Filter>
</ClInclude>
<ClInclude Include="..\krnln\mem.h">
<Filter>头文件</Filter>
</ClInclude>
<ClInclude Include="..\krnln\midi.h">
<Filter>头文件</Filter>
</ClInclude>
<ClInclude Include="..\krnln\Myfunctions.h">
<Filter>头文件</Filter>
</ClInclude>
<ClInclude Include="..\krnln\MyMemFile.h">
<Filter>头文件</Filter>
</ClInclude>
<ClInclude Include="..\krnln\StdAfx.h">
<Filter>头文件</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<Text Include="..\Readme.txt" />
</ItemGroup>
</Project>
================================================
FILE: Project/krnln_VS2019.vcxproj.user
================================================
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LocalDebuggerWorkingDirectory>$(ProjectDir)</LocalDebuggerWorkingDirectory>
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
</PropertyGroup>
<PropertyGroup>
<ShowAllFiles>false</ShowAllFiles>
</PropertyGroup>
</Project>
================================================
FILE: Project/krnln_VS2019_Obj.vcxproj
================================================
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\krnln\BlackMoonDll.cpp" />
<ClCompile Include="..\krnln\BlackMoonDll2.cpp" />
<ClCompile Include="..\krnln\BlackMoonExe.cpp" />
<ClCompile Include="..\krnln\BlackMoonResDll.cpp" />
<ClCompile Include="..\krnln\EyComInit.cpp" />
<ClCompile Include="..\krnln\EyInit.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\krnln\StdAfx.h" />
</ItemGroup>
<PropertyGroup Label="Globals">
<VCProjectVersion>16.0</VCProjectVersion>
<ProjectGuid>{9EF1C5E2-3C57-47CE-9F68-DACA1CD298D4}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>krnln_Obj</RootNamespace>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
<ProjectName>krnln_Obj</ProjectName>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<WholeProgramOptimization>false</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LinkIncremental>true</LinkIncremental>
<TargetName>krnln</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
<TargetName>krnln</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<SDLCheck>false</SDLCheck>
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<PrecompiledHeaderFile>StdAfx.h</PrecompiledHeaderFile>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeaderOutputFile />
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
<PostBuildEvent>
<Command>
</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>false</SDLCheck>
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<PrecompiledHeaderFile>StdAfx.h</PrecompiledHeaderFile>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<PrecompiledHeaderOutputFile />
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
================================================
FILE: Project/krnln_VS2019_Obj.vcxproj.filters
================================================
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="源文件">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="头文件">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hh;hpp;hxx;hm;inl;inc;ipp;xsd</Extensions>
</Filter>
<Filter Include="资源文件">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\krnln\BlackMoonDll.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\BlackMoonDll2.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\BlackMoonResDll.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\EyComInit.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\EyInit.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="..\krnln\BlackMoonExe.cpp">
<Filter>源文件</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\krnln\StdAfx.h">
<Filter>头文件</Filter>
</ClInclude>
</ItemGroup>
</Project>
================================================
FILE: Project/krnln_VS2019_Obj.vcxproj.user
================================================
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup />
</Project>
================================================
FILE: README.md
================================================
## 黑月核心静态库
[](#)
[](#)
[](#)
## 编译与安装
1. 根据你电脑上所安装的VS版本,打开对应的工程文件
2. 打开工程后能看见三个方案:krnln、krnln_Obj、MFCBlackMoon。
通常情况下你不需要理会后两者,除非你知道它的作用。选中krnln方案,切换配置为Release,并编译。
3. 编译后,将release目录下的kernel.lib替换到易语言安装目录的
\BlackMoon\obj\kernel.lib。(黑月4.0以上版本)
\BlackMoon\lib\kernel.lib。(黑月4.0以下版本)
## 源码使用事项
原则上,只要不是商业用途及非法用途,源码可以任意使用及传播,
编译后的静态库文件kernel.lib可以用于编译链接到商业作品中。
在复制与传播时,必须注明开源地址:
https://github.com/zhongjianhua163/BlackMoonKernelStaticLib (国外服务器)
https://gitee.com/zhongjianhua163/BlackMoonKernelStaticLib (国内服务器)
## 代码编写规范
如果你想参与更新、优化或修复BUG,请仔细阅读以下事项:
1. 代码的必须能让所有版本的VS通过编译,若需要使用特定版本的VS的特性,
则需要合理使用宏 _MSC_VER 来进行兼容。
2. 变量、常量、函数等命名时尽量能准确表达其属性及用途。
3. 少用或尽量不要用内联汇编。
如果必须要用到内联汇编,则尽量不要使用新的指令集,如SSE\AVX等。
如果必须要用到新的指令集,请务必做好自适配代码,确保老的CPU及远古级别的
32位CPU能正常运行,并实现指定效果。(常规做法是编写两份代码,一份使用新
的指令集,另一份使用常规指令集,并根据用户的CPU所支持的指令集来进行调用)
4. 确保代码的简洁美观、高效、稳定及安全性。
5. 确保函数的参数、返回值及运行效果与易语言原生核心库保持一致。
6. 编辑的源代码文件的时候,请使用ANSI和GB2312编码,切勿使用UTF8或其他编码。
7. 使用git来push前,请将自动替换换行符功能: autoCRLF 设置为 false。
## 参与贡献
1. 可以加入此开源项目的管理团队
2. 可以在GitHub或Gitee中通过Issues页面提交错误和改进建议
3. 可以在GitHub或Gitee中`Fork`, 修改后通过`Pull Request`合并代码
## 许可证
原作者:云外归鸟
后续升级:泪闯天涯(邓学彬)
后续优化:被封七号
根据 `BSD 3-Clause` 获得许可
================================================
FILE: Readme.txt
================================================
========================================================================
黑月编译器插件的核心静态库开源相关事项
========================================================================
原作者:云外归鸟
后续升级:泪闯天涯(邓学彬)
后续优化:被封七号
一、编译与安装
1.根据你电脑上所安装的VS版本,打开对应的工程文件
2.打开工程后能看见三个方案:krnln、krnln_Obj、MFCBlackMoon。
通常情况下你不需要理会后两者,除非你知道它的作用。
选中krnln方案,切换配置为Release,并编译。
3.编译后,将release目录下的kernel.lib替换到易语言安装目录的
\BlackMoon\obj\kernel.lib。(黑月4.0以上版本)
\BlackMoon\lib\kernel.lib。(黑月4.0以下版本)
二、源码使用事项
原则上,只要不是商业用途及非法用途,源码可以任意使用及传播,
编译后的静态库文件kernel.lib可以用于编译链接到商业作品中。
在复制与传播时,必须注明开源地址:
https://github.com/zhongjianhua163/BlackMoonKernelStaticLib (国外服务器)
https://gitee.com/zhongjianhua163/BlackMoonKernelStaticLib (国内服务器)
三、代码编写规范
如果你想参与更新、优化或修复BUG,请仔细阅读以下事项:
0.代码的必须能让所有版本的VS通过编译,若需要使用特定版本的VS的特性,
则需要合理使用宏 _MSC_VER 来进行兼容。
1.变量、常量、函数等命名时尽量能准确表达其属性及用途。
2.少用或尽量不要用内联汇编。
如果必须要用到内联汇编,则尽量不要使用新的指令集,如SSE\AVX等。
如果必须要用到新的指令集,请务必做好自适配代码,确保老的CPU及远古级别的
32位CPU能正常运行,并实现指定效果。(常规做法是编写两份代码,一份使用新
的指令集,另一份使用常规指令集,并根据用户的CPU所支持的指令集来进行调用)
3.确保代码的简洁美观、高效、稳定及安全性。
4.确保函数的参数、返回值及运行效果与易语言原生核心库保持一致。
5.编辑的源代码文件的时候,请使用ANSI和GB2312编码,切勿使用UTF8或其他编码。
6.使用git来push前,请将自动替换换行符功能: autoCRLF 设置为 false。
四、如何参与到项目开发中来?
1.可以加入此开源项目的管理团队
2.可以在github或gitee中通过Issues页面提交错误和改进建议
3.可以在github或gitee中 fork, 修改后通过 pull request 合并代码
/////////////////////////////////////////////////////////////////////////////
================================================
FILE: krnln/BlackMoonCallPropertyVaule.cpp
================================================
#include "stdafx.h"
#include "Myfunctions.h"
EXTERN_C void _cdecl BlackMoonGetClassPropertyVaule(
INT nIDX,HUNIT hUnit, INT nPropertyIndex,INT nRevrev)
{
PFN_GET_PROPERTY_DATA pfn;
_asm mov pfn,eax;
UNIT_PROPERTY_VALUE sProperty;
sProperty.m_data.m_nDataSize=0;
sProperty.m_data.m_pData = 0;
pfn(hUnit,nPropertyIndex,&sProperty);
if(nIDX && nPropertyIndex < 32)
{
BOOL bIsText = (nIDX >> nPropertyIndex) & 1;
if(bIsText)
{
char* pStr=CloneTextData(sProperty.m_szText,mystrlen(sProperty.m_szText));
sProperty.m_szText = pStr;
}
}
_asm mov eax,sProperty.m_int;
_asm mov edx,sProperty.m_data.m_nDataSize;
}
EXTERN_C void _cdecl BlackMoonSetClassPropertyVaule(
INT nIDX,HUNIT hUnit, INT nPropertyIndex,INT nRevrev,UNIT_PROPERTY_VALUE sProperty,...)
{
PFN_NOTIFY_PROPERTY_CHANGED pfn;
_asm mov pfn,eax;
pfn(hUnit, nPropertyIndex, &sProperty, NULL);
}
================================================
FILE: krnln/BlackMoonCallUserDll.cpp
================================================
#include "stdafx.h"
extern "C" PDESTROY BlackMoonFreeAllUserDll;
HMODULE BMUserDllList[100] = {0};
INT nBMUserDllCount = 0;
void BlackMoonFreeALLUserDllFunc(){
for(INT i=0;i<100;i++){
if(BMUserDllList[i]==NULL)
break;
::FreeLibrary (BMUserDllList[i]);
}
}
extern "C"
void* _stdcall BlackMoonCallUserDllFunc (char* pDll,char* pName,void** pFunc)
{
char ErrorString [1024];
HMODULE hMod = ::GetModuleHandle (pDll);
int nNoErrorBox = 0;
if(hMod==NULL){
hMod = ::LoadLibrary (pDll);
if(hMod==NULL){
wsprintf(ErrorString, "ͬĿ¼ҵDLLļ:\"%s\".ϵ.", pDll);
if (fnEError_callback)
nNoErrorBox = fnEError_callback(0, ErrorString);
if (!nNoErrorBox)
MessageBox(0, ErrorString, "DLL ERROR", MB_ICONERROR);
E_End(0);
}
BMUserDllList[nBMUserDllCount] = hMod;
if(nBMUserDllCount==0)
BlackMoonFreeAllUserDll = (PDESTROY)BlackMoonFreeALLUserDllFunc;
nBMUserDllCount++;
}
char* pFuncName = NULL;
if(pName[0]=='#')
pFuncName=(char*)atoi(pName+1);
else
{
strcpy(ErrorString, pName);
pFuncName = ErrorString;
char* pStr = strchr(pFuncName,'@');
if(pStr && pStr[1]=='@')
pStr[0]=0;
}
FARPROC pf = ::GetProcAddress (hMod,pFuncName);
if(pf==NULL){
wsprintf(ErrorString, "λDLLļ:\"%s\"е\"%s\".", pDll,pName);
if (fnEError_callback)
nNoErrorBox = fnEError_callback(0, ErrorString);
if (!nNoErrorBox)
MessageBox(0, ErrorString, "DLL ERROR", MB_ICONERROR);
E_End(0);
}
*pFunc = pf;
return pf;
}
================================================
FILE: krnln/BlackMoonDll.cpp
================================================
#include "stdafx.h"
INT nBMProtectESP = 0;
INT nBMProtectEBP = 0;
PDESTROY DllEntryFunc();
extern HANDLE hBlackMoonInstanceHandle;
extern "C" PDESTROY DestroyAddress;
extern "C" {
//PDESTROY ECodeStart();
int __stdcall DllMain( HANDLE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
hBlackMoonInstanceHandle = hModule;
E_Init();
DestroyAddress = DllEntryFunc();
break;
case DLL_PROCESS_DETACH:
E_DestroyRes();
break;
}
return 1;
}
}
================================================
FILE: krnln/BlackMoonDll2.cpp
================================================
#include "stdafx.h"
INT nBMProtectESP = 0;
INT nBMProtectEBP = 0;
PDESTROY DllEntryFunc();
extern HANDLE hBlackMoonInstanceHandle;
extern "C" PDESTROY DestroyAddress;
extern "C" {
//PDESTROY ECodeStart();
int __stdcall EDllMain( HANDLE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
);
int __stdcall DllMain( HANDLE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
hBlackMoonInstanceHandle = hModule;
E_Init();
DestroyAddress = DllEntryFunc();
break;
case DLL_PROCESS_DETACH:
E_DestroyRes();
break;
}
return EDllMain(hModule,ul_reason_for_call,lpReserved);
}
}
================================================
FILE: krnln/BlackMoonExe.cpp
================================================
#include "stdafx.h"
extern "C" int ECodeStart();
//BOOL bIsEnterFromBMEntrypoint = FALSE;
INT nBMProtectESP = 0;
INT nBMProtectEBP = 0;
extern "C" {
int _cdecl BMEntrypoint (){
//bIsEnterFromBMEntrypoint = TRUE;
E_Init();
ECodeStart();
return 0;
}
}
int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
E_Init();
int nRet;
// int nRet = ECodeStart();
_asm{
mov nBMProtectESP,esp;
mov nBMProtectEBP,ebp;
call ECodeStart;
mov nRet,eax;
}
//MessageBox(NULL,"I am Back",NULL,nRet);
return nRet;
}
int main(int argc, char* argv[])
{
E_Init();
int nRet;
// int nRet = ECodeStart();
_asm{
mov nBMProtectESP,esp;
mov nBMProtectEBP,ebp;
call ECodeStart;
mov nRet,eax;
}
return nRet;
}
================================================
FILE: krnln/BlackMoonLibNotifySys.cpp
================================================
#include "stdafx.h"
#pragma comment(lib,"gdi32.lib")
#pragma comment(lib,"winspool.lib")
#pragma comment(lib,"comdlg32.lib")
#pragma comment(lib,"advapi32.lib")
#pragma comment(lib,"shell32.lib")
#pragma comment(lib,"ole32.lib")
#pragma comment(lib,"oleaut32.lib")
#pragma comment(lib,"uuid.lib")
#pragma comment(lib,"odbc32.lib")
#pragma comment(lib,"odbccp32.lib")
char strBlackMoonFileName_Path[MAX_PATH];
char strBlackMoonFileName_Name[MAX_PATH];
EXTERN_C INT WINAPI BlackMoonFuncForeLibNotifySys(INT nMsg, DWORD dwParam1, DWORD dwParam2)
{
switch (nMsg)
{
case NRS_MALLOC:
// ָռڴ棬׳ڴ涼ʹñ֪ͨ䡣
// dwParam1Ϊڴֽ
// dwParam2Ϊ0ʧܾԶʱ˳
// 粻Ϊ0ʧܾͷNULL
// ڴַ
return (INT)E_MAlloc(dwParam1);
case NRS_MFREE:
// ͷѷָڴ档
// dwParam1Ϊͷڴַ
E_MFree((void*)dwParam1);
break;
case NRS_MREALLOC:
// ·ڴ档
// dwParam1Ϊ·ڴߴַ
// dwParam2Ϊ·ڴֽ
// ·ڴַʧԶʱ˳
return (INT)E_MRealloc((void*)dwParam1, dwParam2);
case NRS_FREE_ARY:
// ͷָݡ
// dwParam1ΪݵDATA_TYPEֻΪϵͳ͡
// dwParam2Ϊָݵָ롣
switch (dwParam1)
{
case SDT_TEXT:
case SDT_BIN:
FreeAryElement((void*)dwParam2);
break;
case SDT_INT:
case SDT_BYTE:
case SDT_SHORT:
case SDT_FLOAT:
case SDT_INT64:
case SDT_DOUBLE:
case SDT_SUB_PTR:
case SDT_BOOL:
case SDT_DATE_TIME:
E_MFree((void*)dwParam2);
break;
default:
break;
}
break;
case NRS_RUNTIME_ERR:
// ֪ͨϵͳѾʱ
// dwParam1Ϊchar*ָ룬˵ı
{
char ErrorString[1024];
wsprintfA(ErrorString, "BlackMoon RunTime Error:\r\n\r\n%s", dwParam1);
MessageBoxA(0, ErrorString, "ERROR", MB_ICONERROR);
E_End(0);
}
break;
case NRS_EXIT_PROGRAM:
// ֪ͨϵͳ˳û
// dwParam1Ϊ˳룬ô뽫صϵͳ
E_End(dwParam1);
break;
case NRS_GET_PRG_TYPE:
// صǰûͣΪPT_DEBUG_RUN_VER棩PT_RELEASE_RUN_VER棩
return PT_RELEASE_RUN_VER;
case NRS_DO_EVENTS:
// ֪ͨϵͳд¼
{
MSG Msg;
while (PeekMessage(&Msg, NULL, NULL, NULL, PM_NOREMOVE))
{
if (Msg.message == WM_QUIT)
break;
GetMessage(&Msg, NULL, 0, 0);
TranslateMessage(&Msg);
DispatchMessage(&Msg);
}
}
break;
case NRS_GET_CMD_LINE_STR:
// ȡǰı
// ıָ룬пΪմ
{
LPSTR p = GetCommandLineA();
// ó
char ch = ' ';
if (*p++ == '\"')
ch = '\"';
while (*p++ != ch);
if (ch != ' ' && *p == ' ') p++; // һո
return (INT)p;
}
case NRS_GET_EXE_PATH_STR:
// ȡǰִļĿ¼
// صǰִļĿ¼ıָ롣
if (::GetModuleFileNameA(NULL, strBlackMoonFileName_Path, MAX_PATH))
{
char* pFind = strrchr(strBlackMoonFileName_Path, '\\');
// pFind++;
*pFind = 0;
return (INT)&strBlackMoonFileName_Path;
}
break;
case NRS_GET_EXE_NAME:
// ȡǰִļ
// صǰִļıָ롣
if (::GetModuleFileNameA(NULL, strBlackMoonFileName_Path, MAX_PATH))
{
char* pFind = strrchr(strBlackMoonFileName_Path, '\\');
//pFind++;
*pFind = 0;
pFind++;
return (INT)pFind;
}
break;
case NRS_CONVERT_NUM_TO_INT:
{
// תֵʽ
// dwParam1Ϊ PMDATA_INF ָ룬 m_dtDataType Ϊֵ͡
// תֵ
PMDATA_INF pArgInf = (PMDATA_INF)dwParam1;
INT nNewVal = pArgInf->m_int;
switch (pArgInf->m_dtDataType)
{
case SDT_INT:
case SDT_BYTE:
case SDT_SHORT:
break;
case SDT_FLOAT:
nNewVal = (INT)pArgInf->m_float;
break;
case SDT_INT64:
nNewVal = (INT)pArgInf->m_int64;
break;
case SDT_DOUBLE:
nNewVal = (INT)pArgInf->m_double;
break;
default:
break;
}
return nNewVal;
}
break;
case NAS_GET_PATH:
/* صǰлijһĿ¼ļĿ¼ԡ\
dwParam1: ָҪĿ¼Ϊֵ
Aл¾ЧĿ¼:
1: лϵͳĿ¼
BЧĿ¼(Ч):
1001: ϵͳֿ̺֧Ŀ¼
1002: ϵͳĿ¼
1003: ϵͳϢĿ¼
1004: еǼǵϵͳģĿ¼
1005: ֿ֧ڵĿ¼
1006: װĿ¼
CлЧĿ¼(лЧ):
2001: ûEXEļĿ¼
2002: ûEXEļ
dwParam2: ջַߴΪMAX_PATH
*/
if (::GetModuleFileNameA(NULL, strBlackMoonFileName_Path, MAX_PATH))
{
char* pFind = strrchr(strBlackMoonFileName_Path, '\\');
pFind++;
*pFind = 0;
pFind++;
strcpy(strBlackMoonFileName_Name, pFind);
}
else {
strBlackMoonFileName_Path[0] = 0;
strBlackMoonFileName_Name[0] = 0;
}
switch (dwParam1)
{
case 1:
strcpy((char*)dwParam2, strBlackMoonFileName_Path);
return (INT)strBlackMoonFileName_Path;
break;
case 2001:
strcpy((char*)dwParam2, strBlackMoonFileName_Path);
return (INT)strBlackMoonFileName_Path;
break;
case 2002:
strcpy((char*)dwParam2, strBlackMoonFileName_Name);
return (INT)strBlackMoonFileName_Name;
break;
default:
return NULL;
}
case NAS_GET_LANG_ID:
// صǰϵͳлֵ֧IDIDֵlang.h
return 1;
case NAS_GET_VER:
// صǰϵͳлİ汾ţLOWORDΪ汾ţHIWORDΪΰ汾š
return 0x00000004;
case NRS_GET_WINFORM_COUNT:
// صǰĴĿ
return 0;
case NRS_GET_WINFORM_HWND:
// ָĴھôδ룬NULL
// dwParam1Ϊ
return NULL;
case NAS_GET_APP_ICON:
// ֪ͨϵͳسͼꡣ
// dwParam1ΪPAPP_ICONָ롣
case NAS_GET_LIB_DATA_TYPE_INFO:
// ָⶨ͵PLIB_DATA_TYPE_INFOϢָ롣
// dwParam1Ϊ͡
// Ч߲ΪⶨͣNULLPLIB_DATA_TYPE_INFOָ롣
case NAS_GET_HBITMAP:
// dwParam1ΪͼƬָ룬dwParam2ΪͼƬݳߴ硣
// ɹطNULLHBITMAPעʹϺͷţNULL
case NAS_CREATE_CWND_OBJECT_FROM_HWND:
// ָͨHWNDһCWNDָ룬סָͨNRS_DELETE_CWND_OBJECTͷ
// dwParam1ΪHWND
// ɹCWnd*ָ룬ʧܷNULL
case NAS_DELETE_CWND_OBJECT:
// ɾͨNRS_CREATE_CWND_OBJECT_FROM_HWNDCWND
// dwParam1ΪɾCWndָ
case NAS_DETACH_CWND_OBJECT:
// ȡͨNRS_CREATE_CWND_OBJECT_FROM_HWNDCWNDHWNDİ
// dwParam1ΪCWndָ
// ɹHWND,ʧܷ0
case NAS_GET_HWND_OF_CWND_OBJECT:
// ȡͨNRS_CREATE_CWND_OBJECT_FROM_HWNDCWNDеHWND
// dwParam1ΪCWndָ
// ɹHWND,ʧܷ0
case NAS_ATTACH_CWND_OBJECT:
// ָHWNDͨNRS_CREATE_CWND_OBJECT_FROM_HWNDCWND
// dwParam1ΪHWND
// dwParam2ΪCWndָ
// ɹ1,ʧܷ0
case NAS_IS_EWIN:
// ָΪԴڻ棬ؼ١
// dwParam1ΪԵHWND.
// NRS_ Ϊܱл֪ͨ
case NRS_UNIT_DESTROIED:
// ֪ͨϵͳָѾ١
// dwParam1ΪdwFormID
// dwParam2ΪdwUnitID
case NRS_GET_UNIT_PTR:
// ȡָ
// dwParam1ΪWinFormID
// dwParam2ΪWinUnitID
// ɹЧCWnd*ָ룬ʧܷ0
case NRS_GET_AND_CHECK_UNIT_PTR:
// ȡָ
// dwParam1ΪWinFormID
// dwParam2ΪWinUnitID
// ɹЧCWnd*ָ룬ʧܱʱ˳
case NRS_EVENT_NOTIFY:
// Եһʽ֪ͨϵͳ¼
// dwParam1ΪPEVENT_NOTIFYָ롣
// 0 ʾ¼ѱϵͳʾϵͳѾɹݴ¼û
// ¼ӳ
case NRS_GET_UNIT_DATA_TYPE:
// dwParam1ΪWinFormID
// dwParam2ΪWinUnitID
// ɹЧ DATA_TYPE ʧܷ 0
case NRS_EVENT_NOTIFY2:
// Եڶʽ֪ͨϵͳ¼
// dwParam1ΪPEVENT_NOTIFY2ָ롣
// 0 ʾ¼ѱϵͳʾϵͳѾɹݴ¼û
// ¼ӳ
case NRS_GET_BITMAP_DATA:
// ָHBITMAPͼƬݣɹذBMPͼƬݵHGLOBALʧܷNULL
// dwParam1ΪȡͼƬݵHBITMAP
case NRS_FREE_COMOBJECT:
// ֪ͨϵͳͷָDTP_COM_OBJECTCOM
// dwParam1ΪCOMĵַָ롣
case NRS_CHK_TAB_VISIBLE:
default:
{
char ErrorString[255];
wsprintfA(ErrorString, "֧ϵͳܺ%d. 뽫Ϣ", nMsg);
MessageBoxA(0, ErrorString, "blackmoon", MB_ICONERROR);
break;
}
}
return NULL;
}
EXTERN_C INT WINAPI BlackMoonReplac_NotifySys(INT nMsg, DWORD dwParam1, DWORD dwParam2)
{
return NR_OK;
}
INT WINAPI NotifySys(INT nMsg, DWORD dwParam1, DWORD dwParam2)
{
return BlackMoonFuncForeLibNotifySys(nMsg, dwParam1, dwParam2);
}
// ʹָıݽ׳ʹõıݡ
/*
char* CloneTextData (char* ps)
{
if (ps == NULL || *ps == '\0')
return NULL;
INT nTextLen = strlen (ps);
char* pd = (char*)NotifySys (NRS_MALLOC, (DWORD)(nTextLen + 1), 0);
memcpy (pd, ps, nTextLen);
pd [nTextLen] = '\0';
return pd;
}*/
/*
// ʹָıݽ׳ʹõıݡ
// nTextLenָıֵijȣ㣩
// Ϊ-1ȡpsȫȡ
char* CloneTextData (char* ps, INT nTextLen)
{
if (nTextLen <= 0)
return NULL;
char* pd = (char*)NotifySys (NRS_MALLOC, (DWORD)(nTextLen + 1), 0);
memcpy (pd, ps, nTextLen);
pd [nTextLen] = '\0';
return pd;
}
// ʹָݽ׳ʹõֽڼݡ
LPBYTE CloneBinData (LPBYTE pData, INT nDataSize)
{
if (nDataSize == 0)
return NULL;
LPBYTE pd = (LPBYTE)NotifySys (NRS_MALLOC, (DWORD)(sizeof (INT) * 2 + nDataSize), 0);
*(LPINT)pd = 1;
*(LPINT)(pd + sizeof (INT)) = nDataSize;
memcpy (pd + sizeof (INT) * 2, pData, nDataSize);
return pd;
}
// ʱ
void GReportError (char* szErrText)
{
NotifySys (NRS_RUNTIME_ERR, (DWORD)szErrText, 0);
}
void* MMalloc (INT nSize)
{
return (void*)NotifySys (NRS_MALLOC, (DWORD)nSize, 0);
}
void MFree (void* p)
{
NotifySys (NRS_MFREE, (DWORD)p, 0);
}
*/
// ݲַԱĿ
LPBYTE GetAryElementInf(void* pAryData, LPINT pnElementCount)
{
LPINT pnData = (LPINT)pAryData;
INT nArys = *pnData++; // ȡά
// ԱĿ
INT nElementCount = 1;
while (nArys > 0)
{
nElementCount *= *pnData++;
nArys--;
}
if (pnElementCount != NULL)
*pnElementCount = nElementCount;
return (LPBYTE)pnData;
}
/*
#define DTT_IS_NULL_DATA_TYPE 0
#define DTT_IS_SYS_DATA_TYPE 1
#define DTT_IS_USER_DATA_TYPE 2
#define DTT_IS_LIB_DATA_TYPE 3
// ȡ͵
INT GetDataTypeType (DATA_TYPE dtDataType)
{
if (dtDataType == _SDT_NULL)
return DTT_IS_NULL_DATA_TYPE;
DWORD dw = dtDataType & 0xC0000000;
return dw == DTM_SYS_DATA_TYPE_MASK ? DTT_IS_SYS_DATA_TYPE :
dw == DTM_USER_DATA_TYPE_MASK ? DTT_IS_USER_DATA_TYPE :
DTT_IS_LIB_DATA_TYPE;
}
*/
//liigo
/*
//!!! º֮ԱȫΪINT(ͬռ4ֽ)
//index: 0..*/
void* _GetPointerByIndex(void* pBase, int index)
{
return (void*)((INT)pBase + index * sizeof(INT));
}
INT _GetIntByIndex(void* pBase, INT index)
{
return *((INT*)_GetPointerByIndex(pBase, index));
}
void _SetIntByIndex(void* pBase, INT index, INT value)
{
*((INT*)_GetPointerByIndex(pBase, index)) = value;
}
INT GetIntByIndex(PMDATA_INF pArgInf, INT index)
{
return _GetIntByIndex(pArgInf->m_pCompoundData, index);
}
void SetIntByIndex(PMDATA_INF pArgInf, INT index, INT value)
{
_SetIntByIndex(pArgInf->m_pCompoundData, index, value);
}
void* GetPointerByIndex(PMDATA_INF pArgInf, INT index)
{
return _GetPointerByIndex(pArgInf->m_pCompoundData, index);
}
void SetLogfont_CompileLanVer(LPLOGFONT pLogfont)
{
::GetObject(::GetStockObject(DEFAULT_GUI_FONT), sizeof(LOGFONT), pLogfont);
}
================================================
FILE: krnln/BlackMoonResDll.cpp
================================================
#include "stdafx.h"
extern "C" {
int __stdcall DllMain( HANDLE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
return 1;
}
}
================================================
FILE: krnln/CloneBinData.cpp
================================================
#include "StdAfx.h"
// ʹָݽ׳ʹõֽڼݡ
LPBYTE CloneBinData (LPBYTE pData, INT nDataSize)
{
if (nDataSize == 0)
return NULL;
LPBYTE pd = (LPBYTE)E_MAlloc_Nzero ((DWORD)(sizeof (INT) * 2 + nDataSize));
*(LPINT)pd = 1;
*(LPINT)(pd + sizeof (INT)) = nDataSize;
memcpy (pd + sizeof (INT) * 2, pData, nDataSize);
return pd;
}
================================================
FILE: krnln/CloneTextData.cpp
================================================
#include "StdAfx.h"
#include "Myfunctions.h"
// ʹָıݽ׳ʹõıݡ
// nTextLenָıֵijȣ㣩
// Ϊ-1ȡpsȫȡ
char* CloneTextData (char* ps, INT nTextLen)
{
if (nTextLen <= 0)
return NULL;
char* pd = (char*)E_MAlloc_Nzero ((DWORD)(nTextLen + 1));
memcpy (pd, ps, nTextLen);
pd [nTextLen] = '\0';
return pd;
}
// ʹָıݽ׳ʹõıݡ
char* CloneTextData (char* ps)
{
if (ps == NULL || *ps == '\0')
return NULL;
INT nTextLen = mystrlen (ps);
char* pd = (char*)E_MAlloc_Nzero ((DWORD)(nTextLen + 1));
memcpy (pd, ps, nTextLen);
pd [nTextLen] = '\0';
return pd;
}
================================================
FILE: krnln/DateTimeFormat.cpp
================================================
#include "stdafx.h"
#include <stdio.h>
#include <math.h>
#include <oleauto.h>
#pragma comment(lib, "OleAut32.lib")
//ʽʱı
void DateTimeFormat(LPSTR strValue,DATE dtDt,BOOL bOnlyDatePart)
{
SYSTEMTIME st = {0};
VariantTimeToSystemTime(dtDt, &st);
char strFormat [128];
strcpy(strFormat,"%d%d%d");
//ʽʱ䲿
char strFormatTime [128];
if(st.wSecond)
strcpy(strFormatTime,"%dʱ%d%d");
else if(st.wMinute && st.wSecond ==0)
strcpy(strFormatTime,"%dʱ%d");
else if(st.wHour && st.wMinute==0 && st.wSecond ==0)
strcpy(strFormatTime,"%dʱ");
else
strFormatTime[0]=0;
if(bOnlyDatePart==FALSE)
strcat(strFormat,strFormatTime);
sprintf(strValue, strFormat, st.wYear, st.wMonth, st.wDay, st.wHour, st.wMinute, st.wSecond);
}
================================================
FILE: krnln/DllEntryFunc.cpp
================================================
#include "stdafx.h"
extern "C" PDESTROY ECodeStart();
PDESTROY DllEntryFunc(){
DWORD dwReturn;//ҪĴȻʱ
__asm{
push esi
push edi
push ebx
call ECodeStart
pop ebx
pop edi
pop esi
mov dwReturn,eax
}
return (PDESTROY)dwReturn;
}
================================================
FILE: krnln/EyComInit.cpp
================================================
#include "stdafx.h"
extern "C" PDESTROY DestroyAddress;
extern "C" PDESTROY HFileDestroyAddress;
extern "C" PDESTROY DestroyMidiPlayer;
extern "C" HANDLE hBlackMoonHeap;
extern "C" {
void _cdecl E_Init(){
hBlackMoonHeap =::GetProcessHeap();
CoInitialize(0);
BlackMoonInitAllElib();
}
void _cdecl E_DestroyRes(){
if(DestroyAddress)
DestroyAddress();
if(HFileDestroyAddress)
HFileDestroyAddress();
if(DestroyMidiPlayer)
DestroyMidiPlayer();
BlackMoonFreeAllElib();
CoUninitialize();
}
}
================================================
FILE: krnln/EyInit.cpp
================================================
#include "stdafx.h"
extern "C" PDESTROY DestroyAddress;
extern "C" PDESTROY HFileDestroyAddress;
extern "C" PDESTROY DestroyMidiPlayer;
extern "C" HANDLE hBlackMoonHeap;
extern "C" {
void _cdecl E_Init(){
hBlackMoonHeap =::GetProcessHeap();
//CoInitialize(0);
BlackMoonInitAllElib();
}
void _cdecl E_DestroyRes(){
if(DestroyAddress)
DestroyAddress();
if(HFileDestroyAddress)
HFileDestroyAddress();
if(DestroyMidiPlayer)
DestroyMidiPlayer();
BlackMoonFreeAllElib();
}
}
================================================
FILE: krnln/FileManager.cpp
================================================
#include "stdafx.h"
#include "MyMemFile.h"
PFILEELEMENT pFileList = NULL;
extern "C" PDESTROY HFileDestroyAddress;
CRITICAL_SECTION csFileMan;
BOOL bIsCSinit = FALSE;
void enterfm()
{
if (!bIsCSinit)
{
InitializeCriticalSection(&csFileMan);
bIsCSinit = TRUE;
}
EnterCriticalSection(&csFileMan);
}
void leavefm()
{
if (bIsCSinit)
LeaveCriticalSection(&csFileMan);
}
void ResetFileIO()
{
enterfm();
PFILEELEMENT pObjFile = pFileList;
pFileList = NULL;
HFileDestroyAddress = NULL;
while(pObjFile)
{
if(pObjFile->FileHandle)
{
if(pObjFile->nType ==1 || pObjFile->nType ==3)
CloseHandle((HANDLE)pObjFile->FileHandle);
else if(pObjFile->nType ==2)
delete (CMyMemFile*)pObjFile->FileHandle;
}
PFILEELEMENT pPreFile = pObjFile;
pObjFile = (PFILEELEMENT)pObjFile->pLast;
memset(pPreFile,0,sizeof(FILEELEMENT));
delete pPreFile;
}
leavefm();
}
void CloseEfile(PFILEELEMENT pFile)
{
PFILEELEMENT pObjFile = pFileList;
PFILEELEMENT pPreFile = NULL;
enterfm();
while(pObjFile)
{
if(pObjFile == pFile)
{
if(pPreFile)
{//ڱ
pPreFile->pLast = pObjFile->pLast;
}
else
{ //
pFileList = (PFILEELEMENT)pObjFile->pLast;
if(pFileList==NULL)
HFileDestroyAddress = NULL;
}
if(pObjFile->FileHandle)
{
if(pObjFile->nType ==1 || pObjFile->nType == 3)
CloseHandle((HANDLE)pObjFile->FileHandle);
else if(pObjFile->nType ==2)
delete (CMyMemFile*)pObjFile->FileHandle;
}
memset(pObjFile,0,sizeof(FILEELEMENT));
delete pObjFile;
break;
}
pPreFile = pObjFile;
pObjFile = (PFILEELEMENT)pObjFile->pLast;
}
leavefm();
}
void AddFileMangerList(PFILEELEMENT pFile)
{
enterfm();
if(pFileList==NULL)//
HFileDestroyAddress = (PDESTROY)ResetFileIO;
pFile->pLast = pFileList;
pFileList = pFile;
leavefm();
}
================================================
FILE: krnln/FreeAryElement.cpp
================================================
#include "stdafx.h"
void FreeAryElement (void* pAryData)//ıֽڼЧ
{
DWORD AryElementCount = 0;
LPINT* pArryPtr = (LPINT*)GetAryElementInf(pAryData ,AryElementCount);
for(INT i=0;i < (INT)AryElementCount;i++)
{
void* pElementData = *pArryPtr;
if(pElementData)
{
E_MFree(pElementData);
*pArryPtr = NULL;
}
pArryPtr++;
}
E_MFree(pAryData);
}
================================================
FILE: krnln/GetAryElementInf.cpp
================================================
#include "stdafx.h"
void* GetAryElementInf(void* pAryData ,DWORD& AryElementCount)
{
LPINT pnData;
INT nArys;
UINT nElementCount;
pnData = (LPINT)pAryData;
nArys=*pnData; //ȡά
pnData +=1;
// ԱĿ
nElementCount = 1;
while (nArys > 0)
{
nElementCount *= pnData[0];
pnData ++;
nArys--;
}
AryElementCount = nElementCount;
return pnData;
}
================================================
FILE: krnln/GetDataTypeType.cpp
================================================
#include "StdAfx.h"
// ȡ͵
INT GetDataTypeType (DATA_TYPE dtDataType)
{
if (dtDataType == _SDT_NULL)
return DTT_IS_NULL_DATA_TYPE;
DWORD dw = dtDataType & 0xC0000000;
return dw == DTM_SYS_DATA_TYPE_MASK ? DTT_IS_SYS_DATA_TYPE :
dw == DTM_USER_DATA_TYPE_MASK ? DTT_IS_USER_DATA_TYPE :
DTT_IS_LIB_DATA_TYPE;
}
================================================
FILE: krnln/GetDatePart.cpp
================================================
#include "stdafx.h"
#include <math.h>
#include <stdio.h>
#include <oleauto.h>
#pragma comment(lib, "OleAut32.lib")
//ȡڲ,1ΪֻڲֵDATE
//189912300ʱ0000 Ϊ0,λΪСֵ
void GetDatePart(DATE dt,INT& nYear,INT& nMonth,INT& nDay)
{
SYSTEMTIME st = {0};
VariantTimeToSystemTime(dt, &st);
nYear = (INT)st.wYear;
nMonth = (INT)st.wMonth;
nDay = (INT)st.wDay;
/*
if(dt==0 || dt==1)
{
nYear = 1899;
nMonth = 12;
nDay = 30 + (INT)dt;
return;
}
INT nCountDay;
INT nStatrYear;
INT nYearDay;
INT nStep;
if(dt>0)
{
nCountDay = (INT)(dt-1);//190011Ϊ
nStatrYear = 1900;
nStep=1;
}
else
{
nCountDay = (INT)fabs(dt-1);//18991231Ϊ
nStatrYear = 1899;
nStep = -1;
}
while(1)
{
nYearDay = 365;
if((nStatrYear % 400==0) || (nStatrYear % 100 !=0) && (nStatrYear %4 ==0))//
nYearDay ++;
if(nCountDay <= nYearDay)//ķΧ
{
nYear = nStatrYear;
if(nStep==-1)
{
nCountDay = nYearDay - nCountDay;
}
break;
}
nCountDay -=nYearDay;
nStatrYear +=nStep;
}
DWORD nMonDay [12] = {31,28,31,30,31,30,31,31,30,31,30,31};
if((nYear % 400==0) || (nYear % 100 != 0) && (nYear %4 ==0))//
nMonDay [1] = 29; //
for(INT i=0;i <12;i++)
{
if(nCountDay <= (INT)(nMonDay[i]))
{
nMonth = i+1;
nDay = nCountDay;
break;
}
nCountDay-=nMonDay[i];
}
*/
}
//СϵһaΪ,bΪС,aΪ
//ȷaֻbֻС
double makedb(double a, double b)
{
if (((*(INT64*)&a)&0x8000000000000000) == ((*(INT64*)&b)&0x8000000000000000))
{//ֱͬӼ
return a+b;
}
//Ųͬ
return a-b;
}
DATE toMyDate(DATE dt)
{
if (dt > -1.0e-7) return dt; //ڵ0
DATE dtZS;
DATE dtXS = modf(dt, &dtZS);
return dtZS + fabs(dtXS);
}
DATE toEDate(DATE dt)
{
if (dt > -1.0e-7) return dt; //ڵ0
DATE dtZS;
DATE dtXS = modf(dt, &dtZS);
if (fabs(dtXS) < 1.0e-7) { //СΪ0
return dtZS;//ֱӷ
}
dtZS -= 2.0;
return dtZS - dtXS;
}
================================================
FILE: krnln/GetDaysOfSpecMonth.cpp
================================================
#include "stdafx.h"
INT GetDaysOfSpecMonth(INT nYear,INT nMonth)
{
DWORD nMonDay [12] = {31,28,31,30,31,30,31,31,30,31,30,31};
if((nYear % 400==0) || (nYear % 100 != 0) && (nYear %4 ==0))//
nMonDay [1] = 29; //
return nMonDay [nMonth-1];
}
================================================
FILE: krnln/GetRegRootVal.cpp
================================================
#include "stdafx.h"
// 1#ࣻ 2#ã 3#û 4#ػ 5#û
HKEY GetRegRootVal(INT nVal)
{
HKEY hkey = NULL;
switch(nVal)
{
case 1:
hkey = HKEY_CLASSES_ROOT;
break;
case 2:
hkey = HKEY_CURRENT_CONFIG;
break;
case 3:
hkey = HKEY_CURRENT_USER;
break;
case 4:
hkey = HKEY_LOCAL_MACHINE;
break;
case 5:
hkey = HKEY_USERS;
break;
}
return hkey;
}
================================================
FILE: krnln/GetSpecTime.cpp
================================================
#include "stdafx.h"
#include <math.h>
#include <oleauto.h>
#pragma comment(lib, "OleAut32.lib")
//ȡָʱ ʱֵȷ
//189912300ʱ0000 Ϊ0,λΪСֵ
double GetSpecDateTime(INT nYear, INT nMonth, INT nDay, INT nHour,INT nMinute,INT nSecond)
{
double dDate = 0;
SYSTEMTIME st = {0};
st.wYear = (WORD)nYear;
st.wMonth = (WORD)nMonth;
st.wDay = (WORD)nDay;
st.wHour = (WORD)nHour;
st.wMinute = (WORD)nMinute;
st.wSecond = (WORD)nSecond;
SystemTimeToVariantTime(&st, &dDate);
return dDate;
/*
double nSecCount = nHour * 3600;//
nSecCount+=(nMinute*60);
nSecCount+=nSecond;
double dTime = nSecCount/86400;
double dDate = 0;
INT nStep;
if(nYear==1899)
{
if(nMonth==12)
{
if(nDay >= 30)
{
dDate = nDay - 30;
return (dDate + dTime);
}
}
nStep = -1;
}
else if (nYear > 1899)
{
nStep = 1;
}else
nStep = -1;
INT nStatrYear;
INT nYearDay;
INT nCountDay = 0;
if(nStep==1)
nStatrYear = 1900;//190011Ϊ
else
nStatrYear = 1899;
while(1)
{
if(nStatrYear==nYear)
{
DWORD nMonDay [12] = {31,28,31,30,31,30,31,31,30,31,30,31};
if((nYear % 400==0) || (nYear % 100 != 0) && (nYear %4 ==0))//
nMonDay [1] = 29; //
if(nStep==1)
{
for(INT i=0;i <12;i++)
{
if(i == nMonth - 1)
{
nCountDay += nDay;
break;
}
nCountDay += nMonDay[i];
}
}else{
for(INT i = 11;i >=0;i--)
{
if(i == nMonth - 1)
{
nCountDay += (nMonDay[i]-nDay);
break;
}
nCountDay += nMonDay[i];
}
}
break;
}
nYearDay = 365;
if((nStatrYear % 400==0) || (nStatrYear % 100 !=0) && (nStatrYear %4 ==0))//
nYearDay ++;
nCountDay += nYearDay;
nStatrYear+=nStep;
}
if(nStep==1)
{
dDate = nCountDay + 1;
return (dDate + dTime);
}
dDate = -(nCountDay - 1 + dTime);
return dDate;
*/
}
================================================
FILE: krnln/GetSysDataTypeDataSize.cpp
================================================
#include "StdAfx.h"
//
INT GetSysDataTypeDataSize (DATA_TYPE dtSysDataType)
{
ASSERT (sizeof (DWORD) == 4);
switch (dtSysDataType)
{
case SDT_BYTE:
ASSERT (sizeof (BYTE) == 1);
return sizeof (BYTE);
case SDT_SHORT:
ASSERT (sizeof (SHORT) == 2);
return sizeof (SHORT);
case SDT_BOOL:
ASSERT (sizeof (BOOL) == 4);
return sizeof (BOOL);
case SDT_INT:
ASSERT (sizeof (INT) == 4);
return sizeof (INT);
case SDT_FLOAT:
ASSERT (sizeof (FLOAT) == 4);
return sizeof (FLOAT);
case SDT_SUB_PTR: // ¼ӳĵַָ
return sizeof (DWORD);
case SDT_TEXT: // ıͺֽڼΪһָ,Ϊĸֽ.
case SDT_BIN:
return sizeof (DWORD);
case SDT_INT64:
ASSERT (sizeof (INT64) == 8);
return sizeof (INT64);
case SDT_DOUBLE:
ASSERT (sizeof (DOUBLE) == 8);
return sizeof (DOUBLE);
case SDT_DATE_TIME:
ASSERT (sizeof (DATE) == 8);
return sizeof (DATE);
default:
ASSERT (FALSE);
return 0;
}
return 0;
}
================================================
FILE: krnln/GetTimePart.cpp
================================================
#include "stdafx.h"
#include <math.h>
#include <oleauto.h>
#pragma comment(lib, "OleAut32.lib")
//ȡʱ䲿,1Ϊֻʱ䲿ֵDATE
void GetTimePart(DATE dt,INT& nHour,INT& nMinute,INT& nSecond)
{
SYSTEMTIME st = {0};
VariantTimeToSystemTime(dt, &st);
nHour = (INT)st.wHour;
nMinute = (INT)st.wMinute;
nSecond = (INT)st.wSecond;
/*
INT nSecCount = (INT)DATE( 86400 * fabs(dt)+0.5);//
nHour = nSecCount / 3600;
nSecCount %= 3600;
nMinute = nSecCount / 60;
nSecond = nSecCount % 60;
*/
}
================================================
FILE: krnln/GetWeekDay.cpp
================================================
#include "stdafx.h"
#include <math.h>
#include <oleauto.h>
#pragma comment(lib, "OleAut32.lib")
INT GetWeekDay(DATE date)
{
SYSTEMTIME st = {0};
VariantTimeToSystemTime(date, &st);
return st.wDayOfWeek + 1;
/*
DATE dt,dd;
dt = modf(date,&dd);
INT nRet = (INT)fmod(dd,7);
if(nRet <= 0)
nRet += 7;
return nRet;
*/
}
================================================
FILE: krnln/HelpFunc12.cpp
================================================
#include "stdafx.h"
#include "Myfunctions.h"
extern "C" {
char* _cdecl E_FindFile (LPCSTR strFile,UINT nAttrib,BOOL bIsMissing,HANDLE* phFile){
//12ź,EAXΪ 0
HANDLE hFile = *phFile;
WIN32_FIND_DATA FindFileData;
BOOL bFind = FALSE;
// nAttrib &= 55;//
if(strFile != NULL && mystrlen(strFile)>0)//һβ
{
if(hFile && hFile != INVALID_HANDLE_VALUE) //رϴξɵľ
FindClose(hFile);
hFile = FindFirstFile(strFile,&FindFileData);
*phFile = hFile;
if(hFile ==INVALID_HANDLE_VALUE)
return NULL;
if(bIsMissing)
{
//char ErrorString [255];
//wsprintf(ErrorString, "(0x%Xh) (0x%Xh)", FindFileData.dwFileAttributes,(FindFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY));
//MessageBox(0, ErrorString, FindFileData.cFileName, MB_OK);
if ((FindFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) != FILE_ATTRIBUTE_DIRECTORY)//Ŀ¼
bFind = TRUE;
}else {
if ((FindFileData.dwFileAttributes & nAttrib) != 0)//
bFind = TRUE;
}
}
if(hFile==NULL || hFile == INVALID_HANDLE_VALUE) return NULL;
if(bFind==FALSE)
{
if(bIsMissing)
{
while(FindNextFile(hFile,&FindFileData))
{
if((FindFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) != FILE_ATTRIBUTE_DIRECTORY)//Ŀ¼
{
bFind = TRUE;
break;
}
}
}else {
while(FindNextFile(hFile,&FindFileData))
{
if((FindFileData.dwFileAttributes & nAttrib) != 0)//
{
bFind = TRUE;
break;
}
}
}
}
if(bFind)
{
// MessageBox(0, FindFileData.cFileName, "FILE", MB_OK);
INT nLen = mystrlen(FindFileData.cFileName);
char* str = (char*)E_MAlloc_Nzero(nLen+1);
strcpy(str,FindFileData.cFileName);
return str;
}
return NULL;
}
void _cdecl E_CloseFindFile (HANDLE hFile){
//12ź,EAXΪ 1
//char t[12];
//itoa((int)hFile,t,16);
//MessageBox(NULL,t,"file2",MB_OK);
//HANDLE hFile = *phFile;
if(hFile==NULL || hFile == INVALID_HANDLE_VALUE) return ;
FindClose(hFile); //رϴξɵľ
//*phFile = NULL;
}
}
================================================
FILE: krnln/IsInFileMangerList.cpp
================================================
#include "stdafx.h"
extern PFILEELEMENT pFileList;
BOOL IsInFileMangerList(PFILEELEMENT pFile)
{
PFILEELEMENT pObjFile = pFileList;
while(pObjFile)
{
if(pObjFile == pFile)
return TRUE;
if (pObjFile == (PFILEELEMENT)pObjFile->pLast)
break;
pObjFile = (PFILEELEMENT)pObjFile->pLast;
}
return FALSE;
}
================================================
FILE: krnln/LTrimZeroChr.cpp
================================================
#include "stdafx.h"
//#include "Myfunctions.h"
void LTrimZeroChr(char* str)
{
char *z = NULL;
char *p = NULL;
//С
for (; *str ; str++)
{
if(*str == '.')
{
p = str++;
break;
}
}
//
if(p) //С
{
for (; *str; str++)
{
if (*str == '0')
{
if(!z)
{
z = str;
}
}
else
{
z = NULL;
}
}
//
if (z)
{
if(z == p + 1) //СβɾС
{
*p = '\0';
}
else
{
*z = '\0';
}
}
}
}
/*
int nLen = mystrlen(str);
char * pend = str + nLen;
do
{
pend--;
if(*pend =='.')
{
*pend = 0;
break;
} else if(*pend !='0')
{
pend++;
*pend = 0;
break;
}
}while(* pend =='0' && pend > str);
*/
//}
================================================
FILE: krnln/LTrimZeroChr.h
================================================
void LTrimZeroChr(char* str);
================================================
FILE: krnln/MyMemFile.cpp
================================================
// MyMemFile.cpp: implementation of the CMyMemFile class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "MyMemFile.h"
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
// CMyMemFile implementation
CMyMemFile::CMyMemFile(UINT nGrowBytes)
{
m_nGrowBytes = nGrowBytes;
m_nPosition = 0;
m_nBufferSize = 0;
m_nFileSize = 0;
m_lpBuffer = NULL;
m_bAutoDelete = TRUE;
}
CMyMemFile::CMyMemFile(BYTE* lpBuffer, UINT nBufferSize, UINT nGrowBytes)
{
m_nGrowBytes = nGrowBytes;
m_nPosition = 0;
m_nBufferSize = nBufferSize;
m_nFileSize = nGrowBytes == 0 ? nBufferSize : 0;
m_lpBuffer = lpBuffer;
m_bAutoDelete = FALSE;
}
void CMyMemFile::Attach(BYTE* lpBuffer, UINT nBufferSize, UINT nGrowBytes)
{
m_nGrowBytes = nGrowBytes;
m_nPosition = 0;
m_nBufferSize = nBufferSize;
m_nFileSize = nGrowBytes == 0 ? nBufferSize : 0;
m_lpBuffer = lpBuffer;
m_bAutoDelete = FALSE;
}
BYTE* CMyMemFile::Detach()
{
BYTE* lpBuffer = m_lpBuffer;
m_lpBuffer = NULL;
m_nFileSize = 0;
m_nBufferSize = 0;
m_nPosition = 0;
return lpBuffer;
}
CMyMemFile::~CMyMemFile()
{
// Close should have already been called, but we check anyway
if (m_lpBuffer)
Close();
m_nGrowBytes = 0;
m_nPosition = 0;
m_nBufferSize = 0;
m_nFileSize = 0;
}
BYTE* CMyMemFile::Alloc(DWORD nBytes)
{
return (BYTE*)malloc((UINT)nBytes);
}
BYTE* CMyMemFile::Realloc(BYTE* lpMem, DWORD nBytes)
{
return (BYTE*)realloc(lpMem, (UINT)nBytes);
}
void CMyMemFile::Free(BYTE* lpMem)
{
free(lpMem);
}
DWORD CMyMemFile::GetPosition() const
{
return m_nPosition;
}
void CMyMemFile::GrowFile(DWORD dwNewLen)
{
if (dwNewLen > m_nBufferSize)
{
// grow the buffer
DWORD dwNewBufferSize = (DWORD)m_nBufferSize;
// watch out for buffers which cannot be grown!
if (m_nGrowBytes == 0)
return;
// determine new buffer size
while (dwNewBufferSize < dwNewLen)
dwNewBufferSize += m_nGrowBytes;
// allocate new buffer
BYTE* lpNew;
if (m_lpBuffer == NULL)
lpNew = Alloc(dwNewBufferSize);
else
lpNew = Realloc(m_lpBuffer, dwNewBufferSize);
if (lpNew == NULL)
return;
m_lpBuffer = lpNew;
m_nBufferSize = dwNewBufferSize;
}
}
void CMyMemFile::SetLength(DWORD dwNewLen)
{
if (dwNewLen > m_nBufferSize)
GrowFile(dwNewLen);
if (dwNewLen < m_nPosition)
m_nPosition = dwNewLen;
m_nFileSize = dwNewLen;
}
UINT CMyMemFile::Read(void* lpBuf, UINT nCount)
{
if (nCount == 0)
return 0;
if (m_nPosition > m_nFileSize)
return 0;
UINT nRead;
if (m_nPosition + nCount > m_nFileSize)
nRead = (UINT)(m_nFileSize - m_nPosition);
else
nRead = nCount;
memcpy((BYTE*)lpBuf, (BYTE*)m_lpBuffer + m_nPosition, nRead);
m_nPosition += nRead;
return nRead;
}
void CMyMemFile::Write(const void* lpBuf, UINT nCount)
{
if (nCount == 0)
return;
if (m_nPosition + nCount > m_nBufferSize)
GrowFile(m_nPosition + nCount);
memcpy((BYTE*)m_lpBuffer + m_nPosition, (BYTE*)lpBuf, nCount);
m_nPosition += nCount;
if (m_nPosition > m_nFileSize)
m_nFileSize = m_nPosition;
}
LONG CMyMemFile::Seek(LONG lOff, UINT nFrom)
{
LONG lNewPos = m_nPosition;
if (nFrom == begin)
lNewPos = lOff;
else if (nFrom == current)
lNewPos += lOff;
else if (nFrom == end)
lNewPos = m_nFileSize + lOff;
else
return -1;
if (lNewPos < 0)
return -1;
m_nPosition = lNewPos;
return m_nPosition;
}
/*
void CMyMemFile::Flush()
{
ASSERT_VALID(this);
}
*/
void CMyMemFile::Close()
{
ASSERT((m_lpBuffer == NULL && m_nBufferSize == 0) ||
!m_bAutoDelete || AfxIsValidAddress(m_lpBuffer, (UINT)m_nBufferSize, FALSE));
ASSERT(m_nFileSize <= m_nBufferSize);
m_nGrowBytes = 0;
m_nPosition = 0;
m_nBufferSize = 0;
m_nFileSize = 0;
if (m_lpBuffer && m_bAutoDelete)
Free(m_lpBuffer);
m_lpBuffer = NULL;
}
void CMyMemFile::Abort()
{
Close();
}
// only CMyMemFile supports "direct buffering" interaction with CArchive
UINT CMyMemFile::GetBufferPtr(UINT nCommand, UINT nCount,
void** ppBufStart, void**ppBufMax)
{
if (nCommand == bufferCheck)
return 1; // just a check for direct buffer support
if (nCommand == bufferCommit)
{
// commit buffer
m_nPosition += nCount;
if (m_nPosition > m_nFileSize)
m_nFileSize = m_nPosition;
return 0;
}
// when storing, grow file as necessary to satisfy buffer request
if (nCommand == bufferWrite && m_nPosition + nCount > m_nBufferSize)
GrowFile(m_nPosition + nCount);
// store buffer max and min
*ppBufStart = m_lpBuffer + m_nPosition;
// end of buffer depends on whether you are reading or writing
if (nCommand == bufferWrite)
*ppBufMax = m_lpBuffer + min(m_nBufferSize, m_nPosition + nCount);
else
{
if (nCount == (UINT)-1)
nCount = m_nBufferSize - m_nPosition;
*ppBufMax = m_lpBuffer + min(m_nFileSize, m_nPosition + nCount);
m_nPosition += LPBYTE(*ppBufMax) - LPBYTE(*ppBufStart);
}
// return number of bytes in returned buffer space (may be <= nCount)
return LPBYTE(*ppBufMax) - LPBYTE(*ppBufStart);
}
DWORD CMyMemFile::GetFileSize()
{
return m_nFileSize;
}
================================================
FILE: krnln/MyMemFile.h
================================================
// MyMemFile.h: interface for the CMyMemFile class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_MYMEMFILE_H__0D0A64A2_866B_4027_AD22_AEFE48A79B01__INCLUDED_)
#define AFX_MYMEMFILE_H__0D0A64A2_866B_4027_AD22_AEFE48A79B01__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
class CMyMemFile
{
public:
// Constructors
CMyMemFile(UINT nGrowBytes = 1024);
CMyMemFile(BYTE* lpBuffer, UINT nBufferSize, UINT nGrowBytes = 0);
// Operations
void Attach(BYTE* lpBuffer, UINT nBufferSize, UINT nGrowBytes = 0);
BYTE* Detach();
// Advanced Overridables
protected:
virtual BYTE* Alloc(DWORD nBytes);
virtual BYTE* Realloc(BYTE* lpMem, DWORD nBytes);
// virtual BYTE* Memcpy(BYTE* lpMemTarget, const BYTE* lpMemSource, UINT nBytes);
virtual void Free(BYTE* lpMem);
virtual void GrowFile(DWORD dwNewLen);
// Implementation
protected:
UINT m_nGrowBytes;
DWORD m_nPosition;
DWORD m_nBufferSize;
DWORD m_nFileSize;
BYTE* m_lpBuffer;
BOOL m_bAutoDelete;
public:
DWORD GetFileSize();
virtual ~CMyMemFile();
virtual DWORD GetPosition() const;
//BOOL GetStatus(CFileStatus& rStatus) const;
enum SeekPosition { begin = 0x0, current = 0x1, end = 0x2 };
virtual LONG Seek(LONG lOff, UINT nFrom);
virtual void SetLength(DWORD dwNewLen);
virtual UINT Read(void* lpBuf, UINT nCount);
virtual void Write(const void* lpBuf, UINT nCount);
virtual void Abort();
// virtual void Flush();
virtual void Close();
enum BufferCommand { bufferRead, bufferWrite, bufferCommit, bufferCheck };
virtual UINT GetBufferPtr(UINT nCommand, UINT nCount = 0,
void** ppBufStart = NULL, void** ppBufMax = NULL);
// Unsupported APIs
// virtual CFile* Duplicate() const;
// virtual void LockRange(DWORD dwPos, DWORD dwCount);
// virtual void UnlockRange(DWORD dwPos, DWORD dwCount);
};
#endif // !defined(AFX_MYMEMFILE_H__0D0A64A2_866B_4027_AD22_AEFE48A79B01__INCLUDED_)
================================================
FILE: krnln/Myfunctions.cpp
================================================
#include "stdafx.h"
#include "Myfunctions.h"
#include <stdio.h>
#define MAX(x, y) (x) > (y) ? (x) : (y)
unsigned char lowtable[] =
{
0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,
0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x1E,0x1F,
0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,
0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,
0x40, 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o',
'p' , 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z',0x5B,0x5C,0x5D,0x5E,0x5F,
0x60, 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o',
'p' , 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z',0x7B,0x7C,0x7D,0x7E,0x7F,
0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8A,0x8B,0x8C,0x8D,0x8E,0x8F,
0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,0x98,0x99,0x9A,0x9B,0x9C,0x9D,0x9E,0x9F,
0xA0,0xA1,0xA2,0xA3,0xA4,0xA5,0xA6,0xA7,0xA8,0xA9,0xAA,0xAB,0xAC,0xAD,0xAE,0xAF,
0xB0,0xB1,0xB2,0xB3,0xB4,0xB5,0xB6,0xB7,0xB8,0xB9,0xBA,0xBB,0xBC,0xBD,0xBE,0xBF,
0xC0,0xC1,0xC2,0xC3,0xC4,0xC5,0xC6,0xC7,0xC8,0xC9,0xCA,0xCB,0xCC,0xCD,0xCE,0xCF,
0xD0,0xD1,0xD2,0xD3,0xD4,0xD5,0xD6,0xD7,0xD8,0xD9,0xDA,0xDB,0xDC,0xDD,0xDE,0xDF,
0xE0,0xE1,0xE2,0xE3,0xE4,0xE5,0xE6,0xE7,0xE8,0xE9,0xEA,0xEB,0xEC,0xED,0xEE,0xEF,
0xF0,0xF1,0xF2,0xF3,0xF4,0xF5,0xF6,0xF7,0xF8,0xF9,0xFA,0xFB,0xFC,0xFD,0xFE,0xFF
};
unsigned char uptable[] =
{
0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,
0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x1E,0x1F,
0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,
0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,
0x40, 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O',
'P' , 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z',0x5B,0x5C,0x5D,0x5E,0x5F,
0x60, 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O',
'P' , 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z',0x7B,0x7C,0x7D,0x7E,0x7F,
0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8A,0x8B,0x8C,0x8D,0x8E,0x8F,
0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,0x98,0x99,0x9A,0x9B,0x9C,0x9D,0x9E,0x9F,
0xA0,0xA1,0xA2,0xA3,0xA4,0xA5,0xA6,0xA7,0xA8,0xA9,0xAA,0xAB,0xAC,0xAD,0xAE,0xAF,
0xB0,0xB1,0xB2,0xB3,0xB4,0xB5,0xB6,0xB7,0xB8,0xB9,0xBA,0xBB,0xBC,0xBD,0xBE,0xBF,
0xC0,0xC1,0xC2,0xC3,0xC4,0xC5,0xC6,0xC7,0xC8,0xC9,0xCA,0xCB,0xCC,0xCD,0xCE,0xCF,
0xD0,0xD1,0xD2,0xD3,0xD4,0xD5,0xD6,0xD7,0xD8,0xD9,0xDA,0xDB,0xDC,0xDD,0xDE,0xDF,
0xE0,0xE1,0xE2,0xE3,0xE4,0xE5,0xE6,0xE7,0xE8,0xE9,0xEA,0xEB,0xEC,0xED,0xEE,0xEF,
0xF0,0xF1,0xF2,0xF3,0xF4,0xF5,0xF6,0xF7,0xF8,0xF9,0xFA,0xFB,0xFC,0xFD,0xFE,0xFF
};
int __fastcall isSSE2()
{
static int bIsSSE2 = FALSE;
static int bIsSSE2Check = FALSE;
if (bIsSSE2Check)
return bIsSSE2;
int res = 0;
__asm
{
mov eax, 01h;
cpuid;
mov res, edx;
}
bIsSSE2 = res & (1 << 26);
bIsSSE2Check = TRUE;
return bIsSSE2;
}
int inline MyMemCmp(unsigned char* a, unsigned char* b, int len)
{
for (int i = 0; i < (len >> 2); i++)
{
if (((int*)a)[0] != ((int*)b)[0])
return 1;
a += 4;b += 4;
}
if ((len & 2) != 0)
{
if (((short*)a)[0] != ((short*)b)[0])
return 1;
a += 2;b += 2;
}
if ((len & 1) != 0 && a[0] != b[0])
return 1;
return 0;
}
static size_t mystrlen_normal(const char* pStr)
{
const char* char_ptr;
const unsigned int* longword_ptr;
register unsigned int longword, himagic, lomagic;
const char* cp;
for (char_ptr = pStr; ((unsigned int)char_ptr & (sizeof(unsigned int) - 1)) != 0;
++char_ptr) {
if (*char_ptr == '\0')
return char_ptr - pStr;
}
longword_ptr = (unsigned int*)char_ptr;
himagic = 0x80808080L;
lomagic = 0x01010101L;
while (1) {
longword = *longword_ptr++;
if (((longword - lomagic) & ~longword & himagic) != 0) {
cp = (const char*)(longword_ptr - 1);
if (cp[0] == 0)
return cp - pStr;
if (cp[1] == 0)
return cp - pStr + 1;
if (cp[2] == 0)
return cp - pStr + 2;
if (cp[3] == 0)
return cp - pStr + 3;
}
}
}
static size_t mystrlen_SSE2(const char* pStr)
{
size_t res = 0;
__asm
{
mov eax, pStr; // get pointer to string
test eax, eax;
je END__; // return 0 if eax is NULL
mov ecx, eax; // copy pointer
// pxor xmm0,xmm0; // set to zero
_EMIT 0x66;
_EMIT 0x0F;
_EMIT 0xEF;
_EMIT 0xC0;
and ecx, 0Fh; // lower 4 bits indicate misalignment
and eax, 0FFFFFFF0h; // align pointer by 16
// movdqa xmm1, [eax]; // read from nearest preceding boundary
_EMIT 0x66;
_EMIT 0x0F;
_EMIT 0x6F;
_EMIT 0x08;
// pcmpeqb xmm1,xmm0; // compare 16 bytes with zero
_EMIT 0x66;
_EMIT 0x0F;
_EMIT 0x74;
_EMIT 0xC8;
// pmovmskb edx, xmm1; // get one bit for each byte result
_EMIT 0x66;
_EMIT 0x0F;
_EMIT 0xD7;
_EMIT 0xD1;
shr edx, cl; // shift out false bits
shl edx, cl; // shift back again
bsf edx, edx; // find first 1 - bit
jne A200; // found
//; Main loop, search 16 bytes at a time
A100:
add eax, 10h; // increment pointer by 16
// movdqa xmm1, [eax]; // read 16 bytes aligned
_EMIT 0x66;
_EMIT 0x0F;
_EMIT 0x6F;
_EMIT 0x08;
// pcmpeqb xmm1, xmm0; // compare 16 bytes with zero
_EMIT 0x66;
_EMIT 0x0F;
_EMIT 0x74;
_EMIT 0xC8;
// pmovmskb edx, xmm1; // get one bit for each byte result
_EMIT 0x66;
_EMIT 0x0F;
_EMIT 0xD7;
_EMIT 0xD1;
bsf edx, edx; // find first 1 - bit
//; (moving the bsf out of the loop and using test here would be faster for long strings on old processors,
//; but we are assuming that most strings are short, and newer processors have higher priority)
je A100; // loop if not found
A200: //; Zero - byte found.Compute string length
sub eax, pStr; // subtract start address
add eax, edx; // add byte index
mov res, eax;
END__:
}
return res;
}
size_t mystrlen_auto(const char* pStr)
{ // ˺Ϊ亯ֻᱻһΡ
if (isSSE2())
{ // ֧SSE2ָ
mystrlen = mystrlen_SSE2;
return mystrlen_SSE2(pStr);
}
else
{
mystrlen = mystrlen_normal;
return mystrlen_normal(pStr);
}
return 0;
}
MYSTRLEN mystrlen = mystrlen_auto;
int __fastcall mymemchr(unsigned char* pSrc, int nLen, unsigned char Des)
{
register unsigned int longword, dmagic, * longword_ptr;
unsigned char* cp;
unsigned char* char_ptr = pSrc;
for (int i = 0; i < (nLen & 3);i++)
if (*char_ptr++ == Des)
return char_ptr - pSrc - 1;
dmagic = Des | (Des << 8) | (Des << 16) | (Des << 24);
for (longword_ptr = (unsigned int*)char_ptr; longword_ptr < (unsigned int*)(pSrc + nLen); longword_ptr++)
{
longword = *longword_ptr ^ dmagic;
if (((longword - 0x01010101) & ~longword & 0x80808080) != 0)
{
cp = (unsigned char*)(longword_ptr);
if (cp[0] == Des)
return cp - pSrc;
if (cp[1] == Des)
return cp - pSrc + 1;
if (cp[2] == Des)
return cp - pSrc + 2;
if (cp[3] == Des)
return cp - pSrc + 3;
}
}
return -1;
}
int __fastcall myinstring(unsigned char* src, int slen, unsigned char* des, int dlen)
{
// register unsigned char* naddr;
// int sl;int i;int j;
int i;
if (!src || !des || !slen || !dlen || dlen > slen)
return -1;
switch (dlen)
{
case 1: // Ӵֱӱ
return mymemchr(src, slen, des[0]);
case 2:
for (i = 0; i < slen - 1; i++)
if (((short*)(src + i))[0] == ((short*)des)[0])
return i;
return -1;
case 3:
for (i = 0; i < slen - 2; i++)
if (((short*)(src + i))[0] == ((short*)des)[0])
if (src[i + 2] == des[2])
return i;
return -1;
case 4:
for (i = 0; i < slen - 3; i++)
if (((int*)(src + i))[0] == ((int*)des)[0])
return i;
return -1;
case 5:
for (i = 0; i < slen - 4; i++)
if (((int*)(src + i))[0] == ((int*)des)[0])
if (src[i + 4] == des[4])
return i;
return -1;
case 6:
for (i = 0; i < slen - 5; i++)
if (((int*)(src + i))[0] == ((int*)des)[0])
if (((short*)(src + i + 4))[0] == ((short*)(des + 4))[0])
return i;
return -1;
default:// ӴʹBM㷨,
return boyer_moore(src, slen, des, dlen);
}
}
char* TBR::toString()
{
if (m_nCount <= 0 || m_nTLen <= 0 || !m_data)
{
return NULL;
}
char* pText = (char*)E_MAlloc_Nzero(m_nTLen + 1);
char* pRetnTmp = pText;
for (int i = 0; i < m_nCount; i++)
{
memcpy(pRetnTmp, m_data[i].addr, m_data[i].len);
pRetnTmp += m_data[i].len;
}
pText[m_nTLen] = '\0';
return pText;
}
TBR::TBR()
{
m_nCount = 0;
m_nTCount = 0;
m_nTLen = 0;
m_data = NULL;
}
TBR::~TBR()
{
if (m_data)
{
free(m_data);
}
}
void TBR::add(PVOID addr, size_t len)
{
if (!m_data)
{
m_data = (PTBRECORD)malloc(512 * sizeof(TBRECORD));
if (!m_data)
return;
m_nTCount = 512;
}
if (m_nCount >= m_nTCount)
{
int nNewCount = m_nTCount << 1;
PVOID pNewData = realloc(m_data, nNewCount * sizeof(TBRECORD));
if (!pNewData)
{
pNewData = malloc(sizeof(TBRECORD) * nNewCount);
if (!pNewData)
return;
memcpy(pNewData, m_data, sizeof(TBRECORD) * m_nTCount);
free(m_data);
}
m_data = (TBRECORD*)pNewData;
m_nTCount = nNewCount;
}
if (len < 0)
{
len = 0;
}
m_data[m_nCount].addr = addr;
m_data[m_nCount++].len = len;
m_nTLen += len;
}
INT __fastcall mystristr(char* str1, char* str2)
{
register char* cp = str1;
register char* s1, * s2;
register unsigned char* lt = lowtable;
while (*cp)
{
s1 = cp;
s2 = str2;
while (*s1 && *s2 && (*s1 == *s2 || lt[(unsigned char)(*s1)] == lt[(unsigned char)(*s2)]))
s1++, s2++;
if (!*s2)
return cp - str1;
if (*cp < 0)
{
cp++;
if (!*cp)
return -1;
}
cp++;
}
return -1;
}
INT __fastcall mystrstr(char* str1, char* str2)
{
register char* cp = str1;
register char* s1, * s2;
while (*cp)
{
s1 = cp;
s2 = str2;
while (*s1 && *s2 && !(*s1 - *s2))
s1++, s2++;
if (!*s2)
return cp - str1;
if (*cp < 0)
{
cp++;
if (!*cp)
return -1;
}
cp++;
}
return -1;
}
#define ALPHABET_LEN 256
#define NOT_FOUND patlen
// delta1 table: delta1[c] contains the distance between the last
// character of pat and the rightmost occurrence of c in pat.
// If c does not occur in pat, then delta1[c] = patlen.
// If c is at string[i] and c != pat[patlen-1], we can
// safely shift i over by delta1[c], which is the minimum distance
// needed to shift pat forward to get string[i] lined up
// with some character in pat.
// this algorithm runs in alphabet_len+patlen time.
void make_delta1(int* delta1, unsigned char* pat, int patlen) {
int i;
for (i = 0; i < ALPHABET_LEN; i++) {
delta1[i] = NOT_FOUND;
}
for (i = 0; i < patlen - 1; i++) {
delta1[pat[i]] = patlen - 1 - i;
}
}
// true if the suffix of word starting from word[pos] is a prefix
// of word
int is_prefix(unsigned char* word, int wordlen, int pos) {
int i;
int suffixlen = wordlen - pos;
for (i = 0; i < suffixlen; i++) {
if (word[i] != word[pos + i]) {
return 0;
}
}
return 1;
}
// length of the longest suffix of word ending on word[pos].
// suffix_length("dddbcabc", 8, 4) = 2
int suffix_length(unsigned char* word, int wordlen, int pos) {
int i;
// increment suffix length i to the first mismatch or beginning
// of the word
for (i = 0; (word[pos - i] == word[wordlen - 1 - i]) && (i < pos); i++);
return i;
}
// delta2 table: given a mismatch at pat[pos], we want to align
// with the next possible full match could be based on what we
// know about pat[pos+1] to pat[patlen-1].
//
// In case 1:
// pat[pos+1] to pat[patlen-1] does not occur elsewhere in pat,
// the next plausible match starts at or after the mismatch.
// If, within the substring pat[pos+1 .. patlen-1], lies a prefix
// of pat, the next plausible match is here (if there are multiple
// prefixes in the substring, pick the longest). Otherwise, the
// next plausible match starts past the character aligned with
// pat[patlen-1].
//
// In case 2:
// pat[pos+1] to pat[patlen-1] does occur elsewhere in pat. The
// mismatch tells us that we are not looking at the end of a match.
// We may, however, be looking at the middle of a match.
//
// The first loop, which takes care of case 1, is analogous to
// the KMP table, adapted for a 'backwards' scan order with the
// additional restriction that the substrings it considers as
// potential prefixes are all suffixes. In the worst case scenario
// pat consists of the same letter repeated, so every suffix is
// a prefix. This loop alone is not sufficient, however:
// Suppose that pat is "ABYXCDEYX", and text is ".....ABYXCDEYX".
// We will match X, Y, and find B != E. There is no prefix of pat
// in the suffix "YX", so the first loop tells us to skip forward
// by 9 characters.
// Although superficially similar to the KMP table, the KMP table
// relies on information about the beginning of the partial match
// that the BM algorithm does not have.
//
// The second loop addresses case 2. Since suffix_length may not be
// unique, we want to take the minimum value, which will tell us
// how far away the closest potential match is.
void make_delta2(int* delta2, unsigned char* pat, int patlen) {
int p;
int last_prefix_index = 1;
// first loop, prefix pattern
for (p = patlen - 1; p >= 0; p--) {
if (is_prefix(pat, patlen, p + 1)) {
last_prefix_index = p + 1;
}
delta2[p] = (patlen - 1 - p) + last_prefix_index;
}
// this is overly cautious, but will not produce anything wrong
// second loop, suffix pattern
for (p = 0; p < patlen - 1; p++) {
int slen = suffix_length(pat, patlen, p);
if (pat[p - slen] != pat[patlen - 1 - slen]) {
delta2[patlen - 1 - slen] = patlen - 1 - p + slen;
}
}
}
int boyer_moore(unsigned char* string, int stringlen, unsigned char* pat, int patlen) {
int i;
int delta1[ALPHABET_LEN];
int* delta2 = (int*)malloc(patlen * sizeof(int));
if (!delta2)
return -1;
make_delta1(delta1, pat, patlen);
make_delta2(delta2, pat, patlen);
int n_shifts = 0;
i = patlen - 1;
while (i < stringlen) {
int j = patlen - 1;
while (j >= 0 && (string[i] == pat[j])) {
--i;
--j;
}
if (j < 0) {
free(delta2);
return i + 1;
}
i += max(delta1[string[i]], delta2[j]);
}
free(delta2);
return -1;
}
void swap_hex(unsigned char* str, int len)
{
for (int i = 0; i < len / 2; i += sizeof(WORD))
{
WORD temp = *(WORD*)(str + len - i - sizeof(WORD));
*(WORD*)(str + len - i - sizeof(WORD)) = *(WORD*)(str + i);
*(WORD*)(str + i) = temp;
}
}
void E_RC4_init(unsigned char* keytable, unsigned char* key, int keylen)
{
int i = 0, j = 0;
unsigned char k[256] = { 0 };
unsigned char tmp = 0;
for (i = 0; i < 256; i++) {
keytable[i] = i;
k[i] = key[i % keylen];
}
for (i = 0; i < 256; i++) {
tmp = keytable[i];
j = (j + tmp + k[i]) % 256;
keytable[i] = keytable[j];//s[i]s[j]
keytable[j] = tmp;
}
keytable[256] = 0;
keytable[257] = 0;
}
void E_RC4_updatetable(int len, unsigned char* keytable)
{
int i;
unsigned char tmp;
unsigned char x = keytable[256];
unsigned char y = keytable[257];
for (i = 0; i < len; i++)
{
x = (x + 1);
tmp = keytable[x];
y = (y + tmp);
keytable[x] = keytable[y];//s[x]s[y]
keytable[y] = tmp;
}
keytable[256] = x;
keytable[257] = y;
}
void E_RC4(unsigned char* data, int datalen, unsigned char* keytable)
{
int i;
unsigned char tmp;
unsigned char x = keytable[256];
unsigned char y = keytable[257];
for (i = 0; i < datalen; i++)
{
x = (x + 1);
tmp = keytable[x];
y = (y + tmp);
keytable[x] = keytable[y];//s[x]s[y]
keytable[y] = tmp;
data[i] ^= keytable[(unsigned char)(keytable[x] + tmp)];
}
keytable[256] = x;
keytable[257] = y;
}
#define ERC4_TLEN 258
#define ERC4_CHUNK 4096
BOOL E_RC4_Calc(int pos, unsigned char* pData, int nDlen, unsigned char* pKeytable, int nCryptStart, unsigned char* pMD5)
{
int nCTLen, nCTRemain;
int nTableLen, nTableIndex;
int nChunk, nOChunk;
int nF, nB;
unsigned char pTableTMP[ERC4_TLEN];
unsigned char* pTableData, * pTableData2;
unsigned char pNewPass[40]; // 4 + 32 + 4
memcpy(pTableTMP, pKeytable, ERC4_TLEN);
nCTLen = nCryptStart;
nCTRemain = nCTLen - pos;
if (nCTRemain > 0)
{
pData += nCTRemain;
nDlen -= nCTRemain;
if (nDlen <= 0)
return FALSE;
pos = nCTLen;
}
E_RC4_updatetable(4 * (pos / ERC4_CHUNK), pTableTMP);
nTableLen = 4 * (nDlen / ERC4_CHUNK) + 8;
if (nTableLen % 4 > 0)
nTableLen = nTableLen + nTableLen % 4;
pTableData = new unsigned char[nTableLen];
memset(pTableData, 0, nTableLen);
pTableData2 = pTableData;
E_RC4(pTableData, nTableLen, pTableTMP);
nTableIndex = pos / ERC4_CHUNK;
nChunk = pos % ERC4_CHUNK;
if (nChunk >= 0)
{
nF = *((int*)pTableData);
nB = nTableIndex ^ nF;
*((int*)pNewPass) = nF;
memcpy(pNewPass + 4, pMD5, 32);
*((int*)(pNewPass + 36)) = nB;
nTableIndex++;
pTableData += 4;
E_RC4_init(pTableTMP, pNewPass, 40);
E_RC4_updatetable(nChunk + 36, pTableTMP);
nOChunk = min(ERC4_CHUNK - nChunk, nDlen);
E_RC4(pData, nOChunk, pTableTMP);
nDlen -= nOChunk;
pData += nOChunk;
}
while (nDlen > 0)
{
nF = *((int*)pTableData);
nB = nTableIndex ^ nF;
*((int*)pNewPass) = nF;
memcpy(pNewPass + 4, pMD5, 32);
*((int*)(pNewPass + 36)) = nB;
nTableIndex++;
pTableData += 4;
E_RC4_init(pTableTMP, pNewPass, 40);
E_RC4_updatetable(nChunk + 36, pTableTMP);
if (nDlen <= ERC4_CHUNK)
{
E_RC4(pData, nDlen, pTableTMP);
pData += nDlen;
nDlen = 0;
break;
}
E_RC4(pData, ERC4_CHUNK, pTableTMP);
nDlen -= ERC4_CHUNK;
pData += ERC4_CHUNK;
}
delete[]pTableData2;
return TRUE;
}
================================================
FILE: krnln/Myfunctions.h
================================================
#ifndef _MY_FUNCS_
#define _MY_FUNCS_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
typedef struct _MEMSP_{
char* pData;
int nLen;
}MEMSP, *PMEMSP;
typedef struct _TBRECORD{
PVOID addr; //ݵַ
DWORD len; //ݳ
}TBRECORD, *PTBRECORD;
class TBR
{
public:
TBR();
~TBR();
void add(PVOID addr, size_t len);
char* toString(); //ֵҪͷ
int m_nCount;
int m_nTCount;
size_t m_nTLen;
PTBRECORD m_data;
};
extern unsigned char lowtable[];
extern unsigned char uptable[];
int __fastcall mymemchr(unsigned char *pSrc, int nLen, unsigned char Des);
int boyer_moore(unsigned char* string, int stringlen, unsigned char* pat, int patlen);
int inline MyMemCmp(unsigned char* a, unsigned char* b, int len);
typedef size_t (*MYSTRLEN)(const char *str);
// ȡַ
extern MYSTRLEN mystrlen;
int __fastcall myinstring(unsigned char *src, int slen,unsigned char *des, int dlen);
INT __fastcall mystristr(char* str1, char* str2);
INT __fastcall mystrstr(char* str1, char* str2);
void swap_hex(unsigned char* string, int length);
void E_RC4_init(unsigned char* keytable, unsigned char* key, int keylen);
void E_RC4_updatetable(int len, unsigned char* keytable);
void E_RC4(unsigned char* data, int datalen, unsigned char* keytable);
BOOL E_RC4_Calc(int pos, unsigned char *pData,int nDlen, unsigned char *pKeytable, int nCryptStart, unsigned char *pMD5);
#endif
================================================
FILE: krnln/NumToChinese.cpp
================================================
#include "stdafx.h"
#include <stdio.h>
#include <math.h>
#include "Myfunctions.h"
char bigChn []= "\0Ҽ\0\0\0\0\0½\0\0\0\0";//48-57
char smlChn []= "\0һ\0\0\0\0\0\0\0\0\0";
char strNumLeven1 []= "\0Ǫ\0\0ʰ\0\0";
char strNumLeven2 []= "\0ǧ\0\0ʮ\0\0";
BOOL ReadChnNum(LPSTR pText,LPSTR pStrSrc,LPSTR pNumStr,LPSTR pNumLeven,INT nNum,INT& nPre)
{
pNumLeven += ((5-nNum)*3);
BOOL bAllZero = TRUE;
for(INT i=0;i<nNum;i++)
{
INT nOffset = pStrSrc[i]-48;
LPSTR pStr = pNumStr + nOffset*3;
if(nOffset !=0)
{
if(nPre ==0)
strcat(pText,"");
strcat(pText,pStr);
pStr = pNumLeven + i*3;
strcat(pText,pStr);
bAllZero = FALSE;
}
nPre = nOffset;
}
return bAllZero;
}
LPSTR IntNumToChn (double dNum,BOOL bSml,INT& nPre)
{
char str [MAX_PATH];
LPSTR pText = NULL;
sprintf(str,"%.0lf",dNum);
INT nLen = mystrlen(str);
if(nLen>13)
{
pText = (LPSTR)malloc (3);
strcpy(pText,"");
return pText;
}
pText = (LPSTR)malloc (nLen*4+4);
*pText=0;
LPSTR pNum;
LPSTR pNumLeven;
if(bSml)
{
pNum = smlChn;
pNumLeven = strNumLeven2;
}
else
{
pNum = bigChn;
pNumLeven = strNumLeven1;
}
LPSTR pSrc = str;
if(*pSrc==45)
{
pSrc++;
strcat(pText,"");
}
//Ǫʰ-Ǫʰ-Ǫʰ
nPre = -1;
if(nLen > 8)
{
INT nNum = nLen - 8;
ReadChnNum(pText,pSrc,pNum,pNumLeven,nNum,nPre);
strcat(pText,"");
pSrc+=nNum;
BOOL nAll0 = ReadChnNum(pText,pSrc,pNum,pNumLeven,4,nPre);
if(!nAll0)
//strcat(pText,"");
//else
strcat(pText,"");
pSrc+=4;
ReadChnNum(pText,pSrc,pNum,pNumLeven,4,nPre);
}else if(nLen > 4)
{
INT nNum = nLen - 4;
ReadChnNum(pText,pSrc,pNum,pNumLeven,nNum,nPre);
strcat(pText,"");
pSrc+=nNum;
ReadChnNum(pText,pSrc,pNum,pNumLeven,4,nPre);
}
else
{
ReadChnNum(pText,pSrc,pNum,pNumLeven,nLen,nPre);
}
return pText;
}
LPSTR FloatNumToChn (double dN
gitextract_xxll1hxj/ ├── .github/ │ └── workflows/ │ ├── blackmoon_krnln.yml │ ├── blackmoon_krnlnobj.yml │ └── blackmoon_mfc.yml ├── .gitignore ├── LICENSE ├── MFCObj/ │ ├── BlackMoonMFCdll.cpp │ ├── EyMFCComInit.cpp │ ├── EyMFCComInit.h │ ├── MFCBlackMoon.aps │ ├── MFCBlackMoon.cpp │ ├── MFCBlackMoon.def │ ├── MFCBlackMoon.h │ ├── MFCBlackMoon.rc │ ├── MFCBlackMoonCon.cpp │ ├── Resource.h │ ├── StdAfx.cpp │ ├── StdAfx.h │ └── res/ │ └── MFCBlackMoon.rc2 ├── Project/ │ ├── MFCBlackMoon_VC6.clw │ ├── MFCBlackMoon_VC6.dsp │ ├── MFCBlackMoon_VS2019.vcxproj │ ├── MFCBlackMoon_VS2019.vcxproj.filters │ ├── MFCBlackMoon_VS2019.vcxproj.user │ ├── krnln_VC6.dsp │ ├── krnln_VC6_Obj.dsp │ ├── krnln_VS2019.vcxproj │ ├── krnln_VS2019.vcxproj.filters │ ├── krnln_VS2019.vcxproj.user │ ├── krnln_VS2019_Obj.vcxproj │ ├── krnln_VS2019_Obj.vcxproj.filters │ └── krnln_VS2019_Obj.vcxproj.user ├── README.md ├── Readme.txt ├── krnln/ │ ├── BlackMoonCallPropertyVaule.cpp │ ├── BlackMoonCallUserDll.cpp │ ├── BlackMoonDll.cpp │ ├── BlackMoonDll2.cpp │ ├── BlackMoonExe.cpp │ ├── BlackMoonLibNotifySys.cpp │ ├── BlackMoonResDll.cpp │ ├── CloneBinData.cpp │ ├── CloneTextData.cpp │ ├── DateTimeFormat.cpp │ ├── Diskid32.obj │ ├── DllEntryFunc.cpp │ ├── EyComInit.cpp │ ├── EyInit.cpp │ ├── FileManager.cpp │ ├── FreeAryElement.cpp │ ├── GetAryElementInf.cpp │ ├── GetDataTypeType.cpp │ ├── GetDatePart.cpp │ ├── GetDaysOfSpecMonth.cpp │ ├── GetRegRootVal.cpp │ ├── GetSpecTime.cpp │ ├── GetSysDataTypeDataSize.cpp │ ├── GetTimePart.cpp │ ├── GetWeekDay.cpp │ ├── HelpFunc12.cpp │ ├── IsInFileMangerList.cpp │ ├── LTrimZeroChr.cpp │ ├── LTrimZeroChr.h │ ├── MyMemFile.cpp │ ├── MyMemFile.h │ ├── Myfunctions.cpp │ ├── Myfunctions.h │ ├── NumToChinese.cpp │ ├── PY.OBJ │ ├── SDataToStr.cpp │ ├── StdAfx.cpp │ ├── StdAfx.h │ ├── eHelpFunc.cpp │ ├── krnln_BJCase.cpp │ ├── krnln_BinLeft.cpp │ ├── krnln_BinLen.cpp │ ├── krnln_BinMid.cpp │ ├── krnln_BinRight.cpp │ ├── krnln_ChDir.cpp │ ├── krnln_ChDrive.cpp │ ├── krnln_ClearClipBoard.cpp │ ├── krnln_CryptOpen.cpp │ ├── krnln_CurDir.cpp │ ├── krnln_DeleteRegItem.cpp │ ├── krnln_Dispatch.cpp │ ├── krnln_DoEvents.cpp │ ├── krnln_FSeek.cpp │ ├── krnln_FileCopy.cpp │ ├── krnln_FileDateTime.cpp │ ├── krnln_FileLen.cpp │ ├── krnln_FileMove.cpp │ ├── krnln_GetAllPY.cpp │ ├── krnln_GetAttr.cpp │ ├── krnln_GetBackColor.cpp │ ├── krnln_GetBinElement.cpp │ ├── krnln_GetBinRegItem.cpp │ ├── krnln_GetClipBoardText.cpp │ ├── krnln_GetCmdLine.cpp │ ├── krnln_GetColorCount.cpp │ ├── krnln_GetCursorHorzPos.cpp │ ├── krnln_GetCursorVertPos.cpp │ ├── krnln_GetDataTypeSize.cpp │ ├── krnln_GetDatePart.cpp │ ├── krnln_GetDaysOfSpecMonth.cpp │ ├── krnln_GetDiskFreeSpace.cpp │ ├── krnln_GetDiskLabel.cpp │ ├── krnln_GetDiskTotalSpace.cpp │ ├── krnln_GetEnv.cpp │ ├── krnln_GetHDiskCode.cpp │ ├── krnln_GetHostName.cpp │ ├── krnln_GetIntInsideBin.cpp │ ├── krnln_GetKeyText.cpp │ ├── krnln_GetLastError.cpp │ ├── krnln_GetNumRegItem.cpp │ ├── krnln_GetRunFileName.cpp │ ├── krnln_GetRunPath.cpp │ ├── krnln_GetRuntimeDataType.cpp │ ├── krnln_GetScreenHeight.cpp │ ├── krnln_GetScreenWidth.cpp │ ├── krnln_GetSectionNames.cpp │ ├── krnln_GetSpecTime.cpp │ ├── krnln_GetSysVer.cpp │ ├── krnln_GetTempFileName.cpp │ ├── krnln_GetTextRegItem.cpp │ ├── krnln_GetTickCount.cpp │ ├── krnln_GetTimePart.cpp │ ├── krnln_GetWinPic.cpp │ ├── krnln_HostNameToIP.cpp │ ├── krnln_IDiv.cpp │ ├── krnln_IPToHostName.cpp │ ├── krnln_InBin.cpp │ ├── krnln_InBinRev.cpp │ ├── krnln_InStr.cpp │ ├── krnln_InStrRev.cpp │ ├── krnln_InputBox.cpp │ ├── krnln_InsBin.cpp │ ├── krnln_InsLine.cpp │ ├── krnln_InsText.cpp │ ├── krnln_IsCalcOK.cpp │ ├── krnln_IsDebugVer.cpp │ ├── krnln_IsFileExist.cpp │ ├── krnln_IsHaveTextInClip.cpp │ ├── krnln_IsRegItemExist.cpp │ ├── krnln_LCase.cpp │ ├── krnln_LTrim.cpp │ ├── krnln_MakeLong.cpp │ ├── krnln_MakeWord.cpp │ ├── krnln_MkDir.cpp │ ├── krnln_MsgBox.cpp │ ├── krnln_NumToRMB.cpp │ ├── krnln_NumToText.cpp │ ├── krnln_OpenManyFileDialog.cpp │ ├── krnln_OpenMemFile.cpp │ ├── krnln_PlayMID.cpp │ ├── krnln_PlayMusic.cpp │ ├── krnln_PlayStop.cpp │ ├── krnln_PutEnv.cpp │ ├── krnln_QJCase.cpp │ ├── krnln_RTrim.cpp │ ├── krnln_ReadBin.cpp │ ├── krnln_ReadFile.cpp │ ├── krnln_ReadLine.cpp │ ├── krnln_ReadText.cpp │ ├── krnln_RemoveData.cpp │ ├── krnln_ReplaceText.cpp │ ├── krnln_RestroeCursor.cpp │ ├── krnln_ReverseIntBytes.cpp │ ├── krnln_RmDir.cpp │ ├── krnln_RpBin.cpp │ ├── krnln_RpSubBin.cpp │ ├── krnln_RpSubText.cpp │ ├── krnln_RunConsoleApp.cpp │ ├── krnln_SaveRegItem.cpp │ ├── krnln_SeekToBegin.cpp │ ├── krnln_SeekToEnd.cpp │ ├── krnln_SetAttr.cpp │ ├── krnln_SetClipBoardText.cpp │ ├── krnln_SetDiskLabel.cpp │ ├── krnln_SetIntInsideBin.cpp │ ├── krnln_SetKeyText.cpp │ ├── krnln_SetSysTime.cpp │ ├── krnln_SetWaitCursor.cpp │ ├── krnln_SortAry.cpp │ ├── krnln_SpaceBin.cpp │ ├── krnln_SplitBin.cpp │ ├── krnln_StrComp.cpp │ ├── krnln_StrToUTF8.cpp │ ├── krnln_TimeChg.cpp │ ├── krnln_TimeDiff.cpp │ ├── krnln_TimePart.cpp │ ├── krnln_TimeToText.cpp │ ├── krnln_ToBin.cpp │ ├── krnln_ToByte.cpp │ ├── krnln_ToFloat.cpp │ ├── krnln_ToInt.cpp │ ├── krnln_ToLong.cpp │ ├── krnln_ToShort.cpp │ ├── krnln_ToTime.cpp │ ├── krnln_TrimAll.cpp │ ├── krnln_UCase.cpp │ ├── krnln_UNum.cpp │ ├── krnln_UTF8ToStr.cpp │ ├── krnln_Unlock.cpp │ ├── krnln_Variant.cpp │ ├── krnln_WeekDay.cpp │ ├── krnln_WriteBin.cpp │ ├── krnln_WriteFile.cpp │ ├── krnln_WriteLine.cpp │ ├── krnln_WriteMem.cpp │ ├── krnln_WriteText.cpp │ ├── krnln_ZeroAry.cpp │ ├── krnln_abs.cpp │ ├── krnln_asc.cpp │ ├── krnln_atn.cpp │ ├── krnln_band.cpp │ ├── krnln_beep.cpp │ ├── krnln_bin.cpp │ ├── krnln_bnot.cpp │ ├── krnln_bor.cpp │ ├── krnln_bxor.cpp │ ├── krnln_chr.cpp │ ├── krnln_close.cpp │ ├── krnln_cos.cpp │ ├── krnln_create.cpp │ ├── krnln_day.cpp │ ├── krnln_exp.cpp │ ├── krnln_feof.cpp │ ├── krnln_fgets.cpp │ ├── krnln_fix.cpp │ ├── krnln_fputs.cpp │ ├── krnln_hex.cpp │ ├── krnln_hour.cpp │ ├── krnln_int.cpp │ ├── krnln_kill.cpp │ ├── krnln_left.cpp │ ├── krnln_len.cpp │ ├── krnln_like.cpp │ ├── krnln_loc.cpp │ ├── krnln_lock.cpp │ ├── krnln_lof.cpp │ ├── krnln_log.cpp │ ├── krnln_mid.cpp │ ├── krnln_minute.cpp │ ├── krnln_mod.cpp │ ├── krnln_month.cpp │ ├── krnln_name.cpp │ ├── krnln_now.cpp │ ├── krnln_oct.cpp │ ├── krnln_open.cpp │ ├── krnln_p2double.cpp │ ├── krnln_p2float.cpp │ ├── krnln_p2int.cpp │ ├── krnln_pbin.cpp │ ├── krnln_ping.cpp │ ├── krnln_pow.cpp │ ├── krnln_pstr.cpp │ ├── krnln_randomize.cpp │ ├── krnln_read.cpp │ ├── krnln_reset.cpp │ ├── krnln_rgb.cpp │ ├── krnln_right.cpp │ ├── krnln_rnd.cpp │ ├── krnln_round.cpp │ ├── krnln_run.cpp │ ├── krnln_second.cpp │ ├── krnln_sgn.cpp │ ├── krnln_shl.cpp │ ├── krnln_shr.cpp │ ├── krnln_sin.cpp │ ├── krnln_sleep.cpp │ ├── krnln_space.cpp │ ├── krnln_split.cpp │ ├── krnln_sqr.cpp │ ├── krnln_str.cpp │ ├── krnln_string.cpp │ ├── krnln_tan.cpp │ ├── krnln_trim.cpp │ ├── krnln_val.cpp │ ├── krnln_write.cpp │ ├── krnln_year.cpp │ ├── lib.h │ ├── lib2.h │ ├── md5t.cpp │ ├── md5t.h │ ├── mem.cpp │ ├── mem.h │ ├── midi.cpp │ ├── midi.h │ └── replaceText.cpp ├── krnln_VC6.dsw └── krnln_VS2019.sln
SYMBOL INDEX (489 symbols across 253 files)
FILE: MFCObj/BlackMoonMFCdll.cpp
function BOOL (line 52) | BOOL CMFCBlackMoonDLLApp::InitInstance()
FILE: MFCObj/EyMFCComInit.cpp
function E_Init (line 17) | void _cdecl E_Init(){
function E_DestroyRes (line 24) | void _cdecl E_DestroyRes(){
FILE: MFCObj/EyMFCComInit.h
function class (line 19) | class CMFCBlackMoonDLLApp : public CWinApp
FILE: MFCObj/MFCBlackMoon.cpp
function BOOL (line 69) | BOOL CMFCBlackMoonApp::InitInstance()
FILE: MFCObj/MFCBlackMoon.h
function class (line 22) | class CMFCBlackMoonApp : public CWinApp
FILE: MFCObj/MFCBlackMoonCon.cpp
function _tmain (line 29) | int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
FILE: krnln/BlackMoonCallPropertyVaule.cpp
function EXTERN_C (line 3) | EXTERN_C void _cdecl BlackMoonGetClassPropertyVaule(
function EXTERN_C (line 28) | EXTERN_C void _cdecl BlackMoonSetClassPropertyVaule(
FILE: krnln/BlackMoonCallUserDll.cpp
function BlackMoonFreeALLUserDllFunc (line 7) | void BlackMoonFreeALLUserDllFunc(){
FILE: krnln/BlackMoonDll.cpp
function DllMain (line 11) | int __stdcall DllMain( HANDLE hModule,
FILE: krnln/BlackMoonDll2.cpp
function DllMain (line 15) | int __stdcall DllMain( HANDLE hModule,
FILE: krnln/BlackMoonExe.cpp
function BMEntrypoint (line 9) | int _cdecl BMEntrypoint (){
function WinMain (line 22) | int APIENTRY WinMain(HINSTANCE hInstance,
function main (line 41) | int main(int argc, char* argv[])
FILE: krnln/BlackMoonLibNotifySys.cpp
function EXTERN_C (line 15) | EXTERN_C INT WINAPI BlackMoonFuncForeLibNotifySys(INT nMsg, DWORD dwPara...
function EXTERN_C (line 309) | EXTERN_C INT WINAPI BlackMoonReplac_NotifySys(INT nMsg, DWORD dwParam1, ...
function INT (line 314) | INT WINAPI NotifySys(INT nMsg, DWORD dwParam1, DWORD dwParam2)
function LPBYTE (line 378) | LPBYTE GetAryElementInf(void* pAryData, LPINT pnElementCount)
function INT (line 425) | INT _GetIntByIndex(void* pBase, INT index)
function _SetIntByIndex (line 430) | void _SetIntByIndex(void* pBase, INT index, INT value)
function INT (line 436) | INT GetIntByIndex(PMDATA_INF pArgInf, INT index)
function SetIntByIndex (line 441) | void SetIntByIndex(PMDATA_INF pArgInf, INT index, INT value)
function SetLogfont_CompileLanVer (line 451) | void SetLogfont_CompileLanVer(LPLOGFONT pLogfont)
FILE: krnln/BlackMoonResDll.cpp
function DllMain (line 7) | int __stdcall DllMain( HANDLE hModule,
FILE: krnln/CloneBinData.cpp
function LPBYTE (line 4) | LPBYTE CloneBinData (LPBYTE pData, INT nDataSize)
FILE: krnln/DateTimeFormat.cpp
function DateTimeFormat (line 9) | void DateTimeFormat(LPSTR strValue,DATE dtDt,BOOL bOnlyDatePart)
FILE: krnln/DllEntryFunc.cpp
function PDESTROY (line 5) | PDESTROY DllEntryFunc(){
FILE: krnln/EyComInit.cpp
function E_Init (line 13) | void _cdecl E_Init(){
function E_DestroyRes (line 19) | void _cdecl E_DestroyRes(){
FILE: krnln/EyInit.cpp
function E_Init (line 12) | void _cdecl E_Init(){
function E_DestroyRes (line 20) | void _cdecl E_DestroyRes(){
FILE: krnln/FileManager.cpp
function enterfm (line 10) | void enterfm()
function leavefm (line 20) | void leavefm()
function ResetFileIO (line 26) | void ResetFileIO()
function CloseEfile (line 51) | void CloseEfile(PFILEELEMENT pFile)
function AddFileMangerList (line 91) | void AddFileMangerList(PFILEELEMENT pFile)
FILE: krnln/FreeAryElement.cpp
function FreeAryElement (line 5) | void FreeAryElement (void* pAryData)//ıֽڼЧ
FILE: krnln/GetDataTypeType.cpp
function INT (line 5) | INT GetDataTypeType (DATA_TYPE dtDataType)
FILE: krnln/GetDatePart.cpp
function GetDatePart (line 10) | void GetDatePart(DATE dt,INT& nYear,INT& nMonth,INT& nDay)
function makedb (line 80) | double makedb(double a, double b)
function DATE (line 90) | DATE toMyDate(DATE dt)
function DATE (line 99) | DATE toEDate(DATE dt)
FILE: krnln/GetDaysOfSpecMonth.cpp
function INT (line 3) | INT GetDaysOfSpecMonth(INT nYear,INT nMonth)
FILE: krnln/GetRegRootVal.cpp
function HKEY (line 3) | HKEY GetRegRootVal(INT nVal)
FILE: krnln/GetSpecTime.cpp
function GetSpecDateTime (line 9) | double GetSpecDateTime(INT nYear, INT nMonth, INT nDay, INT nHour,INT nM...
FILE: krnln/GetSysDataTypeDataSize.cpp
function INT (line 5) | INT GetSysDataTypeDataSize (DATA_TYPE dtSysDataType)
FILE: krnln/GetTimePart.cpp
function GetTimePart (line 7) | void GetTimePart(DATE dt,INT& nHour,INT& nMinute,INT& nSecond)
FILE: krnln/GetWeekDay.cpp
function INT (line 6) | INT GetWeekDay(DATE date)
FILE: krnln/HelpFunc12.cpp
function E_CloseFindFile (line 87) | void _cdecl E_CloseFindFile (HANDLE hFile){
FILE: krnln/IsInFileMangerList.cpp
function BOOL (line 5) | BOOL IsInFileMangerList(PFILEELEMENT pFile)
FILE: krnln/LTrimZeroChr.cpp
function LTrimZeroChr (line 4) | void LTrimZeroChr(char* str)
FILE: krnln/MyMemFile.cpp
function BYTE (line 47) | BYTE* CMyMemFile::Detach()
function BYTE (line 69) | BYTE* CMyMemFile::Alloc(DWORD nBytes)
function BYTE (line 74) | BYTE* CMyMemFile::Realloc(BYTE* lpMem, DWORD nBytes)
function DWORD (line 86) | DWORD CMyMemFile::GetPosition() const
function UINT (line 136) | UINT CMyMemFile::Read(void* lpBuf, UINT nCount)
function LONG (line 180) | LONG CMyMemFile::Seek(LONG lOff, UINT nFrom)
function UINT (line 228) | UINT CMyMemFile::GetBufferPtr(UINT nCommand, UINT nCount,
function DWORD (line 268) | DWORD CMyMemFile::GetFileSize()
FILE: krnln/MyMemFile.h
function class (line 12) | class CMyMemFile
FILE: krnln/Myfunctions.cpp
function isSSE2 (line 46) | int __fastcall isSSE2()
function MyMemCmp (line 64) | int inline MyMemCmp(unsigned char* a, unsigned char* b, int len)
function mystrlen_normal (line 83) | static size_t mystrlen_normal(const char* pStr)
function mystrlen_SSE2 (line 115) | static size_t mystrlen_SSE2(const char* pStr)
FILE: krnln/Myfunctions.h
type MEMSP (line 8) | typedef struct _MEMSP_{
type TBRECORD (line 13) | typedef struct _TBRECORD{
function class (line 18) | class TBR
FILE: krnln/NumToChinese.cpp
function BOOL (line 11) | BOOL ReadChnNum(LPSTR pText,LPSTR pStrSrc,LPSTR pNumStr,LPSTR pNumLeven,...
function LPSTR (line 37) | LPSTR IntNumToChn (double dNum,BOOL bSml,INT& nPre)
function LPSTR (line 106) | LPSTR FloatNumToChn (double dNum,BOOL bSml)//ﲻܴ0ֵ
function LPSTR (line 142) | LPSTR FloatNumToRMB (double dNum,BOOL bSml)//ﲻܴ0ֵ
FILE: krnln/StdAfx.h
type DOUBLE (line 22) | typedef double DOUBLE;
type DATE (line 26) | typedef double DATE;
type FILEELEMENT (line 102) | typedef struct
type EYDISPATCH (line 121) | typedef struct
type INT (line 128) | typedef INT (__stdcall*EError_CALLBACK)(int nCode, char* errText);
FILE: krnln/eHelpFunc.cpp
function GetBlackMoonPESizeOfImage (line 14) | void GetBlackMoonPESizeOfImage()
function _cdecl (line 59) | void _cdecl E_End (DWORD Param1){
function E_ReportError (line 79) | void _cdecl E_ReportError (DWORD Param1, DWORD MethodId, DWORD position){
function E_MFree (line 232) | void _cdecl E_MFree (void * Param1){
function E_Destroy (line 267) | void _cdecl E_Destroy (PDESTROY Param1){
function E_HelpFunc12 (line 275) | void _cdecl E_HelpFunc12 (DWORD Param1){
function BlackMoonCalleLibFunctionHelper (line 330) | void BlackMoonCalleLibFunctionHelper(INT nArgCount,MDATA_INF ArgInf,...)
function BlackMoonInitAllElib (line 347) | void BlackMoonInitAllElib(){
function BlackMoonFreeAllElib (line 356) | void BlackMoonFreeAllElib(){
function LIBAPI (line 380) | LIBAPI(void, krnln_SetErrorManger)
function LIBAPI (line 402) | LIBAPI(char*, _krnln_SetDllCmdLoadPath)
FILE: krnln/krnln_BJCase.cpp
function LIBAPI (line 21) | LIBAPI(char*, krnln_BJCase)
FILE: krnln/krnln_BinLeft.cpp
function LIBAPI (line 11) | LIBAPI(void*, krnln_BinLeft)
FILE: krnln/krnln_BinLen.cpp
function LIBAPI (line 10) | LIBAPI(int, krnln_BinLen)
FILE: krnln/krnln_BinMid.cpp
function LIBAPI (line 12) | LIBAPI(void*, krnln_BinMid)
FILE: krnln/krnln_BinRight.cpp
function LIBAPI (line 11) | LIBAPI(void*, krnln_BinRight)
FILE: krnln/krnln_ChDir.cpp
function LIBAPI (line 10) | LIBAPI(BOOL, krnln_ChDir)
FILE: krnln/krnln_ChDrive.cpp
function LIBAPI (line 10) | LIBAPI(BOOL, krnln_ChDrive)
FILE: krnln/krnln_ClearClipBoard.cpp
function LIBAPI (line 9) | LIBAPI(void, krnln_ClearClipBoard)
FILE: krnln/krnln_CryptOpen.cpp
function LIBAPI (line 25) | LIBAPI(void*, krnln_CryptOpen) // δ
FILE: krnln/krnln_CurDir.cpp
function LIBAPI (line 9) | LIBAPI(char*, krnln_CurDir)
FILE: krnln/krnln_DeleteRegItem.cpp
function LIBAPI (line 12) | LIBAPI(BOOL, krnln_DeleteRegItem)
FILE: krnln/krnln_Dispatch.cpp
function LPOLESTR (line 15) | LPOLESTR ASCII2Unicode(LPSTR pAsciiText)
function LPSTR (line 29) | LPSTR Unicode2EASCII(LPOLESTR pBStrText)
function HRESULT (line 43) | HRESULT Dispatch_GetIDsOfNames(LPDISPATCH lpDispatch,LPSTR pszName,DISPI...
function HRESULT (line 87) | HRESULT Dispatch_InvokeHelper(LPDISPATCH lpDispatch,DISPID dwDispID, WOR...
function krnln_DispCopy (line 542) | void _cdecl krnln_DispCopy (INT nArgCount,MDATA_INF ArgInf,...)
function BOOL (line 565) | BOOL _cdecl krnln_DispCreateObject (INT nArgCount,MDATA_INF ArgInf,...)
function BOOL (line 664) | BOOL _cdecl krnln_DispGetObject (INT nArgCount,MDATA_INF ArgInf,...)
function krnln_DispClear (line 696) | void _cdecl krnln_DispClear (INT nArgCount,MDATA_INF ArgInf,...)
function BOOL (line 713) | BOOL _cdecl krnln_DispIsEmpty (INT nArgCount,MDATA_INF ArgInf,...)
function BOOL (line 729) | BOOL _cdecl krnln_DispIsEqual (INT nArgCount,MDATA_INF ArgInf,...)
function krnln_DispGetNumProperty (line 819) | void _cdecl krnln_DispGetNumProperty (INT nArgCount,MDATA_INF ArgInf,...)
function BOOL (line 908) | BOOL _cdecl krnln_DispGetBoolProperty (INT nArgCount,MDATA_INF ArgInf,...)
function krnln_DispGetDateProperty (line 952) | void _cdecl krnln_DispGetDateProperty (INT nArgCount,MDATA_INF ArgInf,...)
function BOOL (line 1115) | BOOL _cdecl krnln_DispSetProperty (INT nArgCount,MDATA_INF ArgInf,...)
function krnln_DispRunMethod (line 1163) | void _cdecl krnln_DispRunMethod (INT nArgCount,MDATA_INF ArgInf,...)
function krnln_DispRunNumMethod (line 1297) | void _cdecl krnln_DispRunNumMethod (INT nArgCount,MDATA_INF ArgInf,...)
function BOOL (line 1385) | BOOL _cdecl krnln_DispRunBoolMethod (INT nArgCount,MDATA_INF ArgInf,...)
function krnln_DispRunDateMethod (line 1429) | void _cdecl krnln_DispRunDateMethod (INT nArgCount,MDATA_INF ArgInf,...)
function BOOL (line 1547) | BOOL _cdecl krnln_DispCreatePicDispObj (INT nArgCount,MDATA_INF ArgInf,...)
function BOOL (line 1664) | BOOL _cdecl krnln_DispQueryInterface (INT nArgCount,MDATA_INF ArgInf,...)
function BOOL (line 1711) | BOOL _cdecl krnln_DispCreateFontDispObj (INT nArgCount,MDATA_INF ArgInf,...
FILE: krnln/krnln_DoEvents.cpp
function LIBAPI (line 9) | LIBAPI(void, krnln_DoEvents)
FILE: krnln/krnln_FSeek.cpp
function LIBAPI (line 13) | LIBAPI(BOOL, krnln_FSeek)
FILE: krnln/krnln_FileCopy.cpp
function LIBAPI (line 12) | LIBAPI(BOOL, krnln_FileCopy)
FILE: krnln/krnln_FileDateTime.cpp
function LIBAPI (line 14) | LIBAPI(void, krnln_FileDateTime) //ֱeaxedxֵָ
FILE: krnln/krnln_FileLen.cpp
function LIBAPI (line 10) | LIBAPI(int, krnln_FileLen)
FILE: krnln/krnln_FileMove.cpp
function LIBAPI (line 11) | LIBAPI(BOOL, krnln_FileMove)
FILE: krnln/krnln_GetAllPY.cpp
function LIBAPI (line 15) | LIBAPI(LPBYTE, krnln_GetAllPY)
function LIBAPI (line 272) | LIBAPI(int, krnln_GetPYCount)
function LIBAPI (line 476) | LIBAPI(char*, krnln_GetPY)
function LIBAPI (line 490) | LIBAPI(char*, krnln_GetSM)
function LIBAPI (line 504) | LIBAPI(char*, krnln_GetYM)
function LIBAPI (line 522) | LIBAPI(BOOL, krnln_CompPY)
function LIBAPI (line 800) | LIBAPI(BOOL, krnln_CompPYCode)
FILE: krnln/krnln_GetAttr.cpp
function LIBAPI (line 10) | LIBAPI(int, krnln_GetAttr)
FILE: krnln/krnln_GetBackColor.cpp
function LIBAPI (line 9) | LIBAPI(int, krnln_GetBackColor)
FILE: krnln/krnln_GetBinElement.cpp
function SetMDataValue (line 15) | void SetMDataValue (PMDATA_INF pRetData, LPBYTE pData, INT nDataSize)
function LIBAPI (line 59) | LIBAPI(void, krnln_GetBinElement) // ֱeax,edx,ecxԲҪֵָ
FILE: krnln/krnln_GetBinRegItem.cpp
function LIBAPI (line 14) | LIBAPI(void*, krnln_GetBinRegItem)
FILE: krnln/krnln_GetClipBoardText.cpp
function LIBAPI (line 9) | LIBAPI(char*, krnln_GetClipBoardText)
FILE: krnln/krnln_GetCmdLine.cpp
function LIBAPI (line 26) | LIBAPI(void, krnln_GetCmdLine)
FILE: krnln/krnln_GetColorCount.cpp
function LIBAPI (line 9) | LIBAPI(int, krnln_GetColorCount)
FILE: krnln/krnln_GetCursorHorzPos.cpp
function LIBAPI (line 9) | LIBAPI(int, krnln_GetCursorHorzPos)
FILE: krnln/krnln_GetCursorVertPos.cpp
function LIBAPI (line 9) | LIBAPI(int, krnln_GetCursorVertPos)
FILE: krnln/krnln_GetDataTypeSize.cpp
function LIBAPI (line 11) | LIBAPI(int, krnln_GetDataTypeSize)
FILE: krnln/krnln_GetDatePart.cpp
function LIBAPI (line 10) | LIBAPI(void, krnln_GetDatePart) // ֱeaxedx,ԲҪֵָ
FILE: krnln/krnln_GetDaysOfSpecMonth.cpp
function LIBAPI (line 11) | LIBAPI(int, krnln_GetDaysOfSpecMonth)
FILE: krnln/krnln_GetDiskFreeSpace.cpp
function LIBAPI (line 12) | LIBAPI(int, krnln_GetDiskFreeSpace)
FILE: krnln/krnln_GetDiskLabel.cpp
function LIBAPI (line 12) | LIBAPI(char*, krnln_GetDiskLabel)
FILE: krnln/krnln_GetDiskTotalSpace.cpp
function LIBAPI (line 11) | LIBAPI(int, krnln_GetDiskTotalSpace)
FILE: krnln/krnln_GetEnv.cpp
function LIBAPI (line 10) | LIBAPI(char*, krnln_GetEnv)
FILE: krnln/krnln_GetHDiskCode.cpp
function LIBAPI (line 9) | LIBAPI(DWORD, krnln_GetHDiskCode)
FILE: krnln/krnln_GetHostName.cpp
function LIBAPI (line 11) | LIBAPI(void*, krnln_GetHostName)
FILE: krnln/krnln_GetIntInsideBin.cpp
function LIBAPI (line 12) | LIBAPI(int, krnln_GetIntInsideBin)
FILE: krnln/krnln_GetKeyText.cpp
function LIBAPI (line 14) | LIBAPI(char*, krnln_GetKeyText)
FILE: krnln/krnln_GetLastError.cpp
function LIBAPI (line 11) | LIBAPI(INT, krnln_GetLastError)
FILE: krnln/krnln_GetNumRegItem.cpp
function LIBAPI (line 14) | LIBAPI(int, krnln_GetNumRegItem)
FILE: krnln/krnln_GetRunFileName.cpp
function LIBAPI (line 10) | LIBAPI(char*, krnln_GetRunFileName)
FILE: krnln/krnln_GetRunPath.cpp
function LIBAPI (line 10) | LIBAPI(char*, krnln_GetRunPath)
FILE: krnln/krnln_GetRuntimeDataType.cpp
function LIBAPI (line 11) | LIBAPI(int, krnln_GetRuntimeDataType)
FILE: krnln/krnln_GetScreenHeight.cpp
function LIBAPI (line 10) | LIBAPI(int, krnln_GetScreenHeight)
FILE: krnln/krnln_GetScreenWidth.cpp
function LIBAPI (line 9) | LIBAPI(int, krnln_GetScreenWidth)
FILE: krnln/krnln_GetSectionNames.cpp
function LIBAPI (line 12) | LIBAPI(void*, krnln_GetSectionNames)
FILE: krnln/krnln_GetSpecTime.cpp
function LIBAPI (line 15) | LIBAPI(void, krnln_GetSpecTime) // ֱeaxeax,ԲҪֵָ
FILE: krnln/krnln_GetSysVer.cpp
type OSVERSIONINFOEX1 (line 6) | struct OSVERSIONINFOEX1
function LIBAPI (line 31) | LIBAPI(int, krnln_GetSysVer)
function LIBAPI (line 78) | LIBAPI(int, krnln_GetSysVer2)
FILE: krnln/krnln_GetTempFileName.cpp
function LIBAPI (line 12) | LIBAPI(char*, krnln_GetTempFileName)
FILE: krnln/krnln_GetTextRegItem.cpp
function LIBAPI (line 14) | LIBAPI(char*, krnln_GetTextRegItem)
FILE: krnln/krnln_GetTickCount.cpp
function LIBAPI (line 9) | LIBAPI(int, krnln_GetTickCount)
FILE: krnln/krnln_GetTimePart.cpp
function LIBAPI (line 10) | LIBAPI(void, krnln_GetTimePart) // ֱEaxedxԲҪֵָ
FILE: krnln/krnln_GetWinPic.cpp
function LIBAPI (line 13) | LIBAPI(void*, krnln_GetWinPic)
FILE: krnln/krnln_HostNameToIP.cpp
function DWORD (line 13) | DWORD MYGetIPbyname(char *HostName)
function LIBAPI (line 25) | LIBAPI(char*, krnln_HostNameToIP)
FILE: krnln/krnln_IDiv.cpp
function LIBAPI (line 11) | LIBAPI(void, krnln_IDiv) // ֱeaxedxԲҪֵָ
FILE: krnln/krnln_IPToHostName.cpp
function LIBAPI (line 13) | LIBAPI(char*, krnln_IPToHostName)
FILE: krnln/krnln_InBin.cpp
function LIBAPI (line 14) | LIBAPI(int, krnln_InBin)
FILE: krnln/krnln_InBinRev.cpp
function MyMemCmp2 (line 3) | int inline MyMemCmp2(unsigned char* a, unsigned char* b, int len)
function LIBAPI (line 30) | LIBAPI(int, krnln_InBinRev)
FILE: krnln/krnln_InStr.cpp
function LIBAPI (line 14) | LIBAPI(int, krnln_InStr)
FILE: krnln/krnln_InStrRev.cpp
function LIBAPI (line 13) | LIBAPI(int, krnln_InStrRev)
FILE: krnln/krnln_InputBox.cpp
function BOOL (line 46) | BOOL CALLBACK BMInputBoxDlgProc( HWND hwndDlg, // handle to dialog box
function LIBAPI (line 155) | LIBAPI(int, krnln_InputBox)
FILE: krnln/krnln_InsBin.cpp
function LIBAPI (line 12) | LIBAPI(BOOL, krnln_InsBin)
FILE: krnln/krnln_InsLine.cpp
function LIBAPI (line 13) | LIBAPI(BOOL, krnln_InsLine)
FILE: krnln/krnln_InsText.cpp
function LIBAPI (line 13) | LIBAPI(BOOL, krnln_InsText)
FILE: krnln/krnln_IsCalcOK.cpp
function LIBAPI (line 11) | LIBAPI(BOOL, krnln_IsCalcOK)
FILE: krnln/krnln_IsDebugVer.cpp
function krnln_IsDebugVer (line 5) | void _cdecl krnln_IsDebugVer (INT nArgCount,MDATA_INF ArgInf,...)
FILE: krnln/krnln_IsFileExist.cpp
function LIBAPI (line 11) | LIBAPI(BOOL, krnln_IsFileExist)
FILE: krnln/krnln_IsHaveTextInClip.cpp
function LIBAPI (line 9) | LIBAPI(BOOL, krnln_IsHaveTextInClip)
FILE: krnln/krnln_IsRegItemExist.cpp
function LIBAPI (line 13) | LIBAPI(BOOL, krnln_IsRegItemExist)
FILE: krnln/krnln_LCase.cpp
function LIBAPI (line 10) | LIBAPI(char*, krnln_LCase)
FILE: krnln/krnln_LTrim.cpp
function LIBAPI (line 12) | LIBAPI(char*, krnln_LTrim)
FILE: krnln/krnln_MakeLong.cpp
function LIBAPI (line 11) | LIBAPI(int, krnln_MakeLong)
FILE: krnln/krnln_MakeWord.cpp
function LIBAPI (line 11) | LIBAPI(int, krnln_MakeWord)
FILE: krnln/krnln_MkDir.cpp
function LIBAPI (line 10) | LIBAPI(BOOL, krnln_MkDir)
FILE: krnln/krnln_MsgBox.cpp
function LIBAPI (line 28) | LIBAPI(int, krnln_MsgBox)
FILE: krnln/krnln_NumToRMB.cpp
function LIBAPI (line 13) | LIBAPI(char*, krnln_NumToRMB)
FILE: krnln/krnln_NumToText.cpp
function LIBAPI (line 15) | LIBAPI(char*, krnln_NumToText)
FILE: krnln/krnln_OpenManyFileDialog.cpp
function LIBAPI (line 20) | LIBAPI(void*, krnln_OpenManyFileDialog)
FILE: krnln/krnln_OpenMemFile.cpp
function LIBAPI (line 9) | LIBAPI(void*, krnln_OpenMemFile)
FILE: krnln/krnln_PlayMID.cpp
type MIDIFILEDATAINFO (line 5) | struct MIDIFILEDATAINFO
function CloseMidiPlayer (line 20) | void CloseMidiPlayer()
function BOOL (line 61) | BOOL IsValidMidiDataPtr(LPBYTE pData)
function BOOL (line 72) | BOOL IsValidMidiFileName(LPSTR pStr)
function INT (line 82) | INT GetMidiDataCount(PMDATA_INF pArgInf,INT nArg)
function BOOL (line 146) | BOOL GetMidiDataFromPtr(LPBYTE pData,INT nIDX)
function BOOL (line 157) | BOOL GetMidiDataFromFile(LPSTR pStr,INT nIDX)
function INT (line 192) | INT GetMidiDataFromArg(PMDATA_INF pArgInf,INT nArg)
function DWORD (line 275) | DWORD WINAPI PlayMidiManager(PVOID pParam)
function LIBAPI (line 330) | LIBAPI(void, krnln_PlayMID)
FILE: krnln/krnln_PlayMusic.cpp
function LIBAPI (line 14) | LIBAPI(BOOL, krnln_PlayMusic)
FILE: krnln/krnln_PlayStop.cpp
function LIBAPI (line 9) | LIBAPI(void, krnln_PlayStop)
FILE: krnln/krnln_PutEnv.cpp
function LIBAPI (line 11) | LIBAPI(int, krnln_PutEnv)
FILE: krnln/krnln_QJCase.cpp
function LIBAPI (line 20) | LIBAPI(char*, krnln_QJCase)
FILE: krnln/krnln_RTrim.cpp
function LIBAPI (line 10) | LIBAPI(char*, krnln_RTrim)
FILE: krnln/krnln_ReadBin.cpp
function LIBAPI (line 12) | LIBAPI(void*, krnln_ReadBin)
FILE: krnln/krnln_ReadFile.cpp
function LIBAPI (line 10) | LIBAPI(void*, krnln_ReadFile)
FILE: krnln/krnln_ReadLine.cpp
function LIBAPI (line 15) | LIBAPI(char*, krnln_ReadLine)
FILE: krnln/krnln_ReadText.cpp
function LIBAPI (line 15) | LIBAPI(char*, krnln_ReadText)
FILE: krnln/krnln_RemoveData.cpp
function LIBAPI (line 12) | LIBAPI(BOOL, krnln_RemoveData)
FILE: krnln/krnln_ReplaceText.cpp
function LIBAPI (line 13) | LIBAPI(char*, krnln_ReplaceText)
FILE: krnln/krnln_RestroeCursor.cpp
function LIBAPI (line 11) | LIBAPI(void, krnln_RestroeCursor)
FILE: krnln/krnln_ReverseIntBytes.cpp
function LIBAPI (line 9) | LIBAPI(int, krnln_ReverseIntBytes)
FILE: krnln/krnln_RmDir.cpp
function BOOL (line 4) | BOOL BlackMoonDeleteDir(LPSTR strDirName)
function LIBAPI (line 54) | LIBAPI(BOOL, krnln_RmDir)
FILE: krnln/krnln_RpBin.cpp
function LIBAPI (line 13) | LIBAPI(void*, krnln_RpBin)
FILE: krnln/krnln_RpSubBin.cpp
function LPBYTE (line 6) | LPBYTE __cdecl krnln_fnRpSubBin(int a2, int a3)
function LIBAPI (line 145) | LIBAPI(void*, krnln_RpSubBin)
FILE: krnln/krnln_RpSubText.cpp
function LIBAPI (line 24) | LIBAPI(char*, krnln_RpSubText)
FILE: krnln/krnln_RunConsoleApp.cpp
function BOOL (line 4) | BOOL __cdecl ReadPepi(HANDLE hFile, TBR* tbr)
function LIBAPI (line 42) | LIBAPI(BOOL, krnln_RunConsoleApp)
FILE: krnln/krnln_SaveRegItem.cpp
function LIBAPI (line 14) | LIBAPI(BOOL, krnln_SaveRegItem)
FILE: krnln/krnln_SeekToBegin.cpp
function LIBAPI (line 10) | LIBAPI(BOOL, krnln_SeekToBegin)
FILE: krnln/krnln_SeekToEnd.cpp
function LIBAPI (line 10) | LIBAPI(BOOL, krnln_SeekToEnd)
FILE: krnln/krnln_SetAttr.cpp
function LIBAPI (line 11) | LIBAPI(BOOL, krnln_SetAttr)
FILE: krnln/krnln_SetClipBoardText.cpp
function LIBAPI (line 12) | LIBAPI(BOOL, krnln_SetClipBoardText)
FILE: krnln/krnln_SetDiskLabel.cpp
function LIBAPI (line 12) | LIBAPI(BOOL, krnln_SetDiskLabel)
FILE: krnln/krnln_SetIntInsideBin.cpp
function LIBAPI (line 12) | LIBAPI(void, krnln_SetIntInsideBin)
FILE: krnln/krnln_SetKeyText.cpp
function LIBAPI (line 13) | LIBAPI(BOOL, krnln_SetKeyText)
FILE: krnln/krnln_SetSysTime.cpp
function LIBAPI (line 13) | LIBAPI(BOOL, krnln_SetSysTime)
FILE: krnln/krnln_SetWaitCursor.cpp
function LIBAPI (line 11) | LIBAPI(void, krnln_SetWaitCursor)
FILE: krnln/krnln_SortAry.cpp
function krnl_MACopyConstAry (line 16) | int __cdecl krnl_MACopyConstAry(int a1, void **a2)
function IsNumDataType (line 78) | int __cdecl IsNumDataType(DWORD a1)
function GetSysDataTypeDataSize (line 88) | int __cdecl GetSysDataTypeDataSize( int a1)
function SortCompare (line 130) | int __cdecl SortCompare(float *a1, unsigned int *a2)
function LIBAPI (line 241) | LIBAPI(void, krnln_SortAry)
FILE: krnln/krnln_SpaceBin.cpp
function LIBAPI (line 10) | LIBAPI(void*, krnln_SpaceBin)
FILE: krnln/krnln_SplitBin.cpp
function LIBAPI (line 13) | LIBAPI(void*, krnln_SplitBin)
FILE: krnln/krnln_StrComp.cpp
function LIBAPI (line 12) | LIBAPI(int, krnln_StrComp)
FILE: krnln/krnln_StrToUTF8.cpp
function LIBAPI (line 9) | LIBAPI(void*, krnln_StrToUTF8)
function LIBAPI (line 52) | LIBAPI(void*, krnln_fnStrToUTF16)
FILE: krnln/krnln_TimeChg.cpp
function LIBAPI (line 17) | LIBAPI(void, krnln_TimeChg)
FILE: krnln/krnln_TimeDiff.cpp
function GetWeekDayNum (line 19) | double GetWeekDayNum(DATE dt)
function LIBAPI (line 31) | LIBAPI(void, krnln_TimeDiff)
FILE: krnln/krnln_TimePart.cpp
function INT (line 12) | INT GetDaysFromYear(DATE date)
function LIBAPI (line 22) | LIBAPI(int, krnln_TimePart)
FILE: krnln/krnln_TimeToText.cpp
function LIBAPI (line 15) | LIBAPI(char*, krnln_TimeToText)
FILE: krnln/krnln_ToBin.cpp
function LPBYTE (line 11) | LPBYTE GetMDataPtr (PMDATA_INF pInf, LPINT pnDataSize)
function IsNumDataType2 (line 56) | int __cdecl IsNumDataType2(DWORD a1)
function GetSysDataTypeDataSize2 (line 65) | int __cdecl GetSysDataTypeDataSize2( int a1)
function LIBAPI (line 105) | LIBAPI(void*, krnln_ToBin)
FILE: krnln/krnln_ToByte.cpp
function LIBAPI (line 10) | LIBAPI(BYTE, krnln_ToByte)
FILE: krnln/krnln_ToFloat.cpp
function LIBAPI (line 9) | LIBAPI(void, krnln_ToFloat)
FILE: krnln/krnln_ToInt.cpp
function LIBAPI (line 10) | LIBAPI(INT, krnln_ToInt)
FILE: krnln/krnln_ToLong.cpp
function LIBAPI (line 10) | LIBAPI(void, krnln_ToLong)
FILE: krnln/krnln_ToShort.cpp
function LIBAPI (line 10) | LIBAPI(SHORT, krnln_ToShort)
FILE: krnln/krnln_ToTime.cpp
function BOOL (line 19) | BOOL StrToTime (double& dbDateTime,LPCSTR pStr)
function LIBAPI (line 294) | LIBAPI(void, krnln_ToTime)
FILE: krnln/krnln_TrimAll.cpp
function LIBAPI (line 10) | LIBAPI(char*, krnln_TrimAll)
FILE: krnln/krnln_UCase.cpp
function LIBAPI (line 11) | LIBAPI(char*, krnln_UCase)
FILE: krnln/krnln_UNum.cpp
function LIBAPI (line 13) | LIBAPI(char*, krnln_UNum)
FILE: krnln/krnln_UTF8ToStr.cpp
function LIBAPI (line 9) | LIBAPI(char*, krnln_UTF8ToStr)
function LIBAPI (line 49) | LIBAPI(char*, krnln_fnUTF16ToStr)
FILE: krnln/krnln_Unlock.cpp
function LIBAPI (line 12) | LIBAPI(BOOL, krnln_Unlock)
FILE: krnln/krnln_Variant.cpp
function BOOL (line 10) | BOOL E_GetVariantElement(PMDATA_INF pArgInf,VARIANTARG * pvargDest)
function LPOLESTR (line 100) | LPOLESTR E_ASCII2Unicode(LPSTR pAsciiText)
function LPSTR (line 116) | LPSTR E_Unicode2ASCII(LPOLESTR pBStrText)
function BOOL (line 130) | BOOL EDataLetToVariant(VARIANTARG * pvargDest,PMDATA_INF pArgInf)
function BOOL (line 206) | BOOL EAryDataToVariant(VARIANTARG * pvargDest,PMDATA_INF pArgInf)
function krnln_VariantCopy (line 328) | void _cdecl krnln_VariantCopy (INT nArgCount,MDATA_INF ArgInf,...)
function krnln_VariantClear (line 345) | void _cdecl krnln_VariantClear (INT nArgCount,MDATA_INF ArgInf,...)
function krnln_VariantGetType (line 377) | int _cdecl krnln_VariantGetType (INT nArgCount,MDATA_INF ArgInf,...)
function krnln_VariantGetElementCount (line 444) | int _cdecl krnln_VariantGetElementCount (INT nArgCount,MDATA_INF ArgInf,...
function krnln_VariantGetNum (line 515) | void _cdecl krnln_VariantGetNum (INT nArgCount,MDATA_INF ArgInf,...)
function BOOL (line 545) | BOOL _cdecl krnln_VariantGetBool (INT nArgCount,MDATA_INF ArgInf,...)
function krnln_VariantGetDateTime (line 572) | void _cdecl krnln_VariantGetDateTime (INT nArgCount,MDATA_INF ArgInf,...)
function BOOL (line 661) | BOOL _cdecl krnln_Variantset (INT nArgCount,MDATA_INF ArgInf,...)
function BOOL (line 779) | BOOL _cdecl krnln_VariantCreateArray (INT nArgCount,MDATA_INF ArgInf,...)
function BOOL (line 876) | BOOL _cdecl krnln_VariantSetType (INT nArgCount,MDATA_INF ArgInf,...)
FILE: krnln/krnln_WeekDay.cpp
function LIBAPI (line 10) | LIBAPI(int, krnln_WeekDay)
FILE: krnln/krnln_WriteBin.cpp
function LIBAPI (line 12) | LIBAPI(BOOL, krnln_WriteBin)
FILE: krnln/krnln_WriteFile.cpp
function LIBAPI (line 11) | LIBAPI(BOOL, krnln_WriteFile)
FILE: krnln/krnln_WriteLine.cpp
function LIBAPI (line 15) | LIBAPI(BOOL, krnln_WriteLine)
FILE: krnln/krnln_WriteMem.cpp
function LIBAPI (line 12) | LIBAPI(void, krnln_WriteMem)
FILE: krnln/krnln_WriteText.cpp
function LIBAPI (line 14) | LIBAPI(BOOL, krnln_WriteText)
FILE: krnln/krnln_ZeroAry.cpp
function LIBAPI (line 10) | LIBAPI(void, krnln_ZeroAry)
FILE: krnln/krnln_abs.cpp
function LIBAPI (line 10) | LIBAPI(void, krnln_abs)
FILE: krnln/krnln_asc.cpp
function LIBAPI (line 11) | LIBAPI(int, krnln_asc)
FILE: krnln/krnln_atn.cpp
function LIBAPI (line 10) | LIBAPI(void, krnln_atn)
FILE: krnln/krnln_band.cpp
function LIBAPI (line 11) | LIBAPI(int, krnln_band)
FILE: krnln/krnln_beep.cpp
function LIBAPI (line 9) | LIBAPI(void, krnln_beep)
FILE: krnln/krnln_bin.cpp
function LIBAPI (line 11) | LIBAPI(void*, krnln_bin)
FILE: krnln/krnln_bnot.cpp
function LIBAPI (line 10) | LIBAPI(int, krnln_bnot)
FILE: krnln/krnln_bor.cpp
function LIBAPI (line 11) | LIBAPI(int, krnln_bor)
FILE: krnln/krnln_bxor.cpp
function LIBAPI (line 11) | LIBAPI(int, krnln_bxor)
FILE: krnln/krnln_chr.cpp
function LIBAPI (line 10) | LIBAPI(char*, krnln_chr)
FILE: krnln/krnln_close.cpp
function LIBAPI (line 10) | LIBAPI(void, krnln_close)
FILE: krnln/krnln_cos.cpp
function LIBAPI (line 10) | LIBAPI(void, krnln_cos)
FILE: krnln/krnln_create.cpp
type _ColumnInfo (line 12) | struct _ColumnInfo//ֶϢ
type EDTDATA (line 23) | struct EDTDATA//EDT
method EDTDATA (line 25) | EDTDATA() {
type EDBDATA (line 38) | struct EDBDATA//EDB
method EDBDATA (line 40) | EDBDATA() {
type COLIMNDATA (line 59) | struct COLIMNDATA//ֶϢ
method COLIMNDATA (line 61) | COLIMNDATA() {
function GetCOLeDateTime (line 74) | double GetCOLeDateTime()//Ϊ¼ԭEDB,Уʱ䣬Ϊ˰EDT
function CreateEdb (line 92) | int CreateEdb(const char* Filename, ColumnInfo* ColumnArry, int ColumnNum)
function Isfullwidthnum (line 349) | bool Isfullwidthnum(const char str, const char str2) {
function Isfullwidthletter (line 356) | bool Isfullwidthletter(const char str, const char str2) {
function BOOL (line 362) | BOOL Isvalidchar(const char* str) {
function BOOL (line 402) | BOOL IsValidName(const char* text) {
function LIBAPI (line 433) | LIBAPI(BOOL, krnln_create)
FILE: krnln/krnln_day.cpp
function LIBAPI (line 10) | LIBAPI(int, krnln_day)
FILE: krnln/krnln_exp.cpp
function LIBAPI (line 10) | LIBAPI(void, krnln_exp) // ֱeaxedxֵֵָ͡
FILE: krnln/krnln_feof.cpp
function LIBAPI (line 13) | LIBAPI(BOOL, krnln_feof)
FILE: krnln/krnln_fgets.cpp
function LIBAPI (line 10) | LIBAPI(char*, krnln_fgets)
FILE: krnln/krnln_fix.cpp
function ProcessDouble2 (line 11) | double __cdecl ProcessDouble2(double a1)
function LIBAPI (line 35) | LIBAPI(int, krnln_fix)
FILE: krnln/krnln_fputs.cpp
function LIBAPI (line 12) | LIBAPI(void, krnln_fputs)
FILE: krnln/krnln_hex.cpp
function LIBAPI (line 10) | LIBAPI(char*, krnln_hex)
FILE: krnln/krnln_hour.cpp
function LIBAPI (line 10) | LIBAPI(int, krnln_hour)
FILE: krnln/krnln_int.cpp
function ProcessDouble (line 11) | double __cdecl ProcessDouble(double a1)
function LIBAPI (line 35) | LIBAPI(int, krnln_int)
FILE: krnln/krnln_kill.cpp
function LIBAPI (line 10) | LIBAPI(BOOL, krnln_kill)
FILE: krnln/krnln_left.cpp
function LIBAPI (line 11) | LIBAPI(char*, krnln_left)
FILE: krnln/krnln_len.cpp
function LIBAPI (line 11) | LIBAPI(int, krnln_len)
FILE: krnln/krnln_like.cpp
function LIBAPI (line 11) | LIBAPI(BOOL, krnln_like)
FILE: krnln/krnln_loc.cpp
function LIBAPI (line 10) | LIBAPI(int, krnln_loc)
FILE: krnln/krnln_lock.cpp
function LIBAPI (line 14) | LIBAPI(BOOL, krnln_lock)
FILE: krnln/krnln_lof.cpp
function LIBAPI (line 10) | LIBAPI(int, krnln_lof)
FILE: krnln/krnln_log.cpp
function LIBAPI (line 10) | LIBAPI(void, krnln_log)
FILE: krnln/krnln_mid.cpp
function LIBAPI (line 12) | LIBAPI(char*, krnln_mid)
FILE: krnln/krnln_minute.cpp
function LIBAPI (line 10) | LIBAPI(int, krnln_minute)
FILE: krnln/krnln_mod.cpp
function LIBAPI (line 11) | LIBAPI(void, krnln_mod)
FILE: krnln/krnln_month.cpp
function LIBAPI (line 11) | LIBAPI(int, krnln_month)
FILE: krnln/krnln_name.cpp
function LIBAPI (line 11) | LIBAPI(BOOL, krnln_name)
FILE: krnln/krnln_now.cpp
function LIBAPI (line 9) | LIBAPI(void, krnln_now)
FILE: krnln/krnln_oct.cpp
function LIBAPI (line 10) | LIBAPI(char*, krnln_oct)
FILE: krnln/krnln_open.cpp
function LIBAPI (line 22) | LIBAPI(void*, krnln_open)
FILE: krnln/krnln_p2double.cpp
function LIBAPI (line 8) | LIBAPI(void, krnln_p2double)
FILE: krnln/krnln_p2float.cpp
function LIBAPI (line 8) | LIBAPI(void, krnln_p2float)
FILE: krnln/krnln_p2int.cpp
function LIBAPI (line 8) | LIBAPI(int, krnln_p2int)
FILE: krnln/krnln_pbin.cpp
function LIBAPI (line 11) | LIBAPI(void*, krnln_pbin)
FILE: krnln/krnln_ping.cpp
type tagIPINFO (line 16) | struct tagIPINFO
type tagICMPECHO (line 25) | struct tagICMPECHO
function DWORD (line 46) | DWORD BMGetIPbyname(char *HostName)
function LIBAPI (line 60) | LIBAPI(int, krnln_ping)
FILE: krnln/krnln_pow.cpp
function LIBAPI (line 11) | LIBAPI(void, krnln_pow)
FILE: krnln/krnln_pstr.cpp
function LIBAPI (line 10) | LIBAPI(char*, krnln_pstr)
FILE: krnln/krnln_randomize.cpp
function LIBAPI (line 10) | LIBAPI(void, krnln_randomize)
FILE: krnln/krnln_read.cpp
function BOOL (line 16) | BOOL ReadFileTextData(HANDLE hFile, LPSTR& pStr, BOOL& bRet)
function BOOL (line 80) | BOOL ReadFileBinData(HANDLE hFile, LPBYTE& pByte, BOOL& bRet)
function BOOL (line 107) | BOOL ReadMemFileTextData(CMyMemFile* pMemFile, LPSTR& pStr)
function BOOL (line 139) | BOOL ReadMemFileBinData(CMyMemFile* pMemFile, LPBYTE& pByte)
function BOOL (line 166) | BOOL ReadFileTextData_Crypt(PFILEELEMENT pFile, LPSTR& pStr, BOOL& bRet)
function BOOL (line 235) | BOOL ReadFileBinData_Crypt(PFILEELEMENT pFile, LPBYTE& pByte, BOOL& bRet)
function LIBAPI (line 269) | LIBAPI(BOOL, krnln_read)
FILE: krnln/krnln_reset.cpp
function LIBAPI (line 11) | LIBAPI(void, krnln_reset)
FILE: krnln/krnln_rgb.cpp
function LIBAPI (line 12) | LIBAPI(int, krnln_rgb)
FILE: krnln/krnln_right.cpp
function LIBAPI (line 11) | LIBAPI(char*, krnln_right)
FILE: krnln/krnln_rnd.cpp
function LIBAPI (line 13) | LIBAPI(int, krnln_rnd)
FILE: krnln/krnln_round.cpp
function round (line 13) | double round(double x)
function LIBAPI (line 18) | LIBAPI(void, krnln_round)
FILE: krnln/krnln_run.cpp
function LIBAPI (line 13) | LIBAPI(BOOL, krnln_run)
FILE: krnln/krnln_second.cpp
function LIBAPI (line 10) | LIBAPI(int, krnln_second)
FILE: krnln/krnln_sgn.cpp
function LIBAPI (line 10) | LIBAPI(int, krnln_sgn)
FILE: krnln/krnln_shl.cpp
function LIBAPI (line 11) | LIBAPI(int, krnln_shl)
FILE: krnln/krnln_shr.cpp
function LIBAPI (line 11) | LIBAPI(int, krnln_shr)
FILE: krnln/krnln_sin.cpp
function LIBAPI (line 11) | LIBAPI(void, krnln_sin)
FILE: krnln/krnln_sleep.cpp
function LIBAPI (line 10) | LIBAPI(void, krnln_sleep)
FILE: krnln/krnln_space.cpp
function LIBAPI (line 10) | LIBAPI(char*, krnln_space)
FILE: krnln/krnln_split.cpp
function LIBAPI (line 18) | LIBAPI(void*, krnln_split)
FILE: krnln/krnln_sqr.cpp
function LIBAPI (line 10) | LIBAPI(void, krnln_sqr)
FILE: krnln/krnln_str.cpp
function LIBAPI (line 38) | LIBAPI(char*, krnln_str)
FILE: krnln/krnln_string.cpp
function LIBAPI (line 11) | LIBAPI(char*, krnln_string)
FILE: krnln/krnln_tan.cpp
function LIBAPI (line 10) | LIBAPI(void, krnln_tan)
FILE: krnln/krnln_trim.cpp
function LIBAPI (line 10) | LIBAPI(char*, krnln_trim)
FILE: krnln/krnln_val.cpp
function LIBAPI (line 10) | LIBAPI(void, krnln_val)
FILE: krnln/krnln_write.cpp
function LIBAPI (line 18) | LIBAPI(BOOL, krnln_write)
FILE: krnln/krnln_year.cpp
function LIBAPI (line 10) | LIBAPI(int, krnln_year)
FILE: krnln/lib.h
type DWORD (line 39) | typedef DWORD DATA_TYPE;
type DATA_TYPE (line 40) | typedef DATA_TYPE* PDATA_TYPE;
type ARG_INFO (line 42) | typedef struct
type CMD_INFO (line 78) | struct CMD_INFO
type CMD_INFO (line 124) | typedef CMD_INFO* PCMD_INFO;
type LIB_DATA_TYPE_ELEMENT (line 126) | struct LIB_DATA_TYPE_ELEMENT
type LIB_DATA_TYPE_ELEMENT (line 150) | typedef LIB_DATA_TYPE_ELEMENT* PLIB_DATA_TYPE_ELEMENT;
type UNIT_PROPERTY (line 167) | struct UNIT_PROPERTY
type UNIT_PROPERTY (line 224) | typedef UNIT_PROPERTY* PUNIT_PROPERTY;
type EVENT_ARG_INFO (line 226) | typedef struct
type EVENT_INFO (line 236) | struct EVENT_INFO
type EVENT_INFO (line 252) | typedef EVENT_INFO* PEVENT_INFO;
type DWORD (line 256) | typedef DWORD HUNIT;
type UNIT_PROPERTY_VALUE (line 331) | typedef UNIT_PROPERTY_VALUE* PUNIT_PROPERTY_VALUE;
type LIB_DATA_TYPE_INFO (line 368) | struct LIB_DATA_TYPE_INFO // ⶨͽṹ
type LIB_DATA_TYPE_INFO (line 424) | typedef LIB_DATA_TYPE_INFO* PLIB_DATA_TYPE_INFO;
type LIB_CONST_INFO (line 428) | struct LIB_CONST_INFO // ⳣݽṹ
type LIB_CONST_INFO (line 445) | typedef LIB_CONST_INFO* PLIB_CONST_INFO;
type MUNIT (line 449) | typedef struct
type MDATA_INF (line 459) | struct MDATA_INF
type MDATA_INF (line 542) | typedef MDATA_INF* PMDATA_INF;
type MDATA (line 553) | struct MDATA
type MDATA (line 564) | typedef MDATA* PMDATA;
type EVENT_NOTIFY (line 566) | struct EVENT_NOTIFY
type EVENT_NOTIFY (line 594) | typedef EVENT_NOTIFY* PEVENT_NOTIFY;
type LIB_INFO (line 723) | typedef struct
type INT (line 806) | typedef INT (*PFN_ADD_IN_FUNC) ();
FILE: krnln/lib2.h
type SHORT (line 63) | typedef SHORT DTBOOL;
type DTBOOL (line 64) | typedef DTBOOL* PDTBOOL;
type DATE (line 68) | typedef DATE* PDATE;
type DWORD (line 148) | typedef DWORD DATA_TYPE;
type DATA_TYPE (line 149) | typedef DATA_TYPE* PDATA_TYPE;
type ARG_INFO (line 171) | typedef struct
type CMD_INFO (line 217) | struct CMD_INFO
type CMD_INFO (line 219) | typedef struct
type CMD_INFO (line 296) | typedef CMD_INFO* PCMD_INFO;
type LIB_DATA_TYPE_ELEMENT (line 299) | typedef struct
type LIB_DATA_TYPE_ELEMENT (line 330) | typedef LIB_DATA_TYPE_ELEMENT* PLIB_DATA_TYPE_ELEMENT;
type UNIT_PROPERTY (line 347) | typedef struct
type UNIT_PROPERTY (line 419) | typedef UNIT_PROPERTY* PUNIT_PROPERTY;
type EVENT_ARG_INFO (line 423) | typedef struct
type EVENT_INFO (line 433) | typedef struct
type EVENT_ARG_INFO2 (line 459) | typedef struct
type EVENT_INFO2 (line 474) | typedef struct
type DWORD (line 498) | typedef DWORD HUNIT;
type LIB_DATA_TYPE_INFO (line 689) | typedef struct // ⶨͽṹ
type LIB_DATA_TYPE_INFO (line 749) | typedef LIB_DATA_TYPE_INFO* PLIB_DATA_TYPE_INFO;
type LIB_CONST_INFO (line 753) | typedef struct // ⳣݽṹ
type LIB_CONST_INFO (line 770) | typedef LIB_CONST_INFO* PLIB_CONST_INFO;
type SYS_NUM_VALUE (line 774) | typedef union
type MUNIT (line 785) | typedef struct
type STATMENT_CALL_DATA (line 792) | typedef struct
type MDATA_INF (line 804) | typedef struct
type MDATA_INF (line 863) | typedef MDATA_INF* PMDATA_INF;
type EVENT_NOTIFY (line 899) | struct EVENT_NOTIFY
type EVENT_NOTIFY2 (line 953) | struct EVENT_NOTIFY2
FILE: krnln/md5t.cpp
function MD5Init (line 93) | void MD5Init (MD5_CTX *context)
function MD5Update (line 102) | void MD5Update (MD5_CTX *context, unsigned char *input, unsigned int inp...
function MD5Final (line 128) | void MD5Final (MD5_CTX *context)
function MD5Transform (line 141) | static void MD5Transform (DWORD state[4], unsigned char block[64])
FILE: krnln/mem.cpp
function BOOL (line 18) | BOOL CFreqMem::IsAllowUseBuf ()
function LPBYTE (line 41) | LPBYTE CFreqMem::Alloc (INT nSize)
function LPBYTE (line 85) | LPBYTE CFreqMem::Realloc (INT nSize)
function BOOL (line 284) | BOOL CFreqMem::EmptyAndRqSpace (INT nSize)
function BOOL (line 414) | BOOL CFreqMem::Insert (INT nOffset, LPBYTE pData, INT nSize)
function BOOL (line 439) | BOOL CFreqMem::AppendSpace (INT nSpaceCount)
function BOOL (line 454) | BOOL CFreqMem::Append (LPBYTE pData, INT nSize)
function BOOL (line 473) | BOOL CFreqMem::Replace (INT nOffset, INT nSize, LPBYTE pReplaceData, INT...
function BOOL (line 525) | BOOL CFreqMem::Remove (INT nOffset, INT nSize)
function BOOL (line 564) | BOOL CMyDWordArray::SetSize (INT nNewSize)
function INT (line 585) | INT FindInt (LPINT pnTable, INT nCount, INT nFind)
function BOOL (line 590) | BOOL IsEmptyStr (LPTSTR szStr)
function MoveMem (line 595) | void MoveMem (LPBYTE pDest, LPBYTE pSrc, DWORD dwLength)
function CopyMem (line 609) | void CopyMem (LPBYTE pDest, LPBYTE pSrc, DWORD dwLength)
function ZeroMem (line 623) | void ZeroMem (LPBYTE pDest, DWORD dwLength)
function INT (line 637) | INT tcsallbytes (LPTSTR pstr)
function INT (line 671) | INT tcsbytes (LPTSTR pstr)
FILE: krnln/mem.h
type MEM_BUF (line 29) | struct MEM_BUF
type MEM_BUF (line 35) | typedef MEM_BUF* PMEM_BUF;
function class (line 42) | class CFreqMem
function class (line 170) | class CMyDWordArray : public CFreqMem
function InsertAt (line 236) | void InsertAt (INT nIndex, DWORD dwElement)
FILE: krnln/midi.cpp
type MIDIFILEHDR (line 52) | struct MIDIFILEHDR
function BOOL (line 161) | BOOL CMIDI::Create(LPVOID pSoundData, DWORD dwSize)
function BOOL (line 245) | BOOL CMIDI :: Play(BOOL bInfinite /* = FALSE */) {
function BOOL (line 275) | BOOL CMIDI :: Stop(BOOL bReOpen /*=TRUE*/) {
function BOOL (line 330) | BOOL CMIDI :: Pause() {
function BOOL (line 339) | BOOL CMIDI :: Continue() {
function BOOL (line 348) | BOOL CMIDI :: Rewind() {
function DWORD (line 377) | DWORD CMIDI :: GetChannelCount() const {
function DWORD (line 389) | DWORD CMIDI :: GetVolume() const {
function DWORD (line 415) | DWORD CMIDI :: GetChannelVolume(DWORD dwChannel) const {
function DWORD (line 427) | DWORD CMIDI :: GetTempo() const {
function BOOL (line 588) | BOOL CMIDI :: GetTrackEvent(TRACK * ptsTrack, TEMPEVENT * pteTemp) {
function BOOL (line 755) | BOOL CMIDI :: GetTrackVDWord(TRACK * ptsTrack, LPDWORD lpdw) {
function BOOL (line 922) | BOOL CMIDI :: StreamBufferSetup() {
FILE: krnln/midi.h
type TRACK (line 91) | struct TRACK
function DWORD (line 183) | DWORD GetChannelCount() const;
FILE: krnln/replaceText.cpp
function BOOL (line 91) | BOOL replaceText(LPSTR& pDest,LPSTR pSub,LPSTR pRplStr,BOOL bNeedFree){
Condensed preview — 290 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (878K chars).
[
{
"path": ".github/workflows/blackmoon_krnln.yml",
"chars": 899,
"preview": "name: BlackMoon Krnln\r\n\r\non:\r\n push:\r\n branches: [master]\r\n pull_request:\r\n branches: [master]\r\n\r\njobs:\r\n bmkrn"
},
{
"path": ".github/workflows/blackmoon_krnlnobj.yml",
"chars": 919,
"preview": "name: BlackMoon Krnln OBJ\r\n\r\non:\r\n push:\r\n branches: [master]\r\n pull_request:\r\n branches: [master]\r\n\r\njobs:\r\n b"
},
{
"path": ".github/workflows/blackmoon_mfc.yml",
"chars": 903,
"preview": "name: BlackMoon MFC\r\n\r\non:\r\n push:\r\n branches: [master]\r\n pull_request:\r\n branches: [master]\r\n\r\njobs:\r\n bmmfc-d"
},
{
"path": ".gitignore",
"chars": 181,
"preview": "*.ncb\n*.opt\n*.plg\n*.suo\n.vs/*\nRelease/*\nDebug/*\nProject/krnln_VS2005.vcproj.*\nProject/krnln_VS2005_Obj.vcproj.*\nProject/"
},
{
"path": "LICENSE",
"chars": 1532,
"preview": "BSD 3-Clause License\r\n\r\nCopyright (c) 2019, 钟建华\r\nAll rights reserved.\r\n\r\nRedistribution and use in source and binary for"
},
{
"path": "MFCObj/BlackMoonMFCdll.cpp",
"chars": 2143,
"preview": "\r\n#include \"stdafx.h\"\r\n#include \"EyMFCComInit.h\"\r\n//#define _EDLLMAIN\r\n#ifdef _DEBUG\r\n#define new DEBUG_NEW\r\n#undef THIS"
},
{
"path": "MFCObj/EyMFCComInit.cpp",
"chars": 676,
"preview": "#include \"stdafx.h\"\r\ntypedef void (*PDESTROY)(void);\r\nextern \"C\" PDESTROY DestroyAddress;\r\n\r\nextern \"C\" PDESTROY HFileDe"
},
{
"path": "MFCObj/EyMFCComInit.h",
"chars": 1333,
"preview": "#if !defined(AFX_MFCBLACKMOON_H__66A6D0ED_F1AB_4149_9834_F05CAE45D193__INCLUDED_)\r\n#define AFX_MFCBLACKMOON_H__66A6D0ED_"
},
{
"path": "MFCObj/MFCBlackMoon.cpp",
"chars": 2328,
"preview": "// MFCBlackMoon.cpp : Defines the initialization routines for the DLL.\r\n//\r\n\r\n#include \"stdafx.h\"\r\n#include \"MFCBlackMoo"
},
{
"path": "MFCObj/MFCBlackMoon.def",
"chars": 202,
"preview": "; MFCBlackMoon.def : Declares the module parameters for the DLL.\r\n\r\nLIBRARY \"MFCBlackMoon\"\r\nDESCRIPTION 'MFCBlackM"
},
{
"path": "MFCObj/MFCBlackMoon.h",
"chars": 1362,
"preview": "// MFCBlackMoon.h : main header file for the MFCBLACKMOON DLL\r\n//\r\n\r\n#if !defined(AFX_MFCBLACKMOON_H__66A6D0ED_F1AB_4149"
},
{
"path": "MFCObj/MFCBlackMoon.rc",
"chars": 3094,
"preview": "// Microsoft Visual C++ generated resource script.\r\n//\r\n#include \"resource.h\"\r\n\r\n#define APSTUDIO_READONLY_SYMBOLS\r\n////"
},
{
"path": "MFCObj/MFCBlackMoonCon.cpp",
"chars": 1293,
"preview": "// test.cpp : Defines the entry point for the console application.\r\n//\r\n#include \"stdafx.h\"\r\n#include <iostream>\r\n\r\n#ifd"
},
{
"path": "MFCObj/Resource.h",
"chars": 384,
"preview": "//{{NO_DEPENDENCIES}}\r\n// Microsoft Visual C++ generated include file.\r\n// Used by MFCBLACKMOON.RC\r\n//\r\n\r\n// Next defaul"
},
{
"path": "MFCObj/StdAfx.cpp",
"chars": 214,
"preview": "// stdafx.cpp : source file that includes just the standard includes\r\n//\tMFCBlackMoon.pch will be the pre-compiled heade"
},
{
"path": "MFCObj/StdAfx.h",
"chars": 1597,
"preview": "// stdafx.h : include file for standard system include files,\r\n// or project specific include files that are used frequ"
},
{
"path": "MFCObj/res/MFCBlackMoon.rc2",
"chars": 404,
"preview": "//\r\n// MFCBLACKMOON.RC2 - resources Microsoft Visual C++ does not edit directly\r\n//\r\n\r\n#ifdef APSTUDIO_INVOKED\r\n\t#error "
},
{
"path": "Project/MFCBlackMoon_VC6.clw",
"chars": 437,
"preview": "; CLW file contains information for the MFC ClassWizard\r\n\r\n[General Info]\r\nVersion=1\r\nClassCount=1\r\nClass1=CMFCBlackMoon"
},
{
"path": "Project/MFCBlackMoon_VC6.dsp",
"chars": 5687,
"preview": "# Microsoft Developer Studio Project File - Name=\"MFCBlackMoon\" - Package Owner=<4>\r\n# Microsoft Developer Studio Genera"
},
{
"path": "Project/MFCBlackMoon_VS2019.vcxproj",
"chars": 15458,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<Project DefaultTargets=\"Build\" xmlns=\"http://schemas.microsoft.com/developer/ms"
},
{
"path": "Project/MFCBlackMoon_VS2019.vcxproj.filters",
"chars": 2111,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<Project ToolsVersion=\"4.0\" xmlns=\"http://schemas.microsoft.com/developer/msbui"
},
{
"path": "Project/MFCBlackMoon_VS2019.vcxproj.user",
"chars": 166,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<Project ToolsVersion=\"Current\" xmlns=\"http://schemas.microsoft.com/developer/m"
},
{
"path": "Project/krnln_VC6.dsp",
"chars": 22559,
"preview": "# Microsoft Developer Studio Project File - Name=\"krnln\" - Package Owner=<4>\r\n# Microsoft Developer Studio Generated Bui"
},
{
"path": "Project/krnln_VC6_Obj.dsp",
"chars": 3453,
"preview": "# Microsoft Developer Studio Project File - Name=\"krnln_Obj\" - Package Owner=<4>\r\n# Microsoft Developer Studio Generated"
},
{
"path": "Project/krnln_VS2019.vcxproj",
"chars": 22395,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<Project DefaultTargets=\"Build\" xmlns=\"http://schemas.microsoft.com/developer/ms"
},
{
"path": "Project/krnln_VS2019.vcxproj.filters",
"chars": 25716,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<Project ToolsVersion=\"4.0\" xmlns=\"http://schemas.microsoft.com/developer/msbui"
},
{
"path": "Project/krnln_VS2019.vcxproj.user",
"chars": 464,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<Project ToolsVersion=\"Current\" xmlns=\"http://schemas.microsoft.com/developer/m"
},
{
"path": "Project/krnln_VS2019_Obj.vcxproj",
"chars": 8625,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<Project DefaultTargets=\"Build\" xmlns=\"http://schemas.microsoft.com/developer/ms"
},
{
"path": "Project/krnln_VS2019_Obj.vcxproj.filters",
"chars": 1550,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<Project ToolsVersion=\"4.0\" xmlns=\"http://schemas.microsoft.com/developer/msbui"
},
{
"path": "Project/krnln_VS2019_Obj.vcxproj.user",
"chars": 166,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<Project ToolsVersion=\"Current\" xmlns=\"http://schemas.microsoft.com/developer/m"
},
{
"path": "README.md",
"chars": 1588,
"preview": "## 黑月核心静态库\n\n[;\r\nextern HANDLE hBlackMoonI"
},
{
"path": "krnln/BlackMoonDll2.cpp",
"chars": 823,
"preview": "#include \"stdafx.h\"\r\nINT nBMProtectESP = 0;\r\nINT nBMProtectEBP = 0;\r\nPDESTROY DllEntryFunc();\r\nextern HANDLE hBlackMoonI"
},
{
"path": "krnln/BlackMoonExe.cpp",
"chars": 919,
"preview": "#include \"stdafx.h\"\r\nextern \"C\" int ECodeStart();\r\n//BOOL bIsEnterFromBMEntrypoint = FALSE;\r\nINT nBMProtectESP = 0;\r\nINT"
},
{
"path": "krnln/BlackMoonLibNotifySys.cpp",
"chars": 9886,
"preview": "#include \"stdafx.h\"\r\n\r\n#pragma comment(lib,\"gdi32.lib\") \r\n#pragma comment(lib,\"winspool.lib\") \r\n#pragma comment(lib,\"com"
},
{
"path": "krnln/BlackMoonResDll.cpp",
"chars": 218,
"preview": "#include \"stdafx.h\"\r\n\r\n\r\nextern \"C\" {\r\n\r\n\r\n\tint __stdcall DllMain( HANDLE hModule, \r\n DWORD ul_re"
},
{
"path": "krnln/CloneBinData.cpp",
"chars": 337,
"preview": "#include \"StdAfx.h\"\r\n\r\n// ʹָݽ׳ʹõֽڼݡ\r\nLPBYTE CloneBinData (LPBYTE pData, INT nDataSize)\r\n{\r\n\tif (nDataSize == 0)\r\n\t\tretur"
},
{
"path": "krnln/CloneTextData.cpp",
"chars": 598,
"preview": "#include \"StdAfx.h\"\r\n#include \"Myfunctions.h\"\r\n\r\n// ʹָıݽ׳ʹõıݡ\r\n// nTextLenָıֵijȣ㣩\r\n// Ϊ-1ȡpsȫȡ\r\nchar* CloneTextData (ch"
},
{
"path": "krnln/DateTimeFormat.cpp",
"chars": 771,
"preview": "#include \"stdafx.h\"\r\n#include <stdio.h>\r\n#include <math.h>\r\n\r\n#include <oleauto.h>\r\n#pragma comment(lib, \"OleAut32.lib\")"
},
{
"path": "krnln/DllEntryFunc.cpp",
"chars": 312,
"preview": "#include \"stdafx.h\"\r\n\r\n\r\nextern \"C\" PDESTROY ECodeStart();\r\nPDESTROY DllEntryFunc(){\r\n\tDWORD dwReturn;//ҪĴȻʱ\r\n\t__asm{\r\n "
},
{
"path": "krnln/EyComInit.cpp",
"chars": 562,
"preview": "#include \"stdafx.h\"\r\n\r\nextern \"C\" PDESTROY DestroyAddress;\r\n\r\nextern \"C\" PDESTROY HFileDestroyAddress;\r\n\r\nextern \"C\" PDE"
},
{
"path": "krnln/EyInit.cpp",
"chars": 546,
"preview": "#include \"stdafx.h\"\r\n\r\nextern \"C\" PDESTROY DestroyAddress;\r\n\r\nextern \"C\" PDESTROY HFileDestroyAddress;\r\n\r\nextern \"C\" PDE"
},
{
"path": "krnln/FileManager.cpp",
"chars": 1918,
"preview": "#include \"stdafx.h\"\r\n#include \"MyMemFile.h\"\r\n\r\nPFILEELEMENT pFileList = NULL;\r\nextern \"C\" PDESTROY HFileDestroyAddress;\r"
},
{
"path": "krnln/FreeAryElement.cpp",
"chars": 383,
"preview": "#include \"stdafx.h\"\r\n\r\n\r\n\r\nvoid FreeAryElement (void* pAryData)//ıֽڼЧ\r\n{\r\n\tDWORD AryElementCount = 0;\r\n\tLPINT* pArryPtr "
},
{
"path": "krnln/GetAryElementInf.cpp",
"chars": 443,
"preview": "#include \"stdafx.h\"\r\n\r\nvoid* GetAryElementInf(void* pAryData ,DWORD& AryElementCount)\r\n{\r\n LPINT pnData;\r\n INT nAr"
},
{
"path": "krnln/GetDataTypeType.cpp",
"chars": 330,
"preview": "#include \"StdAfx.h\"\r\n\r\n\r\n// ȡ͵\r\nINT GetDataTypeType (DATA_TYPE dtDataType)\r\n{\r\n\tif (dtDataType == _SDT_NULL)\r\n\t\treturn D"
},
{
"path": "krnln/GetDatePart.cpp",
"chars": 1921,
"preview": "#include \"stdafx.h\"\r\n#include <math.h>\r\n#include <stdio.h>\r\n#include <oleauto.h>\r\n#pragma comment(lib, \"OleAut32.lib\")\r\n"
},
{
"path": "krnln/GetDaysOfSpecMonth.cpp",
"chars": 253,
"preview": "#include \"stdafx.h\"\r\n\r\nINT GetDaysOfSpecMonth(INT nYear,INT nMonth)\r\n{\r\n\tDWORD nMonDay [12] = {31,28,31,30,31,30,31,31,3"
},
{
"path": "krnln/GetRegRootVal.cpp",
"chars": 378,
"preview": "#include \"stdafx.h\"\r\n// 1#ࣻ 2#ã 3#û 4#ػ 5#û\r\nHKEY GetRegRootVal(INT nVal)\r\n{\r\n\tHKEY hkey = NULL;\r\n\tswitch(nVal)\r\n\t{\r\n\tca"
},
{
"path": "krnln/GetSpecTime.cpp",
"chars": 1946,
"preview": "#include \"stdafx.h\"\r\n#include <math.h>\r\n\r\n#include <oleauto.h>\r\n#pragma comment(lib, \"OleAut32.lib\")\r\n\r\n//ȡָʱ ʱֵȷ\r\n//189"
},
{
"path": "krnln/GetSysDataTypeDataSize.cpp",
"chars": 959,
"preview": "#include \"StdAfx.h\"\r\n\r\n\r\n// \r\nINT GetSysDataTypeDataSize (DATA_TYPE dtSysDataType)\r\n{\r\n\tASSERT (sizeof (DWORD) == 4);\r\n\t"
},
{
"path": "krnln/GetTimePart.cpp",
"chars": 499,
"preview": "#include \"stdafx.h\"\r\n#include <math.h>\r\n#include <oleauto.h>\r\n#pragma comment(lib, \"OleAut32.lib\")\r\n\r\n//ȡʱ䲿,1Ϊֻʱ䲿ֵDATE\r\n"
},
{
"path": "krnln/GetWeekDay.cpp",
"chars": 344,
"preview": "#include \"stdafx.h\"\r\n#include <math.h>\r\n#include <oleauto.h>\r\n#pragma comment(lib, \"OleAut32.lib\")\r\n\r\nINT GetWeekDay(DAT"
},
{
"path": "krnln/HelpFunc12.cpp",
"chars": 2183,
"preview": "#include \"stdafx.h\"\r\n#include \"Myfunctions.h\"\r\n\r\nextern \"C\" {\r\n\r\n\tchar* _cdecl E_FindFile (LPCSTR strFile,UINT nAttrib,"
},
{
"path": "krnln/IsInFileMangerList.cpp",
"chars": 335,
"preview": "#include \"stdafx.h\"\r\n\r\nextern PFILEELEMENT pFileList;\r\n\r\nBOOL IsInFileMangerList(PFILEELEMENT pFile)\r\n{\r\n\tPFILEELEMENT p"
},
{
"path": "krnln/LTrimZeroChr.cpp",
"chars": 769,
"preview": "#include \"stdafx.h\"\r\n//#include \"Myfunctions.h\"\r\n\r\nvoid LTrimZeroChr(char* str)\r\n{\r\n\tchar *z = NULL;\r\n\tchar *p = NULL;\r\n"
},
{
"path": "krnln/LTrimZeroChr.h",
"chars": 29,
"preview": "void LTrimZeroChr(char* str);"
},
{
"path": "krnln/MyMemFile.cpp",
"chars": 5502,
"preview": "// MyMemFile.cpp: implementation of the CMyMemFile class.\r\n//\r\n/////////////////////////////////////////////////////////"
},
{
"path": "krnln/MyMemFile.h",
"chars": 1995,
"preview": "// MyMemFile.h: interface for the CMyMemFile class.\r\n//\r\n///////////////////////////////////////////////////////////////"
},
{
"path": "krnln/Myfunctions.cpp",
"chars": 18541,
"preview": "#include \"stdafx.h\"\r\n#include \"Myfunctions.h\"\r\n#include <stdio.h>\r\n#define MAX(x, y) (x) > (y) ? (x) : (y)\r\n\r\nunsigned c"
},
{
"path": "krnln/Myfunctions.h",
"chars": 1414,
"preview": "#ifndef _MY_FUNCS_\r\n#define _MY_FUNCS_\r\n\r\n#if _MSC_VER > 1000\r\n#pragma once\r\n#endif // _MSC_VER > 1000\r\n\r\ntypedef struct"
},
{
"path": "krnln/NumToChinese.cpp",
"chars": 3114,
"preview": "#include \"stdafx.h\"\r\n#include <stdio.h>\r\n#include <math.h>\r\n#include \"Myfunctions.h\"\r\n\r\nchar bigChn []= \"\\0Ҽ\\0\\0\\0\\0\\0½\\"
},
{
"path": "krnln/SDataToStr.cpp",
"chars": 1091,
"preview": "#include \"stdafx.h\"\r\n#include <stdio.h>\r\n#include \"LTrimZeroChr.h\"\r\n#include \"Myfunctions.h\"\r\nchar* SDataToStr(PMDATA_IN"
},
{
"path": "krnln/StdAfx.cpp",
"chars": 203,
"preview": "// stdafx.cpp : source file that includes just the standard includes\r\n//\tkrnln.pch will be the pre-compiled header\r\n//\ts"
},
{
"path": "krnln/StdAfx.h",
"chars": 4469,
"preview": "// stdafx.h : include file for standard system include files,\r\n// or project specific include files that are used frequ"
},
{
"path": "krnln/eHelpFunc.cpp",
"chars": 10243,
"preview": "#include \"stdafx.h\"\r\n\r\n#pragma comment(lib,\"kernel32.lib\") \r\n#pragma comment(lib,\"user32.lib\") \r\n\r\nHANDLE hBlackMoonInst"
},
{
"path": "krnln/krnln_BJCase.cpp",
"chars": 1188,
"preview": "#include \"stdafx.h\"\r\n#include \"Myfunctions.h\"\r\n\r\n\r\n//ı - \r\n/*\r\n øʽ ı͡ ı 任ı - ϵͳֿ֧->ı\r\n ӢƣBJCase\r\n ıеȫĸոֱ任Ϊǣر任Ľ"
},
{
"path": "krnln/krnln_BinLeft.cpp",
"chars": 513,
"preview": "#include \"stdafx.h\"\r\n\r\n//ֽڼ - ȡֽڼ\r\n/*\r\n øʽ ֽڼ ȡֽڼ ֽڼ ȡ䲿ֵֽڼ ȡֽڵĿ - ϵͳֿ֧->ֽڼ\r\n ӢƣBinLeft\r\n һֽڼаָֽڼдָֽڡΪ\r\n <1>"
},
{
"path": "krnln/krnln_BinLen.cpp",
"chars": 227,
"preview": "#include \"stdafx.h\"\r\n\r\n//ֽڼ - ȡֽڼ\r\n/*\r\n øʽ ͡ ȡֽڼ ֽڼ ֽڼݣ - ϵͳֿ֧->ֽڼ\r\n ӢƣBinLen\r\n ȡֽڼݵijȡΪ\r\n <1>ΪֽڼݡΪֽڼbinֵָ䳤ȵ"
},
{
"path": "krnln/krnln_BinMid.cpp",
"chars": 733,
"preview": "#include \"stdafx.h\"\r\n\r\n//ֽڼ - ȡֽڼм\r\n/*\r\n øʽ ֽڼ ȡֽڼм ֽڼ ȡ䲿ֵֽڼ ʼȡλã ȡֽڵĿ - ϵͳֿ֧->ֽڼ\r\n ӢƣBinMid\r\n һֽڼаָֽڼдָλָֽڡΪ\r"
},
{
"path": "krnln/krnln_BinRight.cpp",
"chars": 666,
"preview": "#include \"stdafx.h\"\r\n\r\n//ֽڼ - ȡֽڼұ\r\n/*\r\n øʽ ֽڼ ȡֽڼұ ֽڼ ȡ䲿ֵֽڼ ȡֽڵĿ - ϵͳֿ֧->ֽڼ\r\n ӢƣBinRight\r\n һֽڼаָֽڼдұָֽڡΪ\r\n "
},
{
"path": "krnln/krnln_ChDir.cpp",
"chars": 233,
"preview": "#include \"stdafx.h\"\r\n\r\n//̲ - ıĿ¼\r\n/*\r\n øʽ ͡ ıĿ¼ ı ı䵽Ŀ¼ - ϵͳֿ֧->̲\r\n ӢƣChDir\r\n ı䵱ǰĿ¼ıȱʡλáɹ棬ʧܷؼ١Ϊ\r\n <1>Ϊı䵽Ŀ¼Ϊ"
},
{
"path": "krnln/krnln_ChDrive.cpp",
"chars": 376,
"preview": "#include \"stdafx.h\"\r\n\r\n//̲ - ı\r\n/*\r\n øʽ ͡ ı ı ı䵽 - ϵͳֿ֧->̲\r\n ӢƣChDrive\r\n ı䵱ǰȱʡɹ棬ʧܷؼ١Ϊ\r\n <1>Ϊı䵽Ϊıͣtextֵָһڵơ"
},
{
"path": "krnln/krnln_ClearClipBoard.cpp",
"chars": 226,
"preview": "#include \"stdafx.h\"\r\n\r\n//ϵͳ - \r\n/*\r\n øʽ ֵ - ϵͳֿ֧->ϵͳ\r\n ӢƣClearClipBoard\r\n ǰ Windows ϵͳеݡΪ\r\n*/\r\nLIBAPI(void,"
},
{
"path": "krnln/krnln_CryptOpen.cpp",
"chars": 2949,
"preview": "#include \"stdafx.h\"\r\n#include \"md5t.h\"\r\n#include \"Myfunctions.h\"\r\n\r\n// øʽ ͡ ļ ı ļƣ ʽݣ ʽݣı ļݣ ȣݣ - ϵͳֿ֧->ļд\r\n// ӢƣCryp"
},
{
"path": "krnln/krnln_CurDir.cpp",
"chars": 352,
"preview": "#include \"stdafx.h\"\r\n#include \"Myfunctions.h\"\r\n//̲ - ȡǰĿ¼\r\n/*\r\n øʽ ı͡ ȡǰĿ¼ - ϵͳֿ֧->̲\r\n ӢƣCurDir\r\n һıǰĿ¼ʧܣؿıΪ\r"
},
{
"path": "krnln/krnln_DeleteRegItem.cpp",
"chars": 1002,
"preview": "#include \"stdafx.h\"\r\n#include \"Myfunctions.h\"\r\n#pragma comment(lib,\"advapi32.lib\") \r\n//ϵͳ - ɾע\r\n/*\r\n øʽ ͡ ɾע Ŀ¼ı ȫ·"
},
{
"path": "krnln/krnln_Dispatch.cpp",
"chars": 46874,
"preview": "#include \"stdafx.h\"\r\n#include \"OLECTL.H\"\r\n#include \"Myfunctions.h\"\r\n#include <stdio.h>\r\n#pragma comment(lib,\"ole32.lib\")"
},
{
"path": "krnln/krnln_DoEvents.cpp",
"chars": 355,
"preview": "#include \"stdafx.h\"\r\n\r\n// - ¼\r\n/*\r\n øʽ ֵ ¼ - ϵͳֿ֧->\r\n ӢƣDoEvents\r\n ʱתÿȨԱ Windows ϵͳлᴦû̻¼ֱϵͳе¼Ż᷵ءΪм\r\n*/\r\nLIBA"
},
{
"path": "krnln/krnln_FSeek.cpp",
"chars": 1313,
"preview": "#include \"stdafx.h\"\r\n#include \"MyMemFile.h\"\r\n//ļд - ƶдλ\r\n/*\r\n øʽ ͡ ƶдλ вļţ ʼƶλãݣ ƶ룩 - ϵͳֿ֧->ļд\r\n ӢƣFSeek\r\n ڱ"
},
{
"path": "krnln/krnln_FileCopy.cpp",
"chars": 274,
"preview": "#include \"stdafx.h\"\r\n\r\n//̲ - ļ\r\n/*\r\n øʽ ͡ ļ ı Ƶļı Ƶļ - ϵͳֿ֧->̲\r\n ӢƣFileCopy\r\n ɹ棬ʧܷؼ١Ϊ\r\n <1>ΪƵļΪıͣtext\r\n "
},
{
"path": "krnln/krnln_FileDateTime.cpp",
"chars": 1746,
"preview": "#include \"stdafx.h\"\r\n#include <SHLWAPI.h>\r\n#pragma comment(lib,\"SHLWAPI.lib\") \r\n//̲ - ȡļʱ\r\n/*\r\n øʽ ʱ͡ ȡļʱ ı ļ - ϵͳֿ֧-"
},
{
"path": "krnln/krnln_FileLen.cpp",
"chars": 881,
"preview": "#include \"stdafx.h\"\r\n\r\n//̲ - ȡļߴ\r\n/*\r\n øʽ ͡ ȡļߴ ı ļ - ϵͳֿ֧->̲\r\n ӢƣFileLen\r\n һļijȣλֽڡļڣ -1Ϊ\r\n <1>ΪļΪıͣtext\r\n*"
},
{
"path": "krnln/krnln_FileMove.cpp",
"chars": 446,
"preview": "#include \"stdafx.h\"\r\n\r\n//̲ - ƶļ\r\n/*\r\n øʽ ͡ ƶļ ı ƶļı ƶλã - ϵͳֿ֧->̲\r\n ӢƣFileMove\r\n ļһλƶһλáɹ棬ʧܷؼ١Ϊ\r\n <1>ΪƶļΪı"
},
{
"path": "krnln/krnln_GetAllPY.cpp",
"chars": 20372,
"preview": "#include \"StdAfx.h\"\r\n#include \"mem.h\"\r\n#include \"Myfunctions.h\"\r\n\r\nextern char * FindPY(BYTE a1);\r\nextern WORD s_wPYTab "
},
{
"path": "krnln/krnln_GetAttr.cpp",
"chars": 255,
"preview": "#include \"stdafx.h\"\r\n\r\n//̲ - ȡļ\r\n/*\r\n øʽ ͡ ȡļ ı ļ - ϵͳֿ֧->̲\r\n ӢƣGetAttr\r\n һļĿ¼ԡֵ³ɣ 1#ֻļ 2#ļ 4#ϵͳļ 16#Ŀ¼32#浵ļ "
},
{
"path": "krnln/krnln_GetBackColor.cpp",
"chars": 179,
"preview": "#include \"stdafx.h\"\r\n\r\n//ϵͳ - ȡĬϵɫ\r\n/*\r\n øʽ ͡ ȡĬϵɫ - ϵͳֿ֧->ϵͳ\r\n ӢƣGetBackColor\r\n ȡWindowsϵͳĬϴڱɫΪ\r\n*/\r\nLIBAPI("
},
{
"path": "krnln/krnln_GetBinElement.cpp",
"chars": 3450,
"preview": "#include \"stdafx.h\"\r\n#include \"mem.h\"\r\n#include \"Myfunctions.h\"\r\n\r\n//ֽڼ - ȡֽڼ\r\n/*\r\n øʽ ͨ͡ ȡֽڼ ֽڼ ȡݵֽڼ ȡݵͣ ʼλãݣ - ϵͳֿ֧"
},
{
"path": "krnln/krnln_GetBinRegItem.cpp",
"chars": 1507,
"preview": "#include \"stdafx.h\"\r\n#include \"Myfunctions.h\"\r\n\r\n#pragma comment(lib,\"advapi32.lib\") \r\n//ϵͳ - ȡֽڼע\r\n/*\r\n øʽ ֽڼ ȡֽڼע "
},
{
"path": "krnln/krnln_GetClipBoardText.cpp",
"chars": 470,
"preview": "#include \"stdafx.h\"\r\n#include \"Myfunctions.h\"\r\n//ϵͳ - ȡı\r\n/*\r\n øʽ ı͡ ȡı - ϵͳֿ֧->ϵͳ\r\n ӢƣGetClipBoardText\r\n شڵǰ "
},
{
"path": "krnln/krnln_GetCmdLine.cpp",
"chars": 3650,
"preview": "#include \"stdafx.h\"\r\n#include \"mem.h\"\r\n\r\n#pragma comment(lib,\"shell32.lib\") \r\n\r\n//ȡ - ȡ\r\n/*\r\n øʽ ֵ ȡ ıͱ űȡı - ϵͳֿ֧->"
},
{
"path": "krnln/krnln_GetColorCount.cpp",
"chars": 294,
"preview": "#include \"stdafx.h\"\r\n#pragma comment(lib,\"gdi32.lib\") \r\n//ϵͳ - ȡɫ\r\n/*\r\n øʽ ͡ ȡɫ - ϵͳֿ֧->ϵͳ\r\n ӢƣGetColorCount\r\n "
},
{
"path": "krnln/krnln_GetCursorHorzPos.cpp",
"chars": 232,
"preview": "#include \"stdafx.h\"\r\n\r\n//ϵͳ - ȡˮƽλ\r\n/*\r\n øʽ ͡ ȡˮƽλ - ϵͳֿ֧->ϵͳ\r\n ӢƣGetCursorHorzPos\r\n ָĵǰˮƽλãλΪص㣬ĻߡΪ\r\n*/\r\nLIBA"
},
{
"path": "krnln/krnln_GetCursorVertPos.cpp",
"chars": 231,
"preview": "#include \"stdafx.h\"\r\n\r\n//ϵͳ - ȡ괹ֱλ\r\n/*\r\n øʽ ͡ ȡ괹ֱλ - ϵͳֿ֧->ϵͳ\r\n ӢƣGetCursorVertPos\r\n ָĵǰֱλãλΪص㣬ĻߡΪ\r\n*/\r\nLIBAP"
},
{
"path": "krnln/krnln_GetDataTypeSize.cpp",
"chars": 1074,
"preview": "#include \"stdafx.h\"\r\n\r\n// - ȡͳߴ\r\n/*\r\n øʽ ͡ ȡͳߴ ȡߴͣ - ϵͳֿ֧->\r\n ӢƣGetDataTypeSize\r\n ȡָ͵ݳߴ磬ͲΪıֽڼûԶ͡Ϊ\r\n <1>Ϊȡߴ"
},
{
"path": "krnln/krnln_GetDatePart.cpp",
"chars": 377,
"preview": "#include \"stdafx.h\"\r\n#include <math.h>\r\n//ʱ - ȡ\r\n/*\r\n øʽ ʱ͡ ȡ ʱ ʱ䣩 - ϵͳֿ֧->ʱ\r\n ӢƣGetDatePart\r\n һʱݵڲ֣Сʱӡ뱻̶Ϊ0ʱ00롣"
},
{
"path": "krnln/krnln_GetDaysOfSpecMonth.cpp",
"chars": 417,
"preview": "#include \"stdafx.h\"\r\n\r\n//ʱ - ȡij\r\n/*\r\n øʽ ͡ ȡij ݣ ·ݣ - ϵͳֿ֧->ʱ\r\n ӢƣGetDaysOfSpecMonth\r\n ָ··Ч0Ϊ\r\n <1>ΪݡΪͣintֵ"
},
{
"path": "krnln/krnln_GetDiskFreeSpace.cpp",
"chars": 820,
"preview": "#include \"stdafx.h\"\r\n#include \"Myfunctions.h\"\r\n\r\n//̲ - ȡʣռ\r\n/*\r\n øʽ ͡ ȡʣռ ı ַݣ - ϵͳֿ֧->̲\r\n ӢƣGetDiskFreeSpace\r\n "
},
{
"path": "krnln/krnln_GetDiskLabel.cpp",
"chars": 875,
"preview": "#include \"stdafx.h\"\r\n#include \"Myfunctions.h\"\r\n\r\n//̲ - ȡ̾\r\n/*\r\n øʽ ı͡ ȡ̾ ı ַݣ - ϵͳֿ֧->̲\r\n ӢƣGetDiskLabel\r\n ̵ָľı"
},
{
"path": "krnln/krnln_GetDiskTotalSpace.cpp",
"chars": 1117,
"preview": "#include \"stdafx.h\"\r\n#include \"Myfunctions.h\"\r\n\r\n//̲ - ȡܿռ\r\n/*\r\n øʽ ͡ ȡܿռ ı ַݣ - ϵͳֿ֧->̲\r\n ӢƣGetDiskTotalSpace\r\n "
},
{
"path": "krnln/krnln_GetEnv.cpp",
"chars": 392,
"preview": "#include \"stdafx.h\"\r\n\r\n//ȡ - \r\n/*\r\n øʽ ı͡ ı ƣ - ϵͳֿ֧->ȡ\r\n ӢƣGetEnv\r\n ıһϵͳɹʱȡõֵʧؿıΪ\r\n <1>ΪơΪıͣtext\r\n*/\r\nLI"
},
{
"path": "krnln/krnln_GetHDiskCode.cpp",
"chars": 294,
"preview": "#include \"stdafx.h\"\r\n/*\r\n øʽ ͡ ȡӲ - ϵͳֿ֧->\r\n ӢƣGetHDiskCode\r\n صеһӲ̵֣ǽӲصģҲ˵κϵͳأϵͳûʹôԼijijһ̨УԱԼİȨκ Windows ϵͳ汾Сִк"
},
{
"path": "krnln/krnln_GetHostName.cpp",
"chars": 436,
"preview": "#include \"stdafx.h\"\r\n#include \"Myfunctions.h\"\r\n\r\n#pragma comment(lib,\"WS2_32.LIB\")\r\n//ͨ - ȡ\r\n/*\r\n øʽ ı͡ ȡ - ϵͳֿ֧->ͨ\r"
},
{
"path": "krnln/krnln_GetIntInsideBin.cpp",
"chars": 816,
"preview": "#include \"stdafx.h\"\r\n\r\n// øʽ ͡ ȡֽڼ ֽڼ ֽڼ ȡƫƣ Ƿתֽݣ - ϵͳֿ֧->ֽڼ\r\n// ӢƣGetIntInsideBin\r\n// ֽڼָλôΪ\r\n// <1>ΪֽڼΪֽڼbinṩֽڼ\r\n// "
},
{
"path": "krnln/krnln_GetKeyText.cpp",
"chars": 754,
"preview": "#include \"stdafx.h\"\r\n#include \"Myfunctions.h\"\r\n\r\n//ϵͳ - \r\n/*\r\n øʽ ı͡ ı ļı ƣı ƣı Ĭıݣ - ϵͳֿ֧->ϵͳ\r\n ӢƣGetKeyText\r\n "
},
{
"path": "krnln/krnln_GetLastError.cpp",
"chars": 195,
"preview": "#include \"stdafx.h\"\r\n\r\n//ϵͳ - ȡ\r\n/*\r\n øʽ ͡ ȡ - ϵͳֿ֧->ϵͳ\r\n ӢƣGetLastError\r\n òϵͳGetLastError,ظAPIúķֵ.Ϊ\r\n\t\r\n\tϵͳ "
},
{
"path": "krnln/krnln_GetNumRegItem.cpp",
"chars": 1188,
"preview": "#include \"stdafx.h\"\r\n#include \"Myfunctions.h\"\r\n\r\n#pragma comment(lib,\"advapi32.lib\") \r\n//ϵͳ - ȡֵע\r\n/*\r\n øʽ ͡ ȡֵע Ŀ¼ı"
},
{
"path": "krnln/krnln_GetRunFileName.cpp",
"chars": 587,
"preview": "#include \"stdafx.h\"\r\n#include \"Myfunctions.h\"\r\n\r\n//ȡ - ȡִļ\r\n/*\r\n øʽ ı͡ ȡִļ - ϵͳֿ֧->ȡ\r\n ӢƣGetRunFileName\r\n ȡǰִе"
},
{
"path": "krnln/krnln_GetRunPath.cpp",
"chars": 559,
"preview": "#include \"stdafx.h\"\r\n#include \"Myfunctions.h\"\r\n\r\n//ȡ - ȡĿ¼\r\n/*\r\n øʽ ı͡ ȡĿ¼ - ϵͳֿ֧->ȡ\r\n ӢƣGetRunPath\r\n ȡǰִе׳ļĿ¼"
},
{
"path": "krnln/krnln_GetRuntimeDataType.cpp",
"chars": 262,
"preview": "#include \"stdafx.h\"\r\n\r\n/*\r\n\tøʽ ͡ȡʱ (ͨ ȡ͵)\r\n\tӢƣGetRuntimeDataType\r\n\tṩʱֵ. ע: \r\n\tڳϵͳֿֿ֧֧ж,ôÿһγֵܻᷢ仯(Ϊʱضλԭ),\r\n\tڳйиֵDz仯.,ݵκʱʼһ㶨"
},
{
"path": "krnln/krnln_GetScreenHeight.cpp",
"chars": 194,
"preview": "#include \"stdafx.h\"\r\n\r\n//ϵͳ - ȡĻ߶\r\n/*\r\n øʽ ͡ ȡĻ߶ - ϵͳֿ֧->ϵͳ\r\n ӢƣGetScreenHeight\r\n Ļǰʾĸ߶ȣλΪص㡣Ϊ\r\n*/\r\n\r\nLIBAPI(i"
},
{
"path": "krnln/krnln_GetScreenWidth.cpp",
"chars": 187,
"preview": "#include \"stdafx.h\"\r\n\r\n//ϵͳ - ȡĻ\r\n/*\r\n øʽ ͡ ȡĻ - ϵͳֿ֧->ϵͳ\r\n ӢƣGetScreenWidth\r\n ĻǰʾĿȣλΪص㡣Ϊ\r\n*/\r\nLIBAPI(int, kr"
},
{
"path": "krnln/krnln_GetSectionNames.cpp",
"chars": 1179,
"preview": "#include \"stdafx.h\"\r\n#include \"mem.h\"\r\n#include \"Myfunctions.h\"\r\n//ϵͳ - ȡý\r\n/*\r\n øʽ ı页 ȡý ı ļ - ϵͳֿ֧->ϵͳ\r\n ӢƣGetSe"
},
{
"path": "krnln/krnln_GetSpecTime.cpp",
"chars": 1396,
"preview": "#include \"stdafx.h\"\r\n\r\n//ʱ - ָʱ\r\n/*\r\n øʽ ʱ͡ ָʱ ꣬ £ݣ գݣ Сʱݣ ӣݣ ݣ - ϵͳֿ֧->ʱ\r\n ӢƣGetSpecTime\r\n ذָꡢ¡աСʱ֡ʱ䡣ָЧʱ䣬ԶʹЧʱ"
},
{
"path": "krnln/krnln_GetSysVer.cpp",
"chars": 3928,
"preview": "#include \"stdafx.h\"\r\n\r\n#define VER_NT_WORKSTATION 0x0000001\r\n#define VER_NT_DOMAIN_CONTROLLER 0x0000"
},
{
"path": "krnln/krnln_GetTempFileName.cpp",
"chars": 900,
"preview": "#include \"stdafx.h\"\r\n#include <SHLWAPI.h>\r\n#include \"Myfunctions.h\"\r\n#pragma comment(lib,\"SHLWAPI.lib\") \r\n//̲ - ȡʱļ\r\n/*\r"
},
{
"path": "krnln/krnln_GetTextRegItem.cpp",
"chars": 1550,
"preview": "#include \"stdafx.h\"\r\n#include \"Myfunctions.h\"\r\n#pragma comment(lib,\"advapi32.lib\") \r\n\r\n//ϵͳ - ȡıע\r\n/*\r\n øʽ ı͡ ȡıע Ŀ¼"
},
{
"path": "krnln/krnln_GetTickCount.cpp",
"chars": 173,
"preview": "#include \"stdafx.h\"\r\n\r\n//ϵͳ - ȡʱ\r\n/*\r\n øʽ ͡ ȡʱ - ϵͳֿ֧->ϵͳ\r\n ӢƣGetTickCount\r\n Windows ϵͳΪֹĺΪ\r\n*/\r\nLIBAPI(int,"
},
{
"path": "krnln/krnln_GetTimePart.cpp",
"chars": 450,
"preview": "#include \"stdafx.h\"\r\n#include <math.h>\r\n//ʱ - ȡʱ\r\n/*\r\n øʽ ʱ͡ ȡʱ ʱ ʱ䣩 - ϵͳֿ֧->ʱ\r\n ӢƣGetTimePart\r\n һʱݵʱ䲿֣ꡢ¡ձ̶Ϊ200"
},
{
"path": "krnln/krnln_GetWinPic.cpp",
"chars": 3172,
"preview": "#include \"stdafx.h\"\r\n#pragma comment(lib,\"gdi32.lib\")\r\n#include <stdio.h>\r\n//ϵͳ - \r\n/*\r\n øʽ ֽڼ ھݣ ȣݣ ߶ȣݣ - ϵͳֿ֧->ϵͳ"
},
{
"path": "krnln/krnln_HostNameToIP.cpp",
"chars": 826,
"preview": "#include \"stdafx.h\"\r\n#include \"Myfunctions.h\"\r\n\r\n#pragma comment(lib,\"WS2_32.LIB\")\r\n//ͨ - תΪIPַ\r\n/*\r\n øʽ ı͡ תΪIPַ ı ת"
},
{
"path": "krnln/krnln_IDiv.cpp",
"chars": 431,
"preview": "#include \"stdafx.h\"\r\n#include <math.h>\r\n// - \r\n/*\r\n øʽ ˫С͡ ˫С ˫С ... - ϵͳֿ֧->\r\n ӢƣIDiv\r\n ֵ̣֣Ϊ\\ΪһԱظӡ\r\n <1>"
},
{
"path": "krnln/krnln_IPToHostName.cpp",
"chars": 592,
"preview": "#include \"stdafx.h\"\r\n#include \"Myfunctions.h\"\r\n\r\n#pragma comment(lib,\"WS2_32.LIB\")\r\n//ͨ - תΪ\r\n/*\r\n øʽ ı͡ תΪ ı תIPַ - "
},
{
"path": "krnln/krnln_InBin.cpp",
"chars": 3198,
"preview": "#include \"stdafx.h\"\r\n#include \"Myfunctions.h\"\r\n\r\n//ֽڼ - Ѱֽڼ\r\n/*\r\n øʽ ͡ Ѱֽڼ ֽڼ Ѱֽڼֽڼ Ѱҵֽڼ ʼѰλãݣ - ϵͳֿ֧->ֽڼ\r\n ӢƣInBi"
},
{
"path": "krnln/krnln_InBinRev.cpp",
"chars": 3656,
"preview": "#include \"stdafx.h\"\r\n\r\nextern \"C\" int inline MyMemCmp2(unsigned char* a, unsigned char* b, int len)\r\n{\r\n\tfor (int i=0; i"
},
{
"path": "krnln/krnln_InStr.cpp",
"chars": 2526,
"preview": "#include \"stdafx.h\"\r\n#include \"Myfunctions.h\"\r\n\r\n//ı - Ѱı\r\n/*\r\n øʽ ͡ Ѱı ı Ѱıı Ѱҵı ʼѰλãݣ ǷִСд - ϵͳֿ֧->ı\r\n ӢƣInStr\r"
},
{
"path": "krnln/krnln_InStrRev.cpp",
"chars": 2493,
"preview": "#include \"stdafx.h\"\r\n#include \"Myfunctions.h\"\r\n//ı - ı\r\n/*\r\n øʽ ͡ ı ı Ѱıı Ѱҵı ʼѰλãݣ ǷִСд - ϵͳֿ֧->ı\r\n ӢƣInStrRev\r\n"
},
{
"path": "krnln/krnln_InputBox.cpp",
"chars": 10964,
"preview": "#include \"stdafx.h\"\r\n#include \"Myfunctions.h\"\r\n\r\nBYTE BMInputBoxDialogTemplateData []={\r\n0xC0,0x08,0xC8,0x80,0x00,0x00,0"
},
{
"path": "krnln/krnln_InsBin.cpp",
"chars": 4139,
"preview": "#include \"stdafx.h\"\r\n#include \"MyMemFile.h\"\r\n#include \"Myfunctions.h\"\r\n//ļд - ֽڼ\r\n/*\r\n øʽ ͡ ֽڼ дݵļţֽڼ дֽڼݣ... - ϵͳ"
},
{
"path": "krnln/krnln_InsLine.cpp",
"chars": 5670,
"preview": "#include \"stdafx.h\"\r\n#include \"MyMemFile.h\"\r\n#include \"Myfunctions.h\"\r\n\r\n//ļд - ı\r\n/*\r\n øʽ ͡ ı дıļţͨ дı... - ϵͳֿ֧-"
},
{
"path": "krnln/krnln_InsText.cpp",
"chars": 4926,
"preview": "#include \"stdafx.h\"\r\n#include \"MyMemFile.h\"\r\n#include \"Myfunctions.h\"\r\n\r\n//ļд - ı\r\n/*\r\n øʽ ͡ ı дıļţͨ дı... - ϵͳֿ֧-"
},
{
"path": "krnln/krnln_IsCalcOK.cpp",
"chars": 264,
"preview": "#include \"stdafx.h\"\r\n#include <float.h>\r\n// - Ƿȷ\r\n/*\r\n øʽ ͡ Ƿȷ ˫С Уļ - ϵͳֿ֧->\r\n ӢƣIsCalcOK\r\n ԳˡηƽֵֵֵֵȻȵѧ˫ȽֵУ飬"
},
{
"path": "krnln/krnln_IsDebugVer.cpp",
"chars": 121,
"preview": "#include \"stdafx.h\"\r\n\r\n// - ǷΪ\r\n\r\nextern \"C\" void _cdecl krnln_IsDebugVer (INT nArgCount,MDATA_INF ArgInf,...)\r\n{\r\n\r\n}\r"
},
{
"path": "krnln/krnln_IsFileExist.cpp",
"chars": 267,
"preview": "#include \"stdafx.h\"\r\n#include <SHLWAPI.h>\r\n#pragma comment(lib,\"SHLWAPI.lib\") \r\n//̲ - ļǷ\r\n/*\r\n øʽ ͡ ļǷ ı Եļƣ - ϵͳֿ֧-"
},
{
"path": "krnln/krnln_IsHaveTextInClip.cpp",
"chars": 330,
"preview": "#include \"stdafx.h\"\r\n\r\n//ϵͳ - пı\r\n/*\r\n øʽ ͡ пı - ϵͳֿ֧->ϵͳ\r\n ӢƣIsHaveTextInClip\r\n ǰ Windows ϵͳıݣ棬ؼ١Ϊ\r\n*/\r\nL"
},
{
"path": "krnln/krnln_IsRegItemExist.cpp",
"chars": 1041,
"preview": "#include \"stdafx.h\"\r\n#include \"Myfunctions.h\"\r\n\r\n#pragma comment(lib,\"advapi32.lib\") \r\n//ϵͳ - עǷ\r\n/*\r\n øʽ ͡ עǷ Ŀ¼ı "
},
{
"path": "krnln/krnln_LCase.cpp",
"chars": 980,
"preview": "#include \"stdafx.h\"\r\n#include \"Myfunctions.h\"\r\n//ı - Сд\r\n/*\r\n øʽ ı͡ Сд ı 任ı - ϵͳֿ֧->ı\r\n ӢƣLCase\r\n ıеĴдӢĸ任ΪСдر任Ľ"
},
{
"path": "krnln/krnln_LTrim.cpp",
"chars": 1150,
"preview": "#include \"stdafx.h\"\r\n#include \"Myfunctions.h\"\r\n\r\n//ı - ɾ\r\n/*\r\n øʽ ı͡ ɾ ı ɾոı - ϵͳֿ֧->ı\r\n ӢƣLTrim\r\n һıаɾײȫǻǿոָ"
},
{
"path": "krnln/krnln_MakeLong.cpp",
"chars": 282,
"preview": "#include \"stdafx.h\"\r\n\r\n//λ - ϲ\r\n/*\r\n øʽ ͡ ϲ ϲ1 ϲ2 - ϵͳֿ֧->λ\r\n ӢƣMakeLong\r\n һĵ16λõĵ16λڶĵ16λõĸ16λԴ˺ϲһغϲĽΪм\r\n "
},
{
"path": "krnln/krnln_MakeWord.cpp",
"chars": 278,
"preview": "#include \"stdafx.h\"\r\n\r\n//λ - ϲ\r\n/*\r\n øʽ ͡ ϲ ϲ1 ϲ2 - ϵͳֿ֧->λ\r\n ӢƣMakeWord\r\n һĵ8λõĵ8λڶĵ8λõĸ8λԴ˺ϲһغϲĽΪм\r\n <1>"
},
{
"path": "krnln/krnln_MkDir.cpp",
"chars": 374,
"preview": "#include \"stdafx.h\"\r\n\r\n//̲ - Ŀ¼\r\n/*\r\n øʽ ͡ Ŀ¼ ı Ŀ¼ƣ - ϵͳֿ֧->̲\r\n ӢƣMkDir\r\n һµĿ¼ɹ棬ʧܷؼ١Ϊ\r\n <1>ΪĿ¼ơΪıͣtext\r\n*/"
},
{
"path": "krnln/krnln_MsgBox.cpp",
"chars": 2149,
"preview": "#include \"stdafx.h\"\r\n#include <stdio.h>\r\n#include \"LTrimZeroChr.h\"\r\n\r\n//#pragma comment(lib,\"oleaut32.lib\") \r\n\r\n//ϵͳ - Ϣ"
},
{
"path": "krnln/krnln_NumToRMB.cpp",
"chars": 1108,
"preview": "#include \"stdafx.h\"\r\n#include <math.h>\r\n#include \"Myfunctions.h\"\r\n\r\n//ֵת - ֵд \r\n/*\r\n øʽ ı͡ ֵ ˫С תʽֵ ǷתΪ壩 - ϵͳֿ֧->ֵת\r"
},
{
"path": "krnln/krnln_NumToText.cpp",
"chars": 1722,
"preview": "#include \"stdafx.h\"\r\n#include <stdio.h>\r\n#include \"LTrimZeroChr.h\"\r\n#include \"Myfunctions.h\"\r\n\r\n//ֵת - ֵʽı \r\n/*\r\n øʽ "
},
{
"path": "krnln/krnln_OpenManyFileDialog.cpp",
"chars": 2939,
"preview": "#include \"stdafx.h\"\r\n#include <stdio.h>\r\n#include \"mem.h\"\r\n#include \"Myfunctions.h\"\r\n#pragma comment(lib,\"comdlg32.lib\")"
},
{
"path": "krnln/krnln_OpenMemFile.cpp",
"chars": 399,
"preview": "#include \"stdafx.h\"\r\n#include \"MyMemFile.h\"\r\n//ļд - ڴļ\r\n/*\r\n øʽ ͡ ڴļ - ϵͳֿ֧->ļд\r\n ӢƣOpenMemFile\r\n һڴļԼڴΪ洢ʶݽļʽĿ"
},
{
"path": "krnln/krnln_PlayMID.cpp",
"chars": 7590,
"preview": "#include \"stdafx.h\"\r\n#include \"midi.h\"\r\n#include \"Myfunctions.h\"\r\n\r\nstruct MIDIFILEDATAINFO\r\n{\r\n\tLPBYTE pData;\r\n DWOR"
},
{
"path": "krnln/krnln_PlayMusic.cpp",
"chars": 1155,
"preview": "#include \"stdafx.h\"\r\n#pragma comment(lib,\"winmm.lib\") \r\n\r\n//ý岥 - \r\n/*\r\n øʽ ͡ ͨ ŵ֣ Ƿѭţݣ - ϵͳֿ֧->ý岥\r\n ӢƣPlayMusic"
},
{
"path": "krnln/krnln_PlayStop.cpp",
"chars": 200,
"preview": "#include \"stdafx.h\"\r\n#pragma comment(lib,\"winmm.lib\") \r\n//ý岥 - ֹͣ\r\n/*\r\n øʽ ֵ ֹͣ - ϵͳֿ֧->ý岥\r\n ӢƣPlayStop\r\n ֹͣڲ"
},
{
"path": "krnln/krnln_PutEnv.cpp",
"chars": 281,
"preview": "#include \"stdafx.h\"\r\n\r\n//ȡ - д\r\n/*\r\n øʽ ͡ д ı ƣı дݣ - ϵͳֿ֧->ȡ\r\n ӢƣPutEnv\r\n ĻָIJϵͳɹ棬ʧܷؼ١Ϊ\r\n <1>ΪơΪıͣtext\r\n "
},
{
"path": "krnln/krnln_QJCase.cpp",
"chars": 1224,
"preview": "#include \"stdafx.h\"\r\n#include \"Myfunctions.h\"\r\n\r\n//ı - ȫ\r\n/*\r\n øʽ ı͡ ȫ ı 任ı - ϵͳֿ֧->ı\r\n ӢƣQJCase\r\n ıеİĸոֱ任Ϊȫǣر任"
},
{
"path": "krnln/krnln_RTrim.cpp",
"chars": 1407,
"preview": "#include \"stdafx.h\"\r\n#include \"Myfunctions.h\"\r\n//ı - ɾβ\r\n/*\r\n øʽ ı͡ ɾβ ı ɾոı - ϵͳֿ֧->ı\r\n ӢƣRTrim\r\n һıаɾβȫǻǿոָıΪ"
},
{
"path": "krnln/krnln_ReadBin.cpp",
"chars": 1937,
"preview": "#include \"stdafx.h\"\r\n#include \"MyMemFile.h\"\r\n#include \"Myfunctions.h\"\r\n//ļд - ֽڼ\r\n/*\r\n øʽ ֽڼ ֽڼ ݵļţ ݵijȣ - ϵͳֿ֧->ļд\r\n"
},
{
"path": "krnln/krnln_ReadFile.cpp",
"chars": 700,
"preview": "#include \"stdafx.h\"\r\n\r\n//̲ - ļ\r\n/*\r\n øʽ ֽڼ ļ ı ļ - ϵͳֿ֧->̲\r\n ӢƣReadFile\r\n һֽڼаָļݡΪ\r\n <1>ΪļΪıͣtext\r\n*/\r\nLIBA"
},
{
"path": "krnln/krnln_ReadLine.cpp",
"chars": 6569,
"preview": "#include \"stdafx.h\"\r\n#include \"MyMemFile.h\"\r\n#include \"Myfunctions.h\"\r\n#include <vector>\r\n\r\nusing namespace std;\r\n\r\n//ļд"
},
{
"path": "krnln/krnln_ReadText.cpp",
"chars": 5519,
"preview": "#include \"stdafx.h\"\r\n#include \"MyMemFile.h\"\r\n#include \"Myfunctions.h\"\r\n#include <vector>\r\n\r\nusing namespace std;\r\n//ļд -"
},
{
"path": "krnln/krnln_RemoveData.cpp",
"chars": 3158,
"preview": "#include \"stdafx.h\"\r\n#include \"MyMemFile.h\"\r\n#include \"Myfunctions.h\"\r\n//ļд - ɾ\r\n/*\r\n øʽ ͡ ɾ ļţ ɾݵֽ - ϵͳֿ֧->ļд\r\n "
},
{
"path": "krnln/krnln_ReplaceText.cpp",
"chars": 3250,
"preview": "#include \"stdafx.h\"\r\n#include \"Myfunctions.h\"\r\n//ı - ı滻\r\n/*\r\n øʽ ı͡ ı滻 ı 滻ı ʼ滻λã 滻ȣı 滻ıݣ - ϵͳֿ֧->ı\r\n ӢƣReplaceText"
},
{
"path": "krnln/krnln_RestroeCursor.cpp",
"chars": 238,
"preview": "#include \"stdafx.h\"\r\n\r\n//ϵͳ - ָ\r\n/*\r\n øʽ ֵ ָ - ϵͳֿ֧->ϵͳ\r\n ӢƣRestroeCursor\r\n ָԭ״롰õȴꡱʹáΪ\r\n*/\r\nHCURSOR hCurOld "
},
{
"path": "krnln/krnln_ReverseIntBytes.cpp",
"chars": 410,
"preview": "#include \"stdafx.h\"\r\n\r\n// øʽ ͡ תֽ תֵ - ϵͳֿ֧->ֵת\r\n// ӢƣReverseIntBytes\r\n// ָֽת,طתĽֵ. Ʃʮ0x12345678,ת0x78563412. JavaԽݽʱô"
},
{
"path": "krnln/krnln_RmDir.cpp",
"chars": 1554,
"preview": "#include \"stdafx.h\"\r\n#include \"Myfunctions.h\"\r\n\r\nBOOL BlackMoonDeleteDir(LPSTR strDirName)\r\n{\r\n\t\r\n\tchar szName [MAX_PATH"
},
{
"path": "krnln/krnln_RpBin.cpp",
"chars": 4048,
"preview": "#include \"stdafx.h\"\r\n\r\n//ֽڼ - ֽڼ滻\r\n/*\r\n øʽ ֽڼ ֽڼ滻 ֽڼ 滻䲿ֵֽڼ ʼ滻λã 滻ȣֽڼ 滻ֽڼݣ - ϵͳֿ֧->ֽڼ\r\n ӢƣRpBin\r\n ָֽڼijһֽڼ滻Ȼ滻ĽΪ"
},
{
"path": "krnln/krnln_RpSubBin.cpp",
"chars": 7356,
"preview": "#include \"stdafx.h\"\r\n#include \"mem.h\"\r\n#include \"Myfunctions.h\"\r\n#include <stdio.h>\r\n\r\nLPBYTE __cdecl krnln_fnRpSubBin(i"
},
{
"path": "krnln/krnln_RpSubText.cpp",
"chars": 2288,
"preview": "#include \"stdafx.h\"\r\n#include \"mem.h\"\r\n#include \"Myfunctions.h\"\r\n//ı - ı滻\r\n/*\r\n øʽ ı͡ ı滻 ı 滻ıı 滻ıı 滻ıݣ 滻ʼλãݣ 滻еĴݣ Ƿִ"
},
{
"path": "krnln/krnln_RunConsoleApp.cpp",
"chars": 3123,
"preview": "#include \"stdafx.h\"\r\n#include \"Myfunctions.h\"\r\n#include <stdio.h>\r\nBOOL __cdecl ReadPepi(HANDLE hFile, TBR* tbr)\r\n{\r\n\tDW"
},
{
"path": "krnln/krnln_SaveRegItem.cpp",
"chars": 2197,
"preview": "#include \"stdafx.h\"\r\n#pragma comment(lib,\"advapi32.lib\") \r\n#include \"Myfunctions.h\"\r\n\r\n//ϵͳ - дע\r\n/*\r\n øʽ ͡ дע Ŀ¼ı "
},
{
"path": "krnln/krnln_SeekToBegin.cpp",
"chars": 715,
"preview": "#include \"stdafx.h\"\r\n#include \"MyMemFile.h\"\r\n//ļд - Ƶļ\r\n/*\r\n øʽ ͡ Ƶļ вļţ - ϵͳֿ֧->ļд\r\n ӢƣSeekToBegin\r\n ڱļУһдλ"
},
{
"path": "krnln/krnln_SeekToEnd.cpp",
"chars": 695,
"preview": "#include \"stdafx.h\"\r\n#include \"MyMemFile.h\"\r\n//ļд - Ƶļβ\r\n/*\r\n øʽ ͡ Ƶļβ вļţ - ϵͳֿ֧->ļд\r\n ӢƣSeekToEnd\r\n ڱļУһдλ"
},
{
"path": "krnln/krnln_SetAttr.cpp",
"chars": 309,
"preview": "#include \"stdafx.h\"\r\n\r\n//̲ - ļ\r\n/*\r\n øʽ ͡ ļ ı Եļƣ Ϊֵ - ϵͳֿ֧->̲\r\n ӢƣSetAttr\r\n ΪһļϢɹ棬ʧܷؼ١Ϊ\r\n <1>ΪԵļơΪıͣtext\r"
},
{
"path": "krnln/krnln_SetClipBoardText.cpp",
"chars": 616,
"preview": "#include \"stdafx.h\"\r\n#include \"Myfunctions.h\"\r\n\r\n//ϵͳ - üı\r\n/*\r\n øʽ ͡ üı ı ı - ϵͳֿ֧->ϵͳ\r\n ӢƣSetClipBoardText\r\n "
},
{
"path": "krnln/krnln_SetDiskLabel.cpp",
"chars": 644,
"preview": "#include \"stdafx.h\"\r\n#include \"Myfunctions.h\"\r\n\r\n//̲ - ô̾\r\n/*\r\n øʽ ͡ ô̾ ı ַݣı ľı - ϵͳֿ֧->̲\r\n ӢƣSetDiskLabel\r\n "
},
{
"path": "krnln/krnln_SetIntInsideBin.cpp",
"chars": 819,
"preview": "#include \"stdafx.h\"\r\n\r\n// øʽ ֵ ֽڼ ֽڼ ֽڼ ƫƣ õֵ Ƿתֽݣ - ϵͳֿ֧->ֽڼ\r\n// ӢƣSetIntInsideBin\r\n// ֽڼָλôֵΪ\r\n// <1>ΪֽڼΪֽڼbinṩֽڼ\r\n"
},
{
"path": "krnln/krnln_SetKeyText.cpp",
"chars": 430,
"preview": "#include \"stdafx.h\"\r\n\r\n//ϵͳ - д\r\n/*\r\n øʽ ͡ д ı ļı ƣı ƣݣı дֵݣ - ϵͳֿ֧->ϵͳ\r\n ӢƣSetKeyText\r\n ָıдָлɾָڣָļڣԶɹ棬ʧܷؼ١Ϊ\r"
},
{
"path": "krnln/krnln_SetSysTime.cpp",
"chars": 348,
"preview": "#include \"stdafx.h\"\r\n#include <math.h>\r\n#include <oleauto.h>\r\n#pragma comment(lib, \"OleAut32.lib\")\r\n\r\n//ʱ - ʱ\r\n/*\r\n ø"
},
{
"path": "krnln/krnln_SetWaitCursor.cpp",
"chars": 281,
"preview": "#include \"stdafx.h\"\r\n\r\n//ϵͳ - õȴ\r\n/*\r\n øʽ ֵ õȴ - ϵͳֿ֧->ϵͳ\r\n ӢƣSetWaitCursor\r\n ״Ϊɳ©ΣڼʱִгǰʾߡΪ\r\n*/\r\nextern HCUR"
},
{
"path": "krnln/krnln_SortAry.cpp",
"chars": 5453,
"preview": "#include \"stdafx.h\"\r\n\r\n// - \r\n/*\r\n øʽ ֵ ͨͱ ֵ ǷΪСݣ - ϵͳֿ֧->\r\n ӢƣSortAry\r\n ֵָڵԱпӰάϢŻظΪ\r\n <1>ΪֵΪͨͣallṩʱֻṩ顣"
},
{
"path": "krnln/krnln_SpaceBin.cpp",
"chars": 314,
"preview": "#include \"stdafx.h\"\r\n\r\n//ֽڼ - ȡհֽڼ\r\n/*\r\n øʽ ֽڼ ȡհֽڼ ֽĿ - ϵͳֿ֧->ֽڼ\r\n ӢƣSpaceBin\r\n ؾضĿ 0 ֽڵֽڼΪ\r\n <1>ΪֽĿΪͣint"
},
{
"path": "krnln/krnln_SplitBin.cpp",
"chars": 1810,
"preview": "#include \"stdafx.h\"\r\n#include \"mem.h\"\r\n#include \"Myfunctions.h\"\r\n//ֽڼ - ָֽڼ\r\n/*\r\n øʽ ֽڼ页 ָֽڼ ֽڼ ָֽڼֽڼ ָֽڼݣ ҪصֽڼĿݣ - ϵ"
},
{
"path": "krnln/krnln_StrComp.cpp",
"chars": 510,
"preview": "#include \"stdafx.h\"\r\n\r\n//ı - ıȽ\r\n/*\r\n øʽ ͡ ıȽ ı Ƚıһı Ƚı ǷִСд - ϵͳֿ֧->ı\r\n ӢƣStrComp\r\n ֵС0ʾıһСı0ʾıһı0ʾıһıȽʱִСдҲʹ"
},
{
"path": "krnln/krnln_StrToUTF8.cpp",
"chars": 2387,
"preview": "#include \"stdafx.h\"\r\n\r\n// øʽ ֽڼ ıUTF8 ı תı - ϵͳֿ֧->ı\r\n// ӢƣStrToUTF8\r\n// ָıתUTF8ʽ,עUTF8ıݰַ.Ϊ\r\n// <1>ΪתıΪıͣtextṩתUTF8ʽı"
},
{
"path": "krnln/krnln_TimeChg.cpp",
"chars": 3110,
"preview": "#include \"stdafx.h\"\r\n#include <math.h>\r\n\r\n#include <oleauto.h>\r\n#pragma comment(lib, \"OleAut32.lib\")\r\n\r\n//ʱ - ʱ\r\n/*void "
},
{
"path": "krnln/krnln_TimeDiff.cpp",
"chars": 2471,
"preview": "#include \"stdafx.h\"\r\n#include <math.h>\r\n\r\n//ʱ - ȡʱ\r\n/*\r\n øʽ ˫С͡ ȡʱ ʱ ʱ1ʱ ʱ2 ȡ֣ - ϵͳֿ֧->ʱ\r\n ӢƣTimeDiff\r\n һֵʾʱ1ȥʱ"
},
{
"path": "krnln/krnln_TimePart.cpp",
"chars": 1919,
"preview": "#include \"stdafx.h\"\r\n#include <math.h>\r\n//ʱ - ȡʱ䲿\r\n/*\r\n øʽ ͡ ȡʱ䲿 ʱ ȡ䲿ֵʱ䣬 ȡʱ䲿֣ - ϵͳֿ֧->ʱ\r\n ӢƣTimePart\r\n һ֪ʱֵָΪ\r"
},
{
"path": "krnln/krnln_TimeToText.cpp",
"chars": 750,
"preview": "#include \"stdafx.h\"\r\n#include <stdio.h>\r\n#include <math.h>\r\n#include \"Myfunctions.h\"\r\n\r\n//ʱ - ʱ䵽ı\r\n/*\r\n øʽ ı͡ ʱ䵽ı ʱ ת"
},
{
"path": "krnln/krnln_ToBin.cpp",
"chars": 3205,
"preview": "#include \"stdafx.h\"\r\n#include \"Myfunctions.h\"\r\n//ֽڼ - ֽڼ\r\n/*\r\n øʽ ֽڼ ֽڼ ͨ/ תΪֽڼݣ - ϵͳֿ֧->ֽڼ\r\n ӢƣToBin\r\n ָתΪֽڼת"
},
{
"path": "krnln/krnln_ToByte.cpp",
"chars": 814,
"preview": "#include \"stdafx.h\"\r\n\r\n//ֵת - ֽ\r\n/*\r\n øʽ ֽ͡ ֽ ͨ תıֵ - ϵͳֿ֧->ֵת\r\n ӢƣToByte\r\n ذıڵֵֽıһʵ͵ֵ֧ȫдʽҲ͵תΪֽڡΪ\r\n <1>Ϊתıֵ"
},
{
"path": "krnln/krnln_ToFloat.cpp",
"chars": 834,
"preview": "#include \"stdafx.h\"\r\n//ֵת - С\r\n/*\r\n øʽ С͡ С ͨ תıֵ - ϵͳֿ֧->ֵת\r\n ӢƣToFloat\r\n ذıڵСֵıһʵ͵ֵ֧ȫдʽҲ͵תΪСΪ\r\n <1>ΪתıֵΪͨ"
},
{
"path": "krnln/krnln_ToInt.cpp",
"chars": 790,
"preview": "#include \"stdafx.h\"\r\n\r\n//ֵת - \r\n/*\r\n øʽ ͡ ͨ תıֵ - ϵͳֿ֧->ֵת\r\n ӢƣToInt\r\n ذıڵֵıһʵ͵ֵ֧ȫдʽҲ͵תΪΪ\r\n <1>ΪתıֵΪͨͣall\r"
},
{
"path": "krnln/krnln_ToLong.cpp",
"chars": 899,
"preview": "#include \"stdafx.h\"\r\n\r\n//ֵת - \r\n/*\r\n øʽ ͡ ͨ תıֵ - ϵͳֿ֧->ֵת\r\n ӢƣToLong\r\n ذıڵijֵıһʵ͵ֵ֧ȫдʽҲ͵תΪΪ\r\n <1>ΪתıֵΪͨͣal"
},
{
"path": "krnln/krnln_ToShort.cpp",
"chars": 768,
"preview": "#include \"stdafx.h\"\r\n\r\n//ֵת - \r\n/*\r\n øʽ ͡ ͨ תıֵ - ϵͳֿ֧->ֵת\r\n ӢƣToShort\r\n ذıڵĶֵıһʵ͵ֵ֧ȫдʽҲ͵תΪΪ\r\n <1>ΪתıֵΪͨͣa"
},
{
"path": "krnln/krnln_ToTime.cpp",
"chars": 5660,
"preview": "#include \"stdafx.h\"\r\n#include \"Myfunctions.h\"\r\n//ʱ - ʱ\r\n/*\r\n øʽ ʱ͡ ʱ ͨ תı - ϵͳֿ֧->ʱ\r\n ӢƣToTime\r\n ָıתΪʱ䲢ءıдʽҪʱֵ²"
},
{
"path": "krnln/krnln_TrimAll.cpp",
"chars": 906,
"preview": "#include \"stdafx.h\"\r\n#include \"Myfunctions.h\"\r\n//ı - ɾȫ\r\n/*\r\n øʽ ı͡ ɾȫ ı ɾոı - ϵͳֿ֧->ı\r\n ӢƣTrimAll\r\n һıаɾȫǻǿոָı"
},
{
"path": "krnln/krnln_UCase.cpp",
"chars": 976,
"preview": "#include \"stdafx.h\"\r\n#include \"Myfunctions.h\"\r\n\r\n//ı - д\r\n/*\r\n øʽ ı͡ д ı 任ı - ϵͳֿ֧->ı\r\n ӢƣUCase\r\n ıеСдӢĸ任Ϊдر任Ľı"
},
{
"path": "krnln/krnln_UNum.cpp",
"chars": 894,
"preview": "#include \"stdafx.h\"\r\n#include <math.h>\r\n#include \"Myfunctions.h\"\r\n\r\n//ֵת - ֵд \r\n/*\r\n øʽ ı͡ ֵд ˫С תʽֵ ǷתΪ壩 - ϵͳֿ֧->ֵת"
},
{
"path": "krnln/krnln_UTF8ToStr.cpp",
"chars": 2349,
"preview": "#include \"stdafx.h\"\r\n\r\n// øʽ ı͡ UTF8ı ֽڼ תUTF8ıݣ - ϵͳֿ֧->ı\r\n// ӢƣUTF8ToStr\r\n// ָUTF8ıתͨıءΪ\r\n// <1>ΪתUTF8ıݡΪֽڼbinṩתͨıUT"
},
{
"path": "krnln/krnln_Unlock.cpp",
"chars": 577,
"preview": "#include \"stdafx.h\"\r\n\r\n//ļд - ļ\r\n/*\r\n øʽ ͡ ļ ļţ λã ijȣ - ϵͳֿ֧->ļд\r\n ӢƣUnlock\r\n ɡסļļеɹ棬ʧܷؼ١ע⣺ʱṩIJֵáסļʱṩIJֵȫһ¡Ϊ\r\n"
},
{
"path": "krnln/krnln_Variant.cpp",
"chars": 22414,
"preview": "#include \"stdafx.h\"\r\n#pragma comment(lib,\"ole32.lib\")\r\n#pragma comment(lib,\"oleaut32.lib\")\r\n\r\n#define\t\tDTC_COM_OBJECT \t"
}
]
// ... and 90 more files (download for full content)
About this extraction
This page contains the full source code of the zhongjianhua163/BlackMoonKernelStaticLib GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 290 files (706.5 KB), approximately 286.9k tokens, and a symbol index with 489 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.