xudaneng
驱动牛犊
驱动牛犊
  • 注册日期2009-09-21
  • 最后登录2010-12-23
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望51点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
40楼#
发布于:2010-11-23 10:33
谢谢分享!
liuchangdong007
驱动牛犊
驱动牛犊
  • 注册日期2010-04-15
  • 最后登录2011-07-12
  • 粉丝0
  • 关注0
  • 积分55分
  • 威望511点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
41楼#
发布于:2010-11-23 10:43
回 37楼(lijianhua12) 的帖子
你看一下这个图片,这个是我打开acad.exe(2004)的时候出现的,当用acad.exe2008的时候,进程会打不开。
yinzh02
驱动牛犊
驱动牛犊
  • 注册日期2010-08-09
  • 最后登录2014-08-20
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望91点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
42楼#
发布于:2010-11-23 16:19
看起来很不错,看看
powertang
驱动牛犊
驱动牛犊
  • 注册日期2010-11-23
  • 最后登录2010-12-01
  • 粉丝0
  • 关注0
  • 积分4分
  • 威望41点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
43楼#
发布于:2010-11-23 16:26
感想,下来学习学习
qqeleven11
驱动牛犊
驱动牛犊
  • 注册日期2007-12-16
  • 最后登录2010-11-23
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望13点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
44楼#
发布于:2010-11-23 17:48
谢谢分享!
lijianhua12
驱动牛犊
驱动牛犊
  • 注册日期2009-12-04
  • 最后登录2013-03-29
  • 粉丝12
  • 关注9
  • 积分33分
  • 威望301点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分11分
45楼#
发布于:2010-11-23 18:28
回 37楼(lijianhua12) 的帖子

 你看一下这个图片,这个是我打开acad.exe(2004)的时候出现的,当用acad.exe2008的时候,进程会打不开。
=======================
你把你判断acad.exe的代码贴出来
光一个 psi_addprocess("acad.exe",TRUE);是不行的
liuchangdong007
驱动牛犊
驱动牛犊
  • 注册日期2010-04-15
  • 最后登录2011-07-12
  • 粉丝0
  • 关注0
  • 积分55分
  • 威望511点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
46楼#
发布于:2010-11-23 19:34
回 45楼(lijianhua12) 的帖子
可以QQ讨论一下吗?我的QQ是422868860
liuchangdong007
驱动牛犊
驱动牛犊
  • 注册日期2010-04-15
  • 最后登录2011-07-12
  • 粉丝0
  • 关注0
  • 积分55分
  • 威望511点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
47楼#
发布于:2010-11-23 19:38
回 45楼(lijianhua12) 的帖子
我是直接用engine里面的代码,没有改其它的东西。关天auto cad判断的代码也是engine里面的,我没有修改。我现在把它贴出来,还请帮忙看一下
BOOLEAN
Ps_IsCurrentProcessMonitored(
     WCHAR* pwszFilePathName,
     ULONG uLength,
     BOOLEAN* bIsSystemProcess,
     BOOLEAN* bIsPPTFile)
{
    BOOLEAN bRet = TRUE ;
    UCHAR szProcessName[16] = {0} ;
    PLIST_ENTRY TmpListEntryPtr = NULL ;
    PiPROCESS_INFO psProcessInfo = NULL ;
    WCHAR wszFilePathName[MAX_PATH] = {0} ;
    WCHAR* pwszExt = NULL ;

    try{
        Ps_GetProcessName(szProcessName, NULL) ;

        // save file path name in local buffer
        RtlCopyMemory(wszFilePathName, pwszFilePathName, uLength*sizeof(WCHAR)) ;

        // recognize process name and return to caller
        if (bIsSystemProcess != NULL)
        {
            if ((strlen(szProcessName) == strlen("explorer.exe")) && !_strnicmp(szProcessName, "explorer.exe", strlen(szProcessName)))
            {
                *bIsSystemProcess = SYSTEM_PROCESS ;
            }
            else
            {
                *bIsSystemProcess = NORMAL_PROCESS ;
                if ((strlen(szProcessName) == strlen("excel.exe")) && !_strnicmp(szProcessName, "excel.exe", strlen(szProcessName)))
                {
                    *bIsSystemProcess = EXCEL_PROCESS ;
                }
                if ((strlen(szProcessName) == strlen("powerpnt.exe")) && !_strnicmp(szProcessName, "powerpnt.exe", strlen(szProcessName)))
                {
                    *bIsSystemProcess = POWERPNT_PROCESS ;
                }                
            }
        }

        if ((szProcessName == L"acad.exe") && !_wcsnicmp(pwszExt, L".csa", wcslen(L".csa")))
                      return FALSE;

        _wcslwr(wszFilePathName) ;
        if (wcsstr(wszFilePathName, L"\\local settings\\temp\\~wrd"))
        {
            bRet = TRUE ;
            ///__leave ;
        }

        // go to end of file path name, save pointer in pwszExt
        pwszExt = wszFilePathName + uLength - 1 ;

        // verify file attribute, if directory, return false
        if (pwszFilePathName[uLength-1] == L'\\')
        {//if directory, filter it
            bRet = FALSE ;
            __leave ;
        }

        // redirect to file extension name(including point)
        while (((pwszExt != wszFilePathName) && (*pwszExt != L'\\')) && ((*pwszExt) != L'.')) //定向至扩展名
        {//direct into file extension
            pwszExt -- ;
        }

        // verify this is a file without extension name
        if ((pwszExt == wszFilePathName) || (*pwszExt == L'\\'))
        {//no file extension exists in input filepath name, filter it.
            ///bRet = FALSE ;
            ///__leave ;
            pwszExt[0] = L'.' ;
            pwszExt[1] = L'\0' ;
        }

        // verify tmp file
        if ((bIsPPTFile != NULL) && !_wcsnicmp(pwszExt, L".ppt", wcslen(L".ppt")))
        {
            *bIsPPTFile = TRUE ;
        }

        // compare current process name with process info in monitored list
        // if existing, match file extension name
        TmpListEntryPtr = g_ProcessListHead.Flink ;
        while(&g_ProcessListHead != TmpListEntryPtr)
        {
            psProcessInfo = CONTAINING_RECORD(TmpListEntryPtr, iPROCESS_INFO, ProcessList) ;

            if (!_strnicmp(psProcessInfo->szProcessName, szProcessName, strlen(szProcessName)))
            {
                int nIndex = 0 ;

                if (psProcessInfo->wsszRelatedExt[0][0] == L'\0')
                {//no filter file extension, return monitor flag
                    bRet = psProcessInfo->bMonitor;
                    __leave ;
                }

                while (TRUE)
                {// judge wether current file extension name is matched with monitored file type in list
                    if (psProcessInfo->wsszRelatedExt[nIndex][0] == L'\0')
                    {
                        bRet = FALSE ;
                        break ;
                    }
                    else if ((wcslen(pwszExt) == wcslen(psProcessInfo->wsszRelatedExt[nIndex])) && !_wcsnicmp(pwszExt, psProcessInfo->wsszRelatedExt[nIndex], wcslen(pwszExt)))
                    {// matched, return monitor flag
                        bRet = psProcessInfo->bMonitor ;
                        break ;
                    }
                    nIndex ++ ;
                }
                __leave ;
            }

            // move to next process info in list
            TmpListEntryPtr = TmpListEntryPtr->Flink ;
        }

        bRet = FALSE ;
    }
    finally{
        /**/
        //Todo some post work here
    }

    return bRet ;
}
lijianhua12
驱动牛犊
驱动牛犊
  • 注册日期2009-12-04
  • 最后登录2013-03-29
  • 粉丝12
  • 关注9
  • 积分33分
  • 威望301点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分11分
