delphi 写系统日志监控 转】的更多相关文章

不久前写了个抓取网页内容的小程序,跑了一晚上,本以为早上起来都抓完了,谁知道程序死掉了,分析半天,才发现用tmemo来记录日志的信息太多了,越积越多,本来memo的容量就不大.对于无法控制信息量的日志来说,有可能造成崩溃.记得见过盒子上一个关于手机发短信的小程序,上面有个日志的写法不错.方法:1.每写一行日志,先判断memo的行数是否超过自己设定的行数,我一般设为1000行,这样保存的日志大小一般在64K左右2.判断保存日志的目录是否存在,不存在就建 一个3.用日期加时间取一个日志名,象这种20…
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;…
Delphi写的DLL,OCX中如果使用了TThread.Synchronze(Proc),可能导致线程死锁,原因是无法唤醒EXE中主线程, Synchronze并不会进入EXE主线程消息队列. 下面的程序自动解决此问题,只需要加入DLL,OCX工程文件中,在DLL,OCX中便可以使用TThread.Synchronze(Proc)了,无需再写一行代码. //解决Delphi编译的DLL,OCX文件中的线程调用 TThread.Synchronize后挂起无法再激活问题 //调用了TThread…
http://blog.csdn.net/zyyjc/article/details/6530728 别现在有些POS机是双屏幕的(比如卡西瓦POS机),一个屏幕可以当顾客显示屏用,当闲时也可以显示一些广告.其实用delphi写双屏幕的程序是比较简单的,Screen.MonitorCount就是当前系统屏幕的数量,TForm也有与屏幕相关的属性,比如DefaluMonitor,不过想设一个窗体显示在哪个屏幕上好象没有属性(可能我没找到),不过研究VCL代码发现如何把一个窗体显示在某个屏幕上(可以…
Delphi编写后台监控软件         文章来源:Delphi程序员之家     后台监控软件,为了达到隐蔽监控的目的,应该满足正常运行时,不显示在任务栏上,在按Ctrl+Alt+Del出现的任务列表中也不显示,管理员可以通过热键调出隐藏的运行界面.要作到这些,必须把当前进程变为一个系统服务,并且定义全局热键. 一.把当前进程变为一个系统服务: 目的是在任务列表中把程序隐藏起来.调用API函数RegisterServiceProcess实现. 二.定义全局热键(本例中定义热键Ctrl+De…
title author date CreateTime categories C# 写系统日志 lindexi 2018-08-10 19:16:53 +0800 2018-2-13 17:23:3 +0800 WPF WPF调试 因为我不想使用自己写文件,我的软件是绿色的,所以把日志写到 Windows 日志. 首先告诉大家什么是系统日志,请看下面,这就是我要告诉大家的日志.写在这里就把日志放在 系统日志那里,看起来很厉害. 如果需要写日志,需要管理员权限,如果没有权限会出现下面异常 Sys…
C#的调用Delphi的DLL没有问题,DLL回调时遇到了麻烦,网上找了个方法,解决了这个问题 Delphi部分,列举了三种回调函数定义 library test; uses SysUtils; {$R *.res} type TCallback = procedure (P: PChar); stdcall; TMethodCallback = procedure (P: PChar) of object; stdcall; procedure DllTest1(Callback: TCall…
//2.2 代码块--写日志 //调用例句如:LogMsg('FTP上传线程终止',False,true); procedure LogMsg(AMsg: string; const blnIsErrorMsg: boolean = False; const BoolSaveToFile: Boolean = True); var strMsg: string; begin try //FLogMemoCallFlag.Enter; strMsg := AMsg; if blnIsErrorMs…
unit uProgLog; interface uses Windows, SysUtils, SyncObjs; const C_LOG_LEVEL_TRACE = $; C_LOG_LEVEL_WARNING = $; C_LOG_LEVEL_ERROR = $; type EnumSeverity = (TraceLevel, WarningLevel, ErrorLevel, LogLevel); function SeverityDesc(severity: EnumSeverity…
... var f: TextFile; begin AssignFile(f, 'test.txt'); Rewrite(f); write(f, #$EF+#$BB+#$BF); // UTF-8 BOM.关键就是写入这个UTF-8的BOM, BOM 是 Bype Order Mark 的缩写. writeln(f, UTF8Encode('中文')); CloseFile(f); ... 在delphi中TextFile对象创建文件时默认是 ANSI 编码. 这样中文或者其他非英文字符显示…
参加工作了就很少有时间去玩delphi了,这个适合初学者看看,大神勿喷 工具 delhpi7.0 access数据库 原则win下有安装office就可用 当初不太熟悉sqlite所有没用这做数据库. {***************************************************************************** * 版本信息: * 浅诺桌面管理工具v1.0 * 文件名称: * UseShortcutKey.pas * 内容摘要: * 桌面快捷方式管理…
使用udp实现,简单,方便,不用三次握手 1. 所有部署服务器进程的机器有一个代理进程hagent,用来监听hcm console中发送过来的命令 2.hcm需要提供以下命令 start :普通方式启动进程 stop :停止进程 reload :重新载入配置文件 resume :恢复方式启动进程(共享内存) tail:查看日志的末尾 deploy:直接更新服务器文件 rmshm:删除共享内存 autoresume:开启和关闭某个进程的自动拉起功能 3. hcm 监控所有的进程,发现进程不在时,以…
实现的原理WINSOCK是一组API,用于在INTE.Net上传输数据和交换信息.用它编程本来是很麻烦的,但在DELPHHI中并不需要直接与WINSOCK的API打交道,因为TclientSocket和TserverSocket元件封装了它的大部分API,使得对WINSOCK的访问大大简化.SOCKET是网络通信的基本构件,是可以被命名和寻址的通信端点,使用中的第一个SOCKET都有其类型和一个与之相连的进程.SOCKET存在于通信区域中,通信区域也叫地址族,是一个抽象概念,主要用于将通过SOC…
The Dynamic Link Library (DLL) is stored separately from the target application and shared among different applications, compared to Static Library. The DLL is the file extension on Windows while on Linux, it is *.so (Shared Object). The *.so/*.dll c…
玩了hostmonitor,老外写的很好.但是不符合国情,只有邮件适合发送. 今天用python 写一个自动发现ip,ping失败报警的程序.(微信和邮件报警) 以前用python写的发微信,发邮件直接导入即可. # -*- coding: utf-8 -*- # ping for Windows import os import sys import socket import struct import select import time import ConfigParser impor…
program Project1; uses Windows, Messages, SysUtils; procedure DeleteMe; var BatchFile: TextFile; BatchFileName: string; ProcessInfo: TProcessInformation; StartUpInfo: TStartupInfo; begin BatchFileName := ExtractFilePath(ParamStr(0)) + '_deleteme.bat'…
用了AlphaControl皮肤组件,原理很简单,就是CSDN的一个漏洞.我主要是使用WinInet来获取相关信息,然后从里面分析出真实的下载URL,同时我也是用了AES加密.function GetWebPage(const Url: string):string;var  Session,  Httpfile:HINTERNET;  szSizeBuffer:Pointer;  dwLengthSizeBuffer:DWord;  dwReserved:DWord;  dwFileSize:…
program Project1; { Types and Structures Definition }type  WNDCLASSEX = packed record    cbSize: LongWord;    style: LongWord;    lpfnWndProc: Pointer;    cbClsExtra: Integer;    cbWndExtra: Integer;    hInstance: LongWord;    hIcon: LongWord;    hCu…
看到论坛好多人问win7下写注册表的问题,我结合自己的理解写了一点东西,首先声明一下,本人初学Delphi,水平有限,大家见笑了,有什么不对之处请老鸟多指点. [背景]win7/Vista提供的UAC机制,是win7/Vista的新增功能之一.它的主要目的是防止对于操作系统本身的恶意修改.如果想对于win7/Vista的系统设置进行改动,必须通过UAC的验证才能够进行.通过这样的手段,大大提供了系统的安全性.关于UAC的利弊,网络上的说法褒贬不一,在这里就不具体讨论了. [应用]Delphi写的…
新手可忽略此小节,可写依赖监控属性真的是太advanced了,而且大部分情况下都用不到. 一般情况下,计算监控的值是通过其他监控属性的值计算出来的,因此它是只读的.这个看似很奇怪,我们有什么办法可以让他变成可写的吗. 此时,我们只需要提供一个callback的函数就可以做到. 通过你自定义的逻辑拦所有的读写操作,你可以像使用其他监控属性一样使用计算监控属性.类似obeservables一样,你可以一次改变多个observable或者computered observable属性的值,通过以下这种…
在虚拟机中安装Linux中的CentOS7系统 https://baijiahao.baidu.com/s?id=1597320700700593557&wfr=spider&for=pc 因为安装的centos7的python版本为2.7我们要将他的版本升为3.5 安装依赖 shell> yum -y install zlib-devel \ bzip2-devel openssl-devel ncurses-devel \ sqlite-devel readline-devel…
在公司里做的一个接口系统,主要是对接第三方的系统接口,所以,这个系统里会和很多其他公司的项目交互.随之而来一个很蛋疼的问题,这么多公司的接口,不同公司接口的稳定性差别很大,访问量大的时候,有的不怎么行的接口就各种出错了. 这个接口系统刚刚开发不久,整个系统中,处于比较边缘的位置,不像其他项目,有日志库,还有短信告警,一旦出问题,很多情况下都是用户反馈回来,所以,我的想法是,拿起 Python,为这个项目写一个监控.如果在调用某个第三方接口的过程中,大量出错了,说明这个接口有有问题了,就可以更快的…
2.可写的计算监控 初学者可能想要跳过本节 - 可写的计算监控是相当高级的部分,在大多数情况下不是必需的. 通常,计算监控是一个通过其他监控值计算出的值,因此是只读的. 令人惊讶的是,可以使计算监控值变得可写. 你只需要提供自己的回调函数,输入一些正确的值. 你可以使用一个可写的计算监控,就像一个常规的监控对象,用你自己的逻辑来定义读写.就像一个监控对象一样,您可以使用链接语法将值写入模型对象上的对过监控对象或计算监控对象. 例如, myViewModel.fullName('Joe Smith…
偶然翻到很久以前用DELPHI写的一个小程序,实现功能是在后台默默关闭符合条件的进程,并隐藏自身.编写目的是为了防止办公电脑运行游戏. 实现原理是: 1.程序运行后将自身以不同的名称一式三份存到系统各目录中,将其中一个COPY写到注册表里开机自启动,然后修改注册表中txt文件和exe文件打开方式分别指向另两个COPY,达到监控目的. 2.程序一但激活首先会确认各COPY是否存在以及注册表关联是否正常,然后再检查系统是否运行在禁止名单中的进程,发现就杀死. 3.如果程序监控到用户运行regedit…
简介: 如何使用 Zabbix 监控 Nginx 状态 ? 1.获取 Nginx 状态( HTTP Stub Status ) [root@localhost ~]# /apps/product/nginx/sbin/nginx -V nginx version: nginx/ built by gcc (Red Hat -) (GCC) built with OpenSSL Feb TLS SNI support enabled configure arguments: --prefix=/a…
宏巍软件 许向 大家好,我是上海宏巍信息技术有限公司(简称:宏巍软件)的许向,宏巍软件成立于2005年,是一家以电商ERP软件开发为主的高新技术科技型软件公司,致力于为大型网商和电子商务企业提供专业.全面.量身订制的企业ERP管理软件和应用解决方案. 宏巍电商ERP软件是在阿里体系内使用他们的SLB,然后在ECS上用haproxy JBOSS(多进程)做的集群,ERP端和接口系统都是使用Java语言实现的.随着近年来电商业务量的爆发式增长,Java在性能上的问题逐渐突出,ERP端有时候会无故的卡…
参考:http://blog.csdn.net/ninetowns2008/article/details/6311663 结合这篇博客:http://www.cnblogs.com/xumenger/p/4372289.html 再结合:http://blog.csdn.net/lailai186/article/details/8770487 1.DLL简介:2.调用DLL:3.创建DLL:4.两个技巧:5.初始化:6.例外处理 1.DLL简介 DLL是Dynamic-Link Librar…
1.我做了三年的.NET,也是三个月前因为项目需要转的delphi整个过渡差不多要一周到两周.正常情况两周后就能熟悉delphi.delphi可以调整开发环境的,你把他的属性和解决方案窗口调成和你用VS一样的用起来就习惯多了.语法的话pascal和C#都是能拉控件的,做起来都是一个模式,非常类似.即便是自己写组件,个人感觉delphi写起来更简单些.如果是做数据库软件的话,delphi用起来就相当方便,和数据库连接代码几乎不用写的.如果是用delphi做工控或网络编程也差不多.delphi其实也…
经过前面的配置,如果主服务器的keepalived停止服务,从服务器会自动接管VIP对外服务:一旦主服务器的keepalived恢复,会重新接管VIP. 但这并不是我们需要的,我们需要的是当NginX停止服务的时候能够自动切换. keepalived支持配置监控脚本,我们可以通过脚本监控NginX的状态,如果状态不正常则进行一系列的操作,最终仍不能恢复NginX则杀掉keepalived,使得从服务器能够接管服务. 如何监控NginX的状态 最简单的做法是监控NginX进程,更靠谱的做法是检查N…