日期:2014-05-17  浏览次数:20819 次

关于将应用程序写入windows服务的问题
愚生要将公司的产品应用程序写入windows服务,可是在计算机登录账户输入密码之前,会出现这样的报错:XXX.exe “0x7822a777”指令引用的"0x00000050"内存。该内存不能为read。
我用注册表添加windows服务,以及用C#写windows服务两种方法都是过了,都会在登陆帐户前出现这样的报错。在输入密码后进入系统,windows服务及应用程序启动正常。这是什么原因,如何解决呢?感谢各位大侠指点迷津

------解决方案--------------------
因为有权限了嘛
------解决方案--------------------
windows把内存地址0X00000000到0X0000ffff指定为分配null指针的地址范围,如果程序试图访问这一地址,则认为是错误。c/c++编写的程序通常不进行严格的错误检查,当采用malloc来分配内存而可供分配的地址空间不够的情况下返回null指针。但是代码不检查这种错误,认为地址分配已经成功,于是就访问0X00000000的地址,于是就发生内存违规访问,同时该进程被终止。 
------解决方案--------------------
说的不是很明白,windows服务 为什么是在注册表中手动添加的?
------解决方案--------------------
将Timer_Click中的方法写在OnStart中 试试