|
绿色SQL GSQL2000绿色版 delphi源码
GSQL2000绿色版源代码delphi绿色SQL源码
- {$R *.res}
- Const
- REP = '实例名为 %s 的绿色SQL已经存在, 请检查进程.';
- NotAdmin = '您的权限不足, 此程序需要管理员权限运行.';
- CpuErr = '您的Cpu核心数量为 %d个 不被SQLServer核心支持, 请使用虚拟机或者在BIOS关闭若干核心.';
- //HDLL = '请不要在本目录存放任何DLL.';
- VERR = '文件版本校验失败.';
- NotFull = '绿色SQL不完整, 请重新下载.';
- Var
- File1, File2, File3, File4 : String;
- Check : Boolean;
- TempStr : String;
- OldFromHandle : THandle;
- CPUCount : integer;
- begin
- //此类代码是加密加密 与vmprotect配合防止反编译的
- asm db $EB,$10,'VMProtect begin',0 end;
- //是否是管理员 不是管理员提示退出
- if Not IsAdmin then
- begin
- Application.MessageBox(PChar(NotAdmin), 'GSQL', MB_OK or MB_ICONWARNING);
- Exit;
- end;
- //不支持三核心 CPU
- CPUCount := GetProcessNumber;
- if Not (CPUCount in [1, 2, 4, 8, 16, 32]) then
- begin
- Application.MessageBox(PChar(Format(CpuErr,[CPUCount])), 'GSQL', MB_OK or MB_ICONERROR);
- Exit;
- end;
- //初始化设置
- InitConfig;
- //读取设置
- LoadConfig;
- //保存设置(如果INI文件丢失,可以自动按默认设置生成INI文件)
- SaveConfig;
- //有没有DLL型内存注入工具 有则退出
- if FindDll(TempStr) then
- begin
- Application.MessageBox(PChar(TempStr), 'GSQL', MB_OK or MB_ICONWARNING);
- Exit;
- end;
-
- //这个是参数校验
- if Trim(Oem_SV01.Pass) <> '' then
- begin
- if ParamCount >= 1 then
- begin
- if ParamStr(1) <> Trim(Oem_SV01.Pass) then
- begin
- Exit;
- end;
- end else
- begin
- Exit;
- end;
- end;
- //文件自我校验
- File1 := GetSPath(Paramstr(0)); //管理器本身
- File2 := GetSPath(FmStr('$RunPath\Sql_spX.sys' )); //功能扩展DLL
- File3 := GetSPath(FmStr('$RunPath\Binn\opends60.dll')); //功能扩展DLL
- File4 := GetSPath(FmStr('$RunPath\Binn\opends80.dll')); //功能扩展DLL
- //文件不完整
- if Not(FileExists(File1) and FileExists(File2) and FileExists(File3) and FileExists(File4)) then
- begin
- Application.MessageBox(PChar(NotFull), 'GSQL', MB_OK or MB_ICONWARNING);
- Exit;
- end;
- //取得校验值
- Check := (GetFileStr(File1) = CrcKey[1]) and
- (GetFileStr(File2) = CrcKey[2]) and
- (GetFileStr(File3) = CrcKey[3]) and
- (GetFileStr(File4) = CrcKey[4]);
- //版本校验
- if Not Check then
- begin
- //Application.MessageBox(PChar(VERR), 'GSQL', MB_OK or MB_ICONWARNING);
- //Exit;
- end;
- //本实例的管理器是否存在
- Createmutex(nil, false, Pchar('GSQL_' + SQLServerConfig.Name));
- if getlasterror = error_already_exists then
- begin
- //提示实例存在
- Application.MessageBox(PChar(Format(REP,[SQLServerConfig.Name])), 'GSQL', MB_OK or MB_ICONWARNING);
- TempStr := Oem.Title;
- OldFromHandle := FindWindow('TMain',PChar(TempStr));
- SendMessage(OldFromHandle, MyMsg, MyMsg_Show, 0);
- SetForegroundWindow(OldFromHandle);
- Exit;
- end;
复制代码
|
上一篇:传奇EI3.0 客户端5.0插件ClientEx.dll的完整源代码下一篇:首发GOD传奇引擎源码,Cocos2d手游三端引擎源码完整版
|