内核编程如何获得一个打开的文件的句柄

内核编程如何获得一个打开的文件的句柄,第1张

ShellExecute() 会返回 HINSTANCE,根据 HINSTANCE 去查找 Process
用 FindWindow 查找顶层窗口,再判断是否隶属于这个 Process,至于所谓主窗口还是子窗口,则属于逻辑上的问题,所以不好判断。

磁盘繁忙程度一般用iostat看
可以从 /proc/sys/fs/file-nr,看到整个系统目前使用的文件句柄数量
查找文件句柄问题的时候,还有一个很实用的程序lsof可以很方便看到某个进程开了那些句柄也可以看到某个文件/目录被什么进程占用了

hIcon = 取图标句柄 (, “D:\123ico”, 1, 32, 32, 16)

版本 2
子程序 取图标句柄, 整数型, 公开
参数 实例句柄, 整数型, 可空
参数 图象名, 文本型
参数 图像类型, 整数型
参数 宽, 整数型
参数 高, 整数型
参数 标志, 整数型
返回 (LoadImage (实例句柄, 图象名, 图像类型, 宽, 高, 标志))

版本 2
DLL命令 LoadImage, 整数型, "user32", "LoadImageA", , 载入一个位图、图标或指针 执行成功则返回对象的一个句柄;零表示失败
参数 实例句柄, 整数型, , 要从其中载入图象的DLL或应用程序模块或实例句柄。零表示装载一幅固有图象
参数 图象名, 文本型, , 欲载入图象的名字。如指定了hInst,就用这个参数指定资源或资源的标志符(标志符是一个长整数)。如hInst为空,而且已指定了LR_LOADFROMFILE,那么这个参数代表文件名(位图、图标或指针文件)。如果是个Long型值,这个参数就代表固有位图、图标或指针的编号
参数 图象类型, 整数型, , 下述常数之一,指定了欲载入的图象类型:IMAGE_BITMAP, IMAGE_CURSOR, IMAGE_ICON
参数 图象宽度, 整数型, , 要求的图象宽度和高度。图象会根据情况自动伸缩。如设为零,表示用图象的默认大小
参数 图象高度, 整数型, , 同上
参数 常数组合, 整数型, , 下述常数的任意组合,它们都在api32txt文件中得到了定义:;LR_DEFAULTCOLOR:以常规方式载入图象;LR_LOADREALSIZE:不对图象进行缩放处理。忽略n1和n2的设置;LR_CREATEDIBSECTION:如果指定了IMAGE_BITMAP,就返回DIBSection的句柄,而不是位图的句柄;LR_DEFAULTSIZE:如果n1和n2为零,就使用由系统定义的图象默认大小,而不是图象本身定义的大小;LR_LOADFROMFILE:如hInst为零,lpsz就代表要载入适当类型的一个文件的名字,仅适用于Win95;LR_LOADMAP3DCOLORS:将图象中的深灰、灰、以及浅灰像素都替换成COLOR_3DSHADOW,COLOR_3DFACE以及COLOR_3DLIGHT的当前设置;LR_LOADTRANSPARENT:与图象中第一个像素相符的所有像素都由系统替换;LR_MONOCHROME:将图象转换成单色;LR_SHARED:将图象作为一个共享资源载入。在NT 40中装载固有资源时要用到这个设置;


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

原文地址: https://outofmemory.cn/yw/13389109.html

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

发表评论

登录后才能评论

评论列表(0条)

保存