WSGI ContainerでWM_COPYDATAを受信可能に

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アプリからコンテナをある程度制御できるようになる。