WM_COPYDATAを受け取って、受け取った文字列をPythonEngineで実行/Pythonスクリプトファイルを実行/JavaScriptとして実行をできるようにした。
... procedure TWSGIContainerForm.CopyDataProc(var msg: TWMCopyData); var sl: TStringList; begin // WM_COPYDATA WMCopyData := PChar(msg.CopyDataStruct.lpData); case msg.CopyDataStruct.dwData of WMCMD_PYTHON: begin sl := TStringList.Create; try sl.Text := WMCopyData; PythonEngine1.ExecStrings(sl); finally sl.Free; end; end; WMCMD_PYTHONPROCFILE: begin ExecPythonScript(ExtractFilePath(Application.ExeName) + FILE_WSGIWMPROC); end; WMCMD_JAVASCRIPT: begin with wb.Document as IHTMLDocument2 do with parentWindow do execScript(WMCopyData, 'JavaScript'); end; end; WMCopyData := ''; end; ...
これで他のWindowsアプリからコンテナをある程度制御できるようになる。