Windows未公开函数揭密——之一
什么是未公开函数?
我相信大家对Windows的API函数调用都会很熟悉。API调用是通过在VB中定义和调用Windows动态链接库中的函数来扩展VB程序的功能。API的定义和调用方法在微软的开发工具中有详细的讲解。
那么什么是“未公开”的函数呢?微软出于某种目的。对于系统中封装的一些功能,任何开发文档中都没有提供功能描述和定义。而且这些功能很多都很有用。好在有一些有思想的人对Windows系统的动态链接库做了非常详细的分析,让这些未公开的功能公之于众,供广大开发者分享(我对他们的感谢犹如滔滔江水……)
好了,废话少说,言归正传。这里首先介绍一下Windows下未公开的关闭Windows的功能。虽然Windows API函数中提供了ExitWindowsEx等API函数,但是在一些程序中,由于已经安装了一些程序,我们需要提示用户重启电脑或者不重启电脑。或者你想在程序中弹出关闭系统对话框。要实现这些功能,我们需要使用Windows的未暴露功能。我们来看看程序。
首先,创建一个新的项目文件,并将一个模块文件添加到该项目文件中。将以下代码添加到模块文件中:
选项显式
作为布尔值的公共bIsWinNT
&急性;以下是未公布的函数定义。请注意,函数的真实名称不在别名之后使用。
&急性;而是用函数号,因为微软没有透露函数名。
声明函数SHRestartSystemMB Lib“shell32”
别名“#59”
(ByVal hOwner作长,_
ByVal sExtraPrompt作为字符串,_
ByVal uFlags一样长)
声明函数shshutdown dialog Lib“shell32”
别名“#60”
(ByVal YourGuess一样长)一样长
声明函数GetVersionEx Lib " kernel 32 " u
别名“GetVersionExA”
(lpversion information As OS version info)Long
0条评论