02/10/16 19:33
スレリンク(software板:629番)より
WM_COPYDATAでOpenJaneにURL渡せるようにする。
procedure OpenURL(URL: string);
var
host, bbs, datnum: string;
index: integer;
oldLog: boolean;
CH: THandle;
wnd: HWND;
cd: COPYDATASTRUCT;
begin
Get2chInfo(URL, host, bbs, datnum, index, oldLog);
wnd := FindWindow('TMainWnd', nil);
if wnd <> 0 then
begin
cd.dwData := 0;
cd.cbData := Length(URL) + 1;
cd.lpData := StrAlloc(cd.cbData);
StrCopy(cd.lpData, PChar(URL));
SendMessage(wnd, WM_COPYDATA, Application.Handle, LPARAM(@cd));
StrDispose(cd.lpData);
end
else if Config.winOpenApp and
(Config.winOpenAppPath <> '') and
(datnum <> '') then
ExecuteProc(nil, PChar('"' + Config.winOpenAppPath + '" "' + URL + '"'),
100, False, CH)
else
ShellExecute(0, nil, PChar(URL), nil, nil, SW_SHOW);
end;