プログラマメモ2 - programmer no memo2

[delphi]デバッグ文出力メモ帳(ノートパッド)経由 2010/03/21

環境は、Delphi2010

下記の説明をみつけて、試してみました。


別アプリケーション経由で出力できるんですね。
送りつけたい画面のウィンドウハンドルをみつけて、EM_REPLACESELというメッセージを送りつけるという感じですかね。

unit Unit2;

interface

uses Windows, Messages, SysUtils;

(*
外部に公開するときはinterfaceにまず定義を書くことを忘れずに!!!!
*)
procedure DebugPrintNotepad(S: string);

implementation

var
hwndNotepadEdit: HWND;

(*
参考:オリジナルはここ
http://delfusa.main.jp/delfusafloor/technic/technic/085_DebugOutput.html
*)
procedure DebugPrintNotepad(S: string);
var
hwndNotepad: HWND;
sTIME: String;
begin
if not isWindow(hwndNotepadEdit) then
begin
hwndNotepad := FindWindow('Notepad', '無題 - メモ帳');
hwndNotepadEdit := FindWindowEx(hwndNotepad, 0, 'Edit', nil);
end;
if not isWindow(hwndNotepadEdit) then
exit;

sTIME := FormatDateTime('yyyy-mm-dd hh:nn:ss', NOW);
S := Format('%s %s', [sTIME, S]);
SendMessage(hwndNotepadEdit, EM_REPLACESEL, 0, LPARAM(PChar(S + #13#10)));
end;

end.

: