📄 splc.dpr
字号:
program splc;
{$IFDEF VER150}
{$WARN UNSAFE_CAST OFF}
{$WARN UNSAFE_TYPE OFF}
{$ENDIF}
{$IFDEF VER150}
{$WARN UNSAFE_CAST OFF}
{$WARN UNSAFE_TYPE OFF}
{$ENDIF}
{$IFDEF VER170}
{$WARN UNSAFE_CAST OFF}
{$WARN UNSAFE_CODE OFF}
{$ENDIF}
uses
Forms,
IniFiles,
SysUtils,
windows,
messages,
Dialogs,
Controls,
Classes,
main in 'main.pas' {FMain},
OPC_AE in 'OPC_AE.pas',
OPCCOMN in 'OPCCOMN.pas',
OPCDA in 'OPCDA.pas',
OpcError in 'OPCerror.pas',
OPCHDA in 'OPCHDA.pas',
OPCSEC in 'OPCSEC.pas',
OPCtypes in 'OPCtypes.pas',
OPCenum in 'OPCenum.pas',
UserUnit in 'UserUnit.pas',
OPCutils in 'OPCutils.pas',
uCiaServiceTools in 'uCiaServiceTools.pas';
const
CM_RESTORE=WM_USER+$1000;
MYappname='splc';
{$R *.res}
var
hMutex: THandle;
FoundWnd: THandle;
ModuleName: string;
function EnumWndProc(hwnd: THandle; Param: Cardinal): Bool; stdcall;
var
ClassName, WinModuleName: string;
WinInstance: THandle;
begin
Result := True;
SetLength(ClassName, 100);
GetClassName (hwnd, PChar (ClassName), Length (ClassName));
ClassName := PChar(ClassName);
if ClassName = TFMain.ClassName then
begin
SetLength(WinModuleName, 200);
WinInstance := GetWindowLong(hwnd, GWL_HINSTANCE);
GetModuleFileName (WinInstance, PChar (WinModuleName),
Length(WinModuleName));
WinModuleName := PChar(WinModuleName);
if WinModuleName = ModuleName then
begin
FoundWnd := Hwnd;
Result := False;
end;
end;
end;
begin
HMutex := CreateMutex(nil, False, 'OneCopyMutex');
if WaitForSingleObject(hMutex, 0) <> WAIT_TIMEOUT then
begin
if CiaStartService('splc') then
begin
CiaService.CreateForm(TFMain, FMain);
CiaService.Run; Exit;
end;
Application.Initialize;
Application.CreateForm(TFMain, FMain);
Application.Run;
end
else
begin
SetLength(ModuleName, 200);
GetModuleFileName (HInstance, PChar(ModuleName), Length (ModuleName));
ModuleName := PChar(ModuleName);
EnumWindows(@EnumWndProc, 0);
if FoundWnd <> 0 then
begin
if not IsWindowVisible(FoundWnd) then
PostMessage(FoundWnd, wm_App, 0, 0);
SetForegroundWindow(FoundWnd);
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -