句柄无效是什么意思?

句柄无效是什么意思?,第1张

此警告音是否由于安装宏蠢族了第三方软件后提示的,如果是建议卸载掉不要使用,或查看是不是游戏本身遇到了问题,可以卸载重新下载安装。系统不能加载用户配置, 但能加载默认配置。

句柄无效”通常是编程的错误,但你的情况显然不可能是编程的问题,应该是丢失或更改了某些系统文件。我猜可能是你的dircetx错误,或者是丢失了某些动态连接库的DLL文件。你重新下载一个directx9.0c,安装试试。

句柄是WONDOWS用来标识被应用程序所建立或使用的对象的唯一整数,WINDOWS使用各种各样的句柄标识诸如档液应用程序实例,窗口,控制,位图,GDI对象等等。

WINDOWS句柄有点像C语言中的文件句柄。从上面的定义中的我们可以看到,句柄是一个标识符,是拿来标识对象或者项目的,它就象我们的姓名一样,每个人都会有一个,不同的人的姓名不一样,但是,也可能有一个名字和你一样的人。

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

问题一:句柄无效是什么意思 句柄

句柄概念在WINDOWS编程中是一个很重要的概念,在许多地方都扮演着重要的角色。但由此而产生的句柄概念也大同小异,比如:>(Microsoft Press,by Richard Wilton)一书中句柄的概念是:在Windows环境中,句柄是用来标识项目的,这些项目包括:

*.模块(module)

*.任务(task)

*.实例(instance)

*.文件(file)

*.内存块(block of memory)

*.菜单(menu)

*.控制(control)

*.字体(font)

*.资源(resource),包括图标(icon),光标(cursor),字符串(string)等

*.GDI对象(GDI object),包括位图(bitmap),画刷(brush),元文件(metafile),调色板(palette),画笔(pen),区域(region),以及设备描述表(device context)。

WINDOWS程序中并不是用物理地址来标识一个内存块,文件,任务或动态装入模块的,相反的,WINDOWS API给这些项目分配确定的句柄,并将句柄返回给应用程序,然后通过句柄来进行 *** 作。

在>(南京大学出版社)一书中是这么说的:句柄是WONDOWS用来标识被应用程序所建立或使用的对象的唯一整数,WINDOWS使用各种各样的句柄标识诸如应用程序实例,窗口,控制,位图,GDI对象等等。WINDOWS句柄有点象C语言中的文件句柄。

从上面的2个定义中的我们可以看到,句柄是一个标识符,是拿来标识对象或者项目的,它就象我们的姓名一样,每个人都会有一个,不同的人的姓名不一样,但是,也可能有一个名字和你一样的人。从数据类型上来看它只是一个16位的无符号整数。应用程序几乎总是通过调用一个WINDOWS函数来获得一个句柄,之后其他的WINDOWS函数就可以使用该句柄,以引用游首燃相应的对象。在WINDOWS编程中会用到大量的句柄,比如:HINSTANCE(实例句柄),HBITMAP(位图句柄),HDC(设备描述表句柄),HICON(图标句柄)等等,这当中还有一个通用的句柄,就是HANDLE,比如下面的语句:神虚

HINSTANCE hInstance;

可以改成:

HANDLE hInstance;

上面的2句语句都是对的。

一个WINDOWS应用程序可以用不同的方法获得一个特定项的句柄。许多API函数,诸如CreateWindow,GlobalAlloc,OpenFile的返回值都是一个句柄值。另外,WINDOWS也能通过应用程序的引出函数将一个句柄作为参数传送给应用程序,应用程序一旦获得了一个确定项的句柄,便可在WINDOWS环境下的任何地方对这个句柄进行 *** 作。其实句柄的大量使用已经影响到了每一个WINDOWS的程序设计。

句柄只有当唯一的确定了一个项目的时候,它才开始有意义。句柄对应着项目表中的一项,而只有WINDOWS本身才能直接存取这个表,应用程序只能通过API函数来处理不同的句柄,举个例子来说芹唤吧!比如:我们可以为我们的应用程序申请一块内存块,通过调用API函数GlobalAlloc,来返回一个句柄值:

hMem=GlobalAlloc(......)

其实现在hMem的值只是一个索引值,不是物理地址,应用程序还......>>

问题二:句柄无效是什么意思 句柄无效怎么解决 处理方法:此警告音是否由于安装了第三方软件后提示的,如果是建议卸载掉不要使用,或查看是不是游戏本身遇到了问题,可以卸载重新下载安装。

系统不能加载用户配置, 但能加载默认配置。

句柄无效通常是编程的错误,但你的情况显然不可能是编程的问题,应该是丢失或更改了某些系统文件。我猜可能是你的dircetx错误,或者是丢失了某些动态连接库的DLL文件。你重新下载一个directx9.0c,安装试试。如果还不行,就重装 *** 作系统,这样做比较省事。

