如何截获怎么更改系统时间间更改事件

2511人阅读
如何读取Windows系统事件日志(获得上次关机时间、本次开机时间等)
DWORD read_len, next_&
char Buffer[256], Data[4096], *&
HANDLE Handle = OpenEventLog(NULL, Src);
if (Handle==NULL)
CloseHandle(Handle);
return -1;
while(ReadEventLog(Handle, EVENTLOG_FORWARDS_READ | EVENTLOG_SEQUENTIAL_READ,1, (EVENTLOGRECORD*)Data, sizeof(Data), &read_len, &next_len))
for(short i=0; i&read_)&
printf("%d/n",read_len);
EVENTLOGRECORD *ptr = (EVENTLOGRECORD*)(Data+i);
switch(ptr-&EventType) //&
case EVENTLOG_SUCCESS:
case EVENTLOG_ERROR_TYPE:
case EVENTLOG_WARNING_TYPE:
case EVENTLOG_INFORMATION_TYPE:
&&&&&& pchar= "
case EVENTLOG_AUDIT_SUCCESS:
case EVENTLOG_AUDIT_FAILURE:
sprintf(Buffer, "(short) //&
Result += B
sprintf(Buffer, "
Result += B&
tm *ptm = localtime((const long *)&ptr-&TimeWritten);&
sprintf(Buffer, "
&&&&&& ptm-&tm_year+1900, ptm-&tm_mon+1, ptm-&tm_mday,
&&&&&& ptm-&tm_hour, ptm-&tm_min, ptm-&tm_sec);
Result += B
pchar = Data + sizeof(EVENTLOGRECORD); //pchar
sprintf(Buffer, "
Result += B
pchar += strlen(pchar) + 1; //pchar
sprintf(Buffer, "
Result += B
pchar += strlen(pchar) + 1;// pchar
if(ptr-&UserSidLength&0)
char Name[64];
DWORD Length = sizeof(SID), Length1 = sizeof(Buffer);
SID_NAME_USE Type = SidTypeU
SID *sid = (SID *)(Data + ptr-&UserSidOffset);
sprintf(Buffer, "&
Result+=B&
if(ptr-&DataOffset & ptr-&StringOffset) //
&&&&&& Result += "[
&&&&&& pchar = Data + i + ptr-&StringO&
&&&&&& for(short j = 0; j & ptr-&NumS j++)&
&&&&&&&&&&&&& Result +=&
&&&&&&&&&&&&& if(j & ptr-&NumStrings-1)
&&&&&&&&&&&&&&&&&&&& Result += ' ';&
&&&&&&&&&&&&& pchar += strlen(pchar) + 1;
&&&&&& Result += '/n';&
&&&&&& // Result+="[
Result+='/n';
fwrite(Result.c_str(),Result.length(),1,pFile);
CloseEventLog(Handle);
pFile=fopen("EventLog.txt","w");
if(pFile==NULL)
ReadSystemEventLog("System",result,pFile); //
fclose(pFile);
FILE *pFile=fopen("log.txt","w");
char *tempBuf=new char[100];
memset(tempBuf,0,100);
EVENTLOGRECORD *
BYTE bBuffer[BUFFER_SIZE];
DWORD dwRead, dwNeeded, dwThisR
// Open the Application event log.
h = OpenEventLog( NULL, // use local computer
&&&&&& "System"); // source name
if (h == NULL)
printf("Could not open the Application event log.");
pevlr = (EVENTLOGRECORD *) &bB
// Get the record number of the oldest event log record.
GetOldestEventLogRecord(h, &dwThisRecord);
// Opening the event log positions the file pointer for this handle at the beginning of the log. //Read the event log records sequentially until the last record has been read.
while (ReadEventLog(h, // event log handle
EVENTLOG_FORWARDS_READ | // reads forward
EVENTLOG_SEQUENTIAL_READ, // sequential read
1, // ignored for sequential reads
pevlr, // pointer to buffer
&&&&&&&&BUFFER_SIZE, // size of buffer
&dwRead, // number of bytes read
&dwNeeded)) // bytes in next record
while (dwRead & 0)
// Print the record number, event identifier, type, and source name.
printf("%02d& Event ID:
sprintf(tempBuf,"%u/n",(DWORD)pevlr-&EventID);
fwrite(tempBuf,strlen(tempBuf),1,pFile);
sprintf(tempBuf, "pevlr-&EventID); //&
fwrite(tempBuf,strlen(tempBuf),1,pFile);
printf("EventType: %d Source: %s/n",
pevlr-&EventType, (LPSTR) ((LPBYTE) pevlr +
sizeof(EVENTLOGRECORD)));
dwRead -= pevlr-&L
pevlr = (EVENTLOGRECORD *)
((LPBYTE) pevlr + pevlr-&Length);
pevlr = (EVENTLOGRECORD *) &bB
CloseEventLog(h);
fclose(pFile);
DisplayEntries();
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:8068次
排名:千里之外您的举报已经提交成功,我们将尽快处理,谢谢!
Windows NT Service Control Manager (SCM)允许远程攻击者通过资...
来源:CNCERT
CNCVE编号:...
事件查看器按照类型将记录的事件划分为错误、警告和信息三种基本类型。
1.错误:重要的问题,如数据丢失或功能丧失。例如在启动期间系统服务加载失败、磁盘检测错...
建议你使用360安全卫士的系统修复功能修复一下IE,如果不能解决,建议你用360软件管家升级或重新安装IE.
操作系统有问题,你的设置有问题哈,打开,控制面板,找到区域和语言选项,把里面的区域选项 和 高级 里面的语言设置都改成中文(中国) 就可以了,快点试试吧
故障、速度、木马、系统漏洞、病毒等综合性影响,常规解决办法:
1、解决杂乱文件影响(减少电脑负担)。
清理杂乱文件有三个方法,第一是点网页上的“工...
大家还关注如何设置电脑的待办事件提醒功能如何让程序时间指定日期间隔触发某个事件?-.NET技术/C#-c/c++-电脑编程网如何让程序时间指定日期间隔触发某个事件?-.NET技术/C#作者:kuo123123 和相关&&希望写的小程序,在程序中设定指定的日期,如果日间隔达到指定的设定,则触发事件一次。比如设定为日,要求每隔5天触发程序的某个事件,请问怎么实现呢?------回答---------------其他回答(10分)---------你可以用timespan和timer控件配合使用,来达到你的目的。希望对你有帮助。------其他回答(2分)---------没接触过 帮顶------其他回答(2分)---------引用 1 楼 lantingxiaosheng 的回复:你可以用timespan和timer控件配合使用,来达到你的目的。希望对你有帮助。支持------其他回答(2分)---------C# Timer用法有哪些呢?我们在使用C# Timer时都会有自己的一些总结,那么这里向你介绍3种方法,希望对你了解和学习C#Timer使用的方法有所帮助。关于C# Timer类
在C#里关于定时器类就有3个C# Timer使用的方法1.定义在System.Windows.Forms里C# Timer使用的方法2.定义在System.Threading.Timer类里
&C# Timer使用的方法3.定义在System.Timers.Timer类里下面我们来具体看看这3种C# Timer用法的解释:◆System.Windows.Forms.Timer应用于WinForm中的,它是通过Windows消息机制实现的,类似于VB或中的Timer控件,内部使用API
SetTimer实现的。它的主要缺点是计时不精确,而且必须有消息循环,Console
Application(控制台应用程序)无法使用。
& ◆System.Timers.Timer和System.Threading.Timer非常类似,它们是通过.NET
Pool实现的,轻量,计时精确,对应用程序、消息没有特别的要求。◆System.Timers.Timer还可以应用于WinForm,完全取代上面的Timer控件。它们的缺点是不支持直接的拖放,需要手工编码。C# Timer用法实例使用System.Timers.Timer类System.Timers.Timer t =
new System.Timers.Timer(10000);
//实例化Timer类,设置间隔时间为10000毫秒;
t.Elapsed +=
new System.Timers.ElapsedEventHandler(theout);
//到达时间的时候执行事件;
& t.AutoReset =
//设置是执行一次(false)还是一直执行(true);
& t.Enabled =
//是否执行System.Timers.Timer.Elapsed事件; &
& public void theout(
object source,
System.Timers.ElapsedEventArgs e)&
MessageBox.Show(&OK!&);
&C# Timer用法的基本情况就向你介绍到这里,希望对你了解和学习C# Timer使用有所帮助------其他回答(2分)---------增加人气!!------其他回答(2分)---------你可以用timespan和timer控件配合使用------其他回答(2分)---------学习~------其他回答(2分)---------引用 1 楼 lantingxiaosheng 的回复:你可以用timespan和timer控件配合使用,来达到你的目的。希望对你有帮助。正解!------其他回答(2分)---------写成服务,在服务里加time控件!------其他回答(10分)---------[code=C#][/code] &DateTime a = Convert.ToDateTime(& 09:20:00&); &DateTime b = DateTime.N &TimeSpan ts = b -到达指定日期激活timer即可------其他回答(4分)---------C# code
Messagebox.Show(&原来插在着啊。。,han&)
相关资料:|||||||如何让程序时间指定日期间隔触发某个事件?-.NET技术/C#来源网络,如有侵权请告知,即处理!编程Tags:                &                    }

我要回帖

更多关于 win10更改系统时间 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信