{*******************************************************} { } { DefineHelper } { } { Copyright (C) 2022 kku } { } {*******************************************************} unit DefineHelper; interface uses Winapi.Messages, Winapi.Windows; const EXE_HLP = 'eCrmHeHelper.exe'; DAT_PARAM = '#hp.dat'; HPCMD_SELECT_FILE = 1; HPCMD_SELECT_FOLDER = 2; HPCMD_EXECUTE_FILE = 3; HPCMD_OPEN_SELECT = 4; HPCMD_CHECK_URL = 5; HPCMD_PRINT_DOCNAME = 6; HPCMD_CHECK_CONTENT = 7; HPCMD_INSTALL_OUTLOOK_ADDIN = 8; HPCMD_UNINSTALL_OUTLOOK_ADDIN = 32; HPCMD_LICENSE_AGREE = 9; HPCMD_LICENSE_DISCONN = 10; HPCMD_SEND_QnA_MESSAGE = 11; HPCMD_SEND_AFTER_REPORT = 12; HPCMD_PERSONALINFO_AGREE = 13; HPCMD_REQ_CLIPBOARD_DATA = 14; HPCMD_INPUT_EXCEPT_REASON = 15; HPCMD_CHECK_PRINTWATER_EXCEPT = 16; HPCMD_REQ_DEVICE_EXCEPT = 17; HPCMD_REQ_NETDIR_SCAN = 18; // HPCMD_EXE_DECRYPT_DRM = 19; HPCMD_COPY_FILE = 20; HPCMD_REQ_NETDRVADDR = 21; HPCMD_OPEN_ENCRYPT = 22; HPCMD_OPEN_DECRYPT = 23; HPCMD_REQ_DECRYPT = 24; HPCMD_APPROVAL_FILE = 25; HPCMD_HOOK_NOTI = 26; HPCMD_EXISTS_FILE = 27; HPCMD_REQ_FILEICON = 28; HPCMD_CTRL_PRINTER = 29; HPCMD_PRINT_ENDDOC_INFO = 30; HPCMD_REG_IGNORE_DETECT_PATH = 31; HPCMD_CHECK_PRINTWATER_EXCEPT_EX = 33; HPCMD_FILE_OPERATION_NOTI = 34; HPCMD_REQ_ENCRYPT = 35; HPCMD_START_SCREEN_RECORD = 36; HPCMD_STOP_SCREEN_RECORD = 37; HPCDM_PRINT_INFO_LIST = 38; HPCMD_CHECK_SIZE = 39; HPCMD_BLOCK = 40; HPCMD_REP_NETDIR_PROGRESS = 201; HPCMD_REP_NETDIR_SCANPATH = 202; HLP_ROLE_WINDOWS_UPDATE_SCAN = 101; WM_INIT_HLEPER = WM_USER + 8546; WM_REQUEST_HLEPER = WM_USER + 8547; WM_RESPONSE_HLEPER = WM_USER + 8548; function SendCopyData(hRcv: HWND; nCmd: Integer; sData: String): LRESULT; implementation function SendCopyData(hRcv: HWND; nCmd: Integer; sData: String): LRESULT; var CopyData: TCopyDataStruct; dwResult: DWORD; begin try if hRcv = 0 then begin Result := 0; exit; end; ZeroMemory(@CopyData, SizeOf(CopyData)); CopyData.dwData := nCmd; CopyData.cbData := (Length(sData) + 1) * 2; CopyData.lpData := PChar(sData); dwResult := 0; Result := SendMessage(hRcv, WM_COPYDATA, 0, NativeInt(@CopyData)); // if SendMessageTimeout(hRcv, WM_COPYDATA, 0, NativeInt(@CopyData), SMTO_NORMAL, 3000, @dwResult) <> 0 then // Result := dwResult; except // ... end; end; end.