其他对于句柄无效的相关解释

:(仅供参考!)

所谓句柄实际上是一个数据,是一个Long (整长型)的数据。

句柄是WONDOWS用来标识被应用程序所建立或使用的对象的唯一整数,WINDOWS使用各种各样的句柄标识诸如应用程序实例,窗口,控制,位图,GDI对象等等。WINDOWS句柄有点象C语言中的文件句柄。

从上面的定义中的我们可以看到,句柄是一个标识符,是拿来标识对象或者项目的,它就象我们的姓名一样,每个人都会有一个,不同的人的姓名不一样,但是,也可能有一个名字和你一样的人。从数据类型上来看它只是一个16位的无符号整数。应用程序几乎总是通过调用一个WINDOWS函数来获得一个句柄,之后其他的WINDOWS函数就可以使用该句柄,以引用相应的对象。

如果想更透彻一点地认识句柄,我可以告诉大家,句柄是一种指向指针的指针。我们知道,所谓指针是一种内存地址。应用程序启动后,组成这个程序的各对象是住留在内存的。如果简单地理解,似乎我们只要获知这个内存的首地址,那么就可以随时用这个地址访问对象。但是,如果您真的这样认为,那么您就大错特错了。我们知道,Windows是一个以虚拟内存为基础的 *** 作系统。在这种系统环境下,Windows内存管理器经常在内存中来回移动对象,依此来满足各种应用程序的内存需要。对象被移动意味着它的地址变化了。如果地址总是如此变化,我们该到哪里去找该对象呢?

为了解决这个问题,Windows *** 作系统为各应用程序腾出一些内存储地址,用来专门登记各应用对象在内存中的地址变化,而这个地址(存储单元的位置)本身是不变的。Windows内存管理器在移动对象在内存中的位置后,把对象新的地址告知这个句柄地址来保存。这样我们只需记住这个句柄地址就可以间接地知道对象具体在内存中的哪个位置。这个地址是在对象装载(Load)时由系统分配给的,当系统卸载时(Unload)又释放给系统。

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

本质:WINDOWS程序中并不是用物理地址来标识一个内存块,文件,任务或动态装入模块的,相反的,WINDOWS API给这些项目分配确定的句柄,并将句柄返回给应用程序,然后通过句柄来进行 *** 作。

但是必须注意的是程序每次从新启动,系统不能保证分配给这个程序的句柄还是原来的那个句柄,而且绝大多数情况的确不一样的。假如我们把进入电影院看电影看成是一个应用程序的启动运行,那么系统给应用程序分配的句柄总是不一样,这和每次电影院售给我们的门票总是不同的一个座位是一样的道理。

问题三:EXE“句柄无效”是什么意思? 症状分析:这应该是病毒修改了你的文件关联造成的

解决方法:建议先用杀毒软件杀一下毒,然后恢复一下EXE文件关联试试

方案一:先将regedit.exe改名为regedit或regedit.scr。

运行regedit,找到hkey_classes_root/exefile/shell/Open/mand键值,将默认值改为%1 %*重启,再将regedit改回regedit.exe即可。

方案二:将下面的内容存为exefile.reg,双击导入注册表;或在纯dos下运行regedit exefile.reg,导入注册表即可。(注意:regedit4下面留一空行)

regedit4

[HKEY_CLASSES_ROOT/exefile/shell/open/mand]

@=/%1/ %*

方案三(只适用于win2000/xp):

1、将cmd.exe改名为cmd或cmd.scr。

2、运行cmd

3、运行下面两个命令:

①ftype exefile=%1空格%

②assoc空格.exe=exefile

4、将cmd改回cmd.exe

希望对你有帮助

问题四:solidworks2012保存的时候提示句柄无效什么意思 是盗版软件自身的问题,偶尔会出现这种状况,你可以在控制面板的删除选项里面,选择修复一项,修复一下就可以解决这个问题了。

问题五:句柄无效怎么解决 句柄是指某对象在内存中的地址

句柄无效,可能是因为病毒修改了这些地址

如果你是文件无法打开的话,可以这样试试

1、打开Windows自带的“记事本”,粘贴入以下内容

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\exefile\shell\open\mand]

@=\%1\ %*

2、将文件保存为 my.reg ,然后 双击执行该文件,会提示你“是否确认要将my.reg的内容添加进注册表?”,点击“是”,重新启动计算机即可。

问题六:该卷所有已打开的句柄将会无效是什么意思 意思是在这个盘上的已打开文件可能会崩溃、关闭

问题七:句柄无效 错误是什么引起的 句柄无效通常是编程的错误,应该是丢失或更改了某些系统文件吧

问题八:地税申报上缴税款提示句柄无效是什么意思 句柄无效,这是网页代码出现问题的提示,是网页出现问题,与你申报内容是无关的.

