delphi使用outputdebugstring调试程序和写系统日志
procedure TForm1.btn1Click(Sender: TObject);
begin
OutputDebugString('dddddd');
OutputDebugString('');
end; procedure TForm1.btn2Click(Sender: TObject);
var
EvtSrcHand: THandle;
EvtMsg: String;
p:Pointer;
i:integer;
size:integer;
q:^byte;
begin
//注册事件源,随便起了个名字。这个名字就是下图事件列表的’来源’一列
//然后判断是否成功。
//注意后面要注销
EvtSrcHand := RegisterEventSource(nil, '测试程序');
if EvtSrcHand = then
begin
ShowMessage('注册事件源失败!');
Exit;
end; //这里记录一个字符串
//这个字符串显示在下面第二个图选中的位置。
EvtMsg := '记录字符串';
ReportEvent(EvtSrcHand,EVENTLOG_INFORMATION_TYPE,, , nil, , , @EvtMsg, nil); //这里记录一块内存,size大小
size:=;
//申请
GetMem(p, size);
q := p; //填充这块内存
for i := to size - do
begin
q^ := i;
inc(q);
end; //这里记录内存的内容。大小为size, 首字节的指针p
//同样也有说明信息msg
EvtMsg := '记录某块内存';
ReportEvent(EvtSrcHand,EVENTLOG_INFORMATION_TYPE , , , nil, , size, @EvtMsg, p);
FreeMem(p);
//注销事件源
DeregisterEventSource(EvtSrcHand);
end; end.