书画联盟-古玩百科_琴棋书画_珠宝玉石_文玩瓷杂_收藏艺术_鉴赏交流
 找回密码
 立即注册

QQ登录

只需一步,快速开始

只需一步,快速开始

查看: 141|回复: 1

电脑出现句柄无效怎么办?

[复制链接]
发表于 2019-5-26 10:32:13 | 显示全部楼层 |阅读模式

句柄无效出现这种提示,有三种可能:

1、软件有问题;

2、电脑有病毒;

3、系统有故障;

你可以把软件在别人的相同系统的电脑上装一下 ,如果不可以使用,你的软件有问题;

如果可以使用,你的电脑很有可能中毒了,格式化硬盘,重装系统吧;

所谓句柄实际上是一个数据,是一个Long (整长型)的数据;句柄是WONDOWS用来标识被应用程序所建立或使用的对象的唯一整数,WINDOWS使用各种各样的句柄标识诸如应用程序实例,窗口,控制,位图,GDI对象等等,WINDOWS句柄有点象C语言中的文件句柄;从上面的定义中的我们可以看到,句柄是一个标识符,是拿来标识对象或者项目的,它就象我们的姓名一样,每个人都会有一个,不同的人的姓名不一样;

但是,也可能有一个名字和你一样的人,从数据类型上来看它只是一个16位的无符号整数,应用程序几乎总是通过调用一个WINDOWS函数来获得一个句柄,之后其他的WINDOWS函数就可以使用该句柄,以引用相应的对象。


如果想更透彻一点地认识句柄,我可以告诉大家,句柄是一种指向指针的指针;

我们知道,所谓指针是一种内存地址,应用程序启动后,组成这个程序的各对象是住留在内存的,如果简单地理解,似乎我们只要获知这个内存的首地址,那么就可以随时用这个地址访问对象;

但是,如果您真的这样认为,那么您就大错特错了,我们知道,Windows是一个以虚拟内存为基础的操作系统,在这种系统环境下,Windows内存管理器经常在内存中来回移动对象,依此来满足各种应用程序的内存需要,对象被移动意味着它的地址变化了,如果地址总是如此变化,我们该到哪里去找该对象呢;

为了解决这个问题,Windows操作系统为各应用程序腾出一些内存储地址,用来专门登记各应用对象在内存中的地址变化,而这个地址(存储单元的位置)本身是不变的;

Windows内存管理器在移动对象在内存中的位置后,把对象新的地址告知这个句柄地址来保存,这样我们只需记住这个句柄地址就可以间接地知道对象具体在内存中的哪个位置,这个地址是在对象装载(Load)时由系统分配给的,当系统卸载时(Unload)又释放给系统;

句柄地址(稳定)→记载着对象在内存中的地址————→对象在内存中的地址(不稳定)→实际对象;

本质:WINDOWS程序中并不是用物理地址来标识一个内存块,文件,任务或动态装入模块的,相反的,WINDOWS API给这些项目分配确定的句柄,并将句柄返回给应用程序,然后通过句柄来进行操作;但是必须注意的是程序每次从新启动,系统不能保证分配给这个程序的句柄还是原来的那个句柄,而且绝大多数情况的确不一样的。


回复

使用道具 举报

 楼主| 发表于 2019-5-26 10:33:23 | 显示全部楼层
如果打印服务关了,进行控制面板----管理工具----服务,开启这个服务Print Spooler。
如果是老打印机的话,在coms中打印端口设置成spp+epp或epp试试。
重新安装打印机驱动。
出现的原因:
可能是系统盘硬盘空间不够所导致的,如果是用的XP自带的照片打印向导,可能会出现此类提示,打数码相片每张基本要占5M左右的系统盘空间,如果一次打印很多的话可能会出现此类问题,建议你清理一下C盘垃圾文件,或者一次少打几张。
常见的系统错误代码:
1794 重定向程序正在使用,无法卸载。
1795 已经安装所指定的打印机驱动程序。
1796 指定的端口未知。
1797 打印机驱动程序未知。
1798 打印处理程序未知。
1799 指定的分隔符文件无效。
1800 指定的优先级无效。
1801 打印机名无效。
1802 打印机已经存在。
1803 打印机命令无效。
1804 指定的数据类型无效。
1805 指定的环境无效。
1806 没有其他绑定。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则