你可以重新打开浏览器, *** 作, 如还不行,可以重启电脑过一会再 *** 作,(也有可能网络拥挤,使网页出错的)

如还不行,可以打税务热线12366向税务部门咨询.要他们尽快修复网页.

句柄,是整个Windows编程的基础。一个句柄是指使用的一个唯一的整数值,即一个4字节(64位程序中为8字节)长的数值,来标识应用程序中的不同对象和同类中的不同的实例,诸如,一个窗口,按钮,图标,滚动条,输出设备,控件或者文件等。

句柄是一个标识符,是拿来标识对象或者项目的。

由于网页中应用了编程语言,而这些编程语言又不完善,或者其他原因如网络拥挤,电脑本身系统缺陷,造成编程语言不能正常执行(或冲突等),标识对象或者项目不正确,

如标识不是唯一的,等,使得句柄无效,使整个网页出现问题.提示句柄无效

因此,这是网页出现问题,处理方法如上所述.

问题九:打印机句柄无效 安装驱动到最后一步安装驱动的时候总是显示句柄无效。通过提示看有可能驱动或是电脑系统有问题导致的。

1、以下是hp 网站上HP Lasejet 4250的驱动链接:

h20564.2.hp/...&cc=

选择电脑系统后,下载通用pcl6驱动程序安装试下。

2、重启后台打印池程序试下,以下是方法:

您在“计算机”上面点右键,有一个管理――服务与应用程序――服务,您在这里面找print spooler服务,重启这个服务

如果上面的方法都试过不行,请问是什么系统的电脑?

打印机和电脑是如何连接的?

请提供上面的信息,可以追问。

问题十:句柄无效是什么意思 句柄

句柄概念在WINDOWS编程中是一个很重要的概念,在许多地方都扮演着重要的角色。但由此而产生的句柄概念也大同小异,比如:>(Microsoft Press,by Richard Wilton)一书中句柄的概念是:在Windows环境中,句柄是用来标识项目的,这些项目包括:

*.模块(module)

*.任务(task)

*.实例(instance)

*.文件(file)

*.内存块(block of memory)

*.菜单(menu)

*.控制(control)

*.字体(font)

*.资源(resource),包括图标(icon),光标(cursor),字符串(string)等

*.GDI对象(GDI object),包括位图(bitmap),画刷(brush),元文件(metafile),调色板(palette),画笔(pen),区域(region),以及设备描述表(device context)。

WINDOWS程序中并不是用物理地址来标识一个内存块,文件,任务或动态装入模块的,相反的,WINDOWS API给这些项目分配确定的句柄,并将句柄返回给应用程序,然后通过句柄来进行 *** 作。

在>(南京大学出版社)一书中是这么说的:句柄是WONDOWS用来标识被应用程序所建立或使用的对象的唯一整数,WINDOWS使用各种各样的句柄标识诸如应用程序实例,窗口,控制,位图,GDI对象等等。WINDOWS句柄有点象C语言中的文件句柄。

从上面的2个定义中的我们可以看到,句柄是一个标识符,是拿来标识对象或者项目的,它就象我们的姓名一样,每个人都会有一个,不同的人的姓名不一样,但是,也可能有一个名字和你一样的人。从数据类型上来看它只是一个16位的无符号整数。应用程序几乎总是通过调用一个WINDOWS函数来获得一个句柄,之后其他的WINDOWS函数就可以使用该句柄,以引用相应的对象。在WINDOWS编程中会用到大量的句柄,比如:HINSTANCE(实例句柄),HBITMAP(位图句柄),HDC(设备描述表句柄),HICON(图标句柄)等等,这当中还有一个通用的句柄,就是HANDLE,比如下面的语句:

HINSTANCE hInstance;

可以改成:

HANDLE hInstance;

上面的2句语句都是对的。

一个WINDOWS应用程序可以用不同的方法获得一个特定项的句柄。许多API函数,诸如CreateWindow,GlobalAlloc,OpenFile的返回值都是一个句柄值。另外,WINDOWS也能通过应用程序的引出函数将一个句柄作为参数传送给应用程序,应用程序一旦获得了一个确定项的句柄,便可在WINDOWS环境下的任何地方对这个句柄进行 *** 作。其实句柄的大量使用已经影响到了每一个WINDOWS的程序设计。

句柄只有当唯一的确定了一个项目的时候,它才开始有意义。句柄对应着项目表中的一项,而只有WINDOWS本身才能直接存取这个表,应用程序只能通过API函数来处理不同的句柄,举个例子来说吧!比如:我们可以为我们的应用程序申请一块内存块,通过调用API函数GlobalAlloc,来返回一个句柄值:

hMem=GlobalAlloc(......)

其实现在hMem的值只是一个索引值,不是物理地址,应用程序还......>>


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12364086.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存