48楼#
发布于:2010-11-23 20:07
 if ((bIsPPTFile != NULL) && !_wcsnicmp(pwszExt, L".ppt", wcslen(L".ppt")))
        {
            *bIsPPTFile = TRUE ;
        }

//   pass  .csa

 if ((szProcessName == L"acad.exe") && !_wcsnicmp(pwszExt, L".csa", wcslen(L".csa")))
{
             bRet = FALSE ;
            __leave ;
}

==============
加在对ppt的判断后面,前面扩展名还没有提取出来
cooldiyer
驱动牛犊
驱动牛犊
  • 注册日期2008-01-01
  • 最后登录2016-01-09
  • 粉丝1
  • 关注0
  • 积分27分
  • 威望216点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
49楼#
发布于:2010-11-24 00:17
4a0170sdads7c5721800efae9b8646
zhou_gz8888
驱动牛犊
驱动牛犊
  • 注册日期2003-01-22
  • 最后登录2014-08-05
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望247点
  • 贡献值1点
  • 好评度28点
  • 原创分0分
  • 专家分0分
50楼#
发布于:2010-11-24 00:31
^_^,看看。
liuchangdong007
驱动牛犊
驱动牛犊
  • 注册日期2010-04-15
  • 最后登录2011-07-12
  • 粉丝0
  • 关注0
  • 积分55分
  • 威望511点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
51楼#
发布于:2010-11-24 14:27
 engine.rar
根据你前面所说的,我把判断加进去了,但是还是出现这样的问题,你可以看一下代码
fashion220cn
驱动牛犊
驱动牛犊
  • 注册日期2007-01-17
  • 最后登录2017-07-04
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望91点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
  • 社区居民
52楼#
发布于:2010-11-24 16:27
下载看一下,谢谢分享
gusshin
驱动牛犊
驱动牛犊
  • 注册日期2010-07-24
  • 最后登录2011-11-03
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望51点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
53楼#
发布于:2010-11-25 21:33
下来看看研究研究.学习学习.
iihacker
论坛版主
论坛版主
  • 注册日期2010-01-07
  • 最后登录2017-08-16
  • 粉丝5
  • 关注8
  • 积分377分
  • 威望1941点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
  • 社区居民
54楼#
发布于:2010-11-26 09:28
不知道咋样 看看啦
NDIS 1群74755180 NDIS 2群182802097 交换机软硬件技术群 187471475 FPGA PCI PCIE 群187471817
myrontan
驱动牛犊
驱动牛犊
  • 注册日期2006-06-10
  • 最后登录2014-05-30
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望61点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
55楼#
发布于:2010-11-27 09:53
网络好慢
gryang.sh
驱动牛犊
驱动牛犊
  • 注册日期2010-11-27
  • 最后登录2011-05-28
  • 粉丝0
  • 关注0
  • 积分4分
  • 威望41点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
56楼#
发布于:2010-11-27 14:04
正在研究这个方面的技术,可以看看了。
xiamisun
驱动牛犊
驱动牛犊
  • 注册日期2009-01-05
  • 最后登录2014-04-26
  • 粉丝0
  • 关注0
  • 积分15分
  • 威望151点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
57楼#
发布于:2010-11-27 18:26
kankan
mr6698
驱动牛犊
驱动牛犊
  • 注册日期2008-03-26
  • 最后登录2017-09-27
  • 粉丝3
  • 关注0
  • 积分21分
  • 威望200点
  • 贡献值0点
  • 好评度26点
  • 原创分0分
  • 专家分1分
58楼#
发布于:2010-11-29 11:28
baiduyixia
harrysucceed
驱动牛犊
驱动牛犊
  • 注册日期2010-05-17
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望81点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
59楼#
发布于:2010-11-30 15:47
感谢!!
游客

返回顶部