none
请问是什么原因引起csrss.exe进程提示无法找到组件的? RRS feed

  • 问题

  • 我写了个程序,主要核心就是负责建立tcp网络连接还有,创建对应的连接线程。所以程序运行过程中随时可能会创建或退出新的线程。服务端程序我自己调试是没错误,放在服务端上运行了一段时间后就会出现提示框提示无法找到组件(USERENV.DLL),这个提示框是由进程csrss.exe发出的。.问题是这个dll文件我系统存在,为什么还会提示无法找到呢?我把它复制到服务端程序的目录下也会出现这个提示。

    如图


    • 已编辑 msnder 2012年7月27日 7:58
    2012年7月27日 7:57

全部回复

  • 你好,

    欢迎来到MSDN论坛。

    根据我的理解,您的这个userenv.dll错误消息可能会出现在安装某些程序,或Windows启动或关闭的时候等;也有可能是病毒引起,这个很难说。

    这里有两个链接,希望对您有帮助:

    Http 401.3 Access Denied

    How To Fix Userenv.dll Not Found or Missing Errors ( 英文网页)

    此致


    Elegentin Xie [MSFT]
    MSDN Community Support | Feedback to us

    2012年7月30日 8:34
    版主
  • 谢谢您!这个并不是在安装或关闭windoe的时候出现的。这个是程序运行一段时间后出现的,我是在2003上,2003色系统是微软正版的。所以病毒也不可能。

    我比较不明白的是为什么这个提示框是由进程csrss.exe发出的?还有为什么提示没有找到userenv.dll文件?文件都存在于系统。

    我还有一个问题想问前辈您!csrss是管理线程等的,我的程序会时不时的创建释放线程,createthread,线程停止后的不用后句柄是要用closehandle关闭。我把closehandle放在createthread里面的线程函数过程的最尾部,请问这样做法有没有误?我用window任务管理器,看了下把closehandle放在createthread里面的线程函数过程的最尾部,是能把句柄关闭掉的。但是不知道这样的做法标准不?

    2012年7月31日 7:47