110 lines
3.3 KiB
Plaintext
110 lines
3.3 KiB
Plaintext
{*******************************************************}
|
|
{ }
|
|
{ HandleConfig }
|
|
{ }
|
|
{ Copyright (C) 2022 kku }
|
|
{ }
|
|
{*******************************************************}
|
|
|
|
unit HandleConfig;
|
|
|
|
interface
|
|
|
|
uses
|
|
Tocsg.Obj, System.SysUtils, System.Classes;
|
|
|
|
type
|
|
THandleConfig = class(TTgObject)
|
|
private
|
|
bUpdated_: Boolean; // 최초 연결후 업데이트 받았는가? 22_0422 13:25:44 kku
|
|
|
|
bIsScreenSaver_,
|
|
bIsPasswordSet_,
|
|
bIsPasswordSetTermOk_: Boolean;
|
|
sIdleTime_,
|
|
sOsVersion_,
|
|
sOsMajorVer_,
|
|
sUserName_: String;
|
|
public
|
|
Constructor Create;
|
|
|
|
procedure SetIdleTime(sVal: String);
|
|
procedure Update(sData: String); overload;
|
|
procedure Update(bScrSecu, bPassSet, bPassTermOk: Boolean; sUserName: String); overload;
|
|
|
|
property Updated: Boolean read bUpdated_;
|
|
property IsScreenSaver: Boolean read bIsScreenSaver_;
|
|
property IsPasswordSet: Boolean read bIsPasswordSet_;
|
|
property IsPasswordSetTermOk: Boolean read bIsPasswordSetTermOk_;
|
|
property IdleTime: String read sIdleTime_;
|
|
property OsVersion: String read sOsVersion_;
|
|
property OsMajorVer: String read sOsMajorVer_;
|
|
property UserName: String read sUserName_;
|
|
end;
|
|
|
|
implementation
|
|
|
|
uses
|
|
Tocsg.Safe, Tocsg.Strings, EM.WinOSVersion, Winapi.Windows, Tocsg.Files, Tocsg.Path, Tocsg.Registry;
|
|
|
|
{ THandleConfig }
|
|
|
|
Constructor THandleConfig.Create;
|
|
begin
|
|
Inherited Create;
|
|
bUpdated_ := false;
|
|
bIsScreenSaver_ := true;
|
|
bIsPasswordSet_ := true;
|
|
bIsPasswordSetTermOk_ := true;
|
|
sIdleTime_ := '0';
|
|
sOsVersion_ := GetWinVersion.WinVer;
|
|
sOsMajorVer_ := GetRegValueAsString(HKEY_LOCAL_MACHINE,
|
|
'SOFTWARE\Microsoft\Windows NT\CurrentVersion', 'DisplayVersion');
|
|
if sOsMajorVer_ = '' then
|
|
sOsMajorVer_ := ''; // 'None';
|
|
|
|
sUserName_ := '';
|
|
end;
|
|
|
|
procedure THandleConfig.SetIdleTime(sVal: String);
|
|
begin
|
|
sIdleTime_ := sVal;
|
|
end;
|
|
|
|
procedure THandleConfig.Update(sData: String);
|
|
var
|
|
DataList: TStringList;
|
|
i: Integer;
|
|
begin
|
|
// _Trace('Update()');
|
|
bUpdated_ := true;
|
|
Guard(DataList, TStringList.Create);
|
|
SplitString(sData, '_tocLine_', DataList);
|
|
|
|
for i := 0 to DataList.Count - 1 do
|
|
begin
|
|
if DataList[i].Contains('ScreenSecure:') then
|
|
bIsScreenSaver_ := DataList[i].Contains('1')
|
|
// else if DataList[i].Contains('Version:') then
|
|
// sOsVersion_ := Trim(DataList[i].Replace('Version:', ''))
|
|
else if DataList[i].Contains('WinLogin:') then
|
|
bIsPasswordSet_ := DataList[i].Contains('PasswordSet')
|
|
else if DataList[i].Contains('IdleTime:') then
|
|
sIdleTime_ := Trim(DataList[i].Replace('IdleTime:', ''))
|
|
else if DataList[i].Contains('DomainName:') then
|
|
sUserName_ := Trim(DataList[i].Replace('DomainName:', ''));//.Trim;
|
|
end;
|
|
end;
|
|
|
|
procedure THandleConfig.Update(bScrSecu, bPassSet, bPassTermOk: Boolean; sUserName: String);
|
|
begin
|
|
// 일단 기존 형식으로 구색을 맞춰주고 나중에 정리 하자 22_0519 10:23:31 kku
|
|
bUpdated_ := true;
|
|
bIsScreenSaver_ := bScrSecu;
|
|
bIsPasswordSet_ := bPassSet;
|
|
bIsPasswordSetTermOk_ := bPassTermOk;
|
|
sUserName_ := sUserName;
|
|
end;
|
|
|
|
end.
|