首页
社区
课程
招聘
[求助]关于VC++的一个线程,看不明白!!!
发表于: 2008-5-2 22:14 3141

[求助]关于VC++的一个线程,看不明白!!!

2008-5-2 22:14
3141
void thread()
{
        DWORD a,x; char msgbuff[512];
        char *pdest;
        int  result;
       
        while(1)
        {
                memmove(&a,&outputbuff[0],4);
               
               
                if(!a){Sleep(10);continue;}
               
               
               
                char*name=(char*)&outputbuff[8];
                for(x=0;x<stringcount;x++)
                {
                        if(!stricmp(name,strings[x])){a=1;goto skip;}
                }
               
               
               
                pdest = strstr(name,"##");
                if (pdest != NULL)
                {
                        result = pdest-name;
                        strcpy(msgbuff, "是否允许");
                        strncat(msgbuff,&outputbuff[8],result);
                        strcat(msgbuff,"运行");
                        strcat(msgbuff,&outputbuff[result+10]);
                }
                else if((pdest=strstr(name,"$$")) != NULL)
                {                       
                        result = pdest-name;
                        strcpy(msgbuff, "是否允许");
                        strncat(msgbuff,&outputbuff[8],result);
                        strcat(msgbuff,"设置注册表");
                        strcat(msgbuff,&outputbuff[result+10]);
                }
                else
                {
                        pdest = strstr(name,"&&");
                        result = pdest-name;
                        strcpy(msgbuff,"是否允许");
                        strncat(msgbuff,&outputbuff[8],result);
                        strcat(msgbuff,"加载驱动");
                        strcat(msgbuff,&outputbuff[result]+10);
                }
               
               
               
                if(IDYES==MessageBox(0, msgbuff,"WARNING",MB_YESNO|MB_ICONQUESTION|0x00200000L))
                {
                        a=1;
                        strings[stringcount]=_strdup(name);
                        stringcount++;
                }
                else a=0;
               
               
skip:memmove(&outputbuff[4],&a,4);
         
         
         a=0;
         memmove(&outputbuff[0],&a,4);
        }
       
}

我一直想将上面的代码转成 Delphi 的,
但就差上面的这个线程未能看明白,请大家来帮我一下,谢谢!!!
原文:偶写的Ring0监控程序PRMonitor源代码(ddk+sdk)

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//