[Rd] Rgui.exe 4.2.0 does not receive characters via the Windows API's PostMessage function
Duncan Murdoch
murdoch@dunc@n @end|ng |rom gm@||@com
Thu May 5 18:17:53 CEST 2022
On 05/05/2022 11:17 a.m., jcfaria wrote:
> Hello,
>
> Rgui.exe 4.2.0 does not receive characters via the Windows API's
> PostMessage function.
>
> The Tinn-R project sends messages to Rgui.exe (SDI mode) via the Windows
> API's PostMessage function.
> A simplification of the code (in object Pascal) can be seen below.
>
> procedure TfMain.btnPasteClick(Sender: TObject);
> var
> i: integer;
> sTmp: WideString;
> hBN: HWND;
>
> begin
> hBN:= FindWindowA(nil,
> 'R Console (64-bit)');
>
> sTmp:= 'sd';
>
> for i:= 1 to Length(sTmp) do begin
> PostMessage(hBN,
> WM_CHAR,
> Ord(sTmp[i]),
> 0);
> end;
>
> PostMessage(hBN,
> WM_KEYDOWN,
> VK_RETURN, 0);
> end;
>
> This code has always worked fine for all versions of Rgui.exe with the
> exception of the last one released, ie 4.2.0.
>
> We've been trying to get around the problem on the Object Pascal side,
> but without success so far.
>
> Does anyone connected to the compilation of Rqui.exe know what the
> problem is?
It could be that the new build enforces Windows security more
stringently. More details are described in the answer to this question:
https://stackoverflow.com/a/40139498/2554330, but at a minimum you
should be checking the return value from PostMessage.
Duncan Murdoch
>
> Best,
> ///\\\///\\\///\\\///\\\///\\\///\\\///\\\///\\\///\\\///\\\
> Jose Claudio Faria
> UESC/DCET/Brasil
> joseclaudio.faria at gmail.com
> Telefones:
> 55(73)3680.5545 - UESC
> 55(73)99966.9100 - VIVO
> ///\\\///\\\///\\\///\\\///\\\///\\\///\\\///\\\///\\\///\\\
> If you have software to deal with statistics, you have arms,
> if you have good software, you have arms and legs,
> if you have software like R, you have arms, legs and wings...
> the height of your flight depends only on you.
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> R-devel using r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
More information about the R-devel
mailing list