[delphi]デバッグ文出力メモ帳(ノートパッド)経由
2010/03/21
delphi
環境は、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.
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.
: