草庐IT

注册公司

全部标签

c - 如何使用 Windows KMDF 注册软件中断?

我想在Windows10x64上使用相应的服务例程注册一个新的软件中断,这可能吗?是否提供了API来执行此操作?我是否必须使用未记录的功能手动完成此操作,这样做会触发内核补丁保护吗? 最佳答案 注册软件中断会导致针对正在运行的操作系统修改中断描述符表(IDT)。Windows具有内核补丁保护(KPP)/PatchGuard,可保护内核代码和数据结构(例如IDT)不被篡改。这包括防止添加新的中断描述符条目、删除它们以及修改描述符表。这也意味着不能修改中断描述符条目。开发人员这样做的原因是将中断重定向到新的中断服务例程,也称为中断Hoo

windows - 所有用户都需要的注册表位置以避免 Vista 中的注册表虚拟化

在Vista中,标准用户无法再在HKLM\Software下创建或写入key。因此,要根据Vista标准移植代码,我应该将应用程序配置数据写入哪个键。文件夹的方式与%AllUsers%/AppData相同。我的主要要求是我应该避免写入HKLM\Software,但关键位置应该对注册下的所有用户都是通用的。谢谢,F 最佳答案 注册表是一个安全的对象。也就是说,您可以在管理安装期间更改您创建的key的ACL,以在HKLM中创建所有用户读/写key。也就是说,Users\public\AppData可能不会按照您的想法工作。该文件夹上的A

windows - 编译已安装软件列表时卸载注册表项中的重复条目

我正在尝试编译工作站上已安装软件的列表。经过一些研究,我决定使用以下注册表项中的信息来编译列表。HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall这是一个很好的来源,它还列出了未使用Win32_ProductsWMI类列出的项目。我遇到的一个怪癖是,在不同的注册表项下记录了一些具有相同显示名称的“重复”条目。例如,以下是WindowsMediaPlayer的键:[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninsta

windows - 注册表碎片整理程序

这个问题在这里已经有了答案:RewriteRegistryFileinWindows(3个答案)关闭9年前。这是出于好奇,但我见过几种(其中一些非常流行)名为注册表碎片整理程序的软件。虽然我可以看到它们提供的好处,但我很好奇您究竟是如何进行注册表碎片整理的?请注意,我不是在询问软件名称,只是对如何以编程方式完成的基本描述。我知道微软有磁盘碎片整理API。这是他们正在使用的吗?还是有“注册表碎片整理”api?

windows - 可以在 Win32 中创建私有(private)注册表吗?

我正在尝试开发一些东西,它需要一个分层数据库。有没有办法在Win32中创建自己的个人注册表,并使用注册表功能来填充和管理它? 最佳答案 没有,但是你可以使用真正的注册表。使用HKCU\Software\YourCompany\YourProduct。 关于windows-可以在Win32中创建私有(private)注册表吗?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/4705

c++ - 监视内核注册表更改

人们能否就我需要研究的主题给我一些建议(没有双关语意)以便能够做到这一点?我不是真正的Windows专家,但我能很快掌握新概念。我看到了MarkRussinovich和BryceCogswell写的进程监控程序:http://technet.microsoft.com/en-gb/sysinternals/bb896645它可以查看内核中注册表键值发生的所有事情。过去,我已经能够使用C#和用户级注册表访问来执行此类操作,但我无法使用从codeproject获得的包装器套件访问内核。人们可以帮助我了解我应该从哪里开始吗?我想我是在寻求更多有关Windows/OS方面的帮助。这样做的原因:

c++ - 注册游戏设备

我一直在寻找与此相关的问题,但找不到明确的答案。HowcanIfirstregisteradevice(programatically)asaGamepad/Joystick?Andthenpasstheevents(buttonclicks,analogdisplacement,etc)?还有,那我怎么用python做Driver(我知道主要是用c或者c++写的,api可以访问,我知道win32api可能会有用。我看过的,http://code.google.com/p/vmulti/.API:http://msdn.microsoft.com/en-us/library/windo

windows - 注册表中字符串值和二进制值的区别

谁能解释一下何时在Windows注册表中使用字符串值或二进制值?这些是否也有任何安全问题? 最佳答案 Iwanttostoredateinencryptedformat您必须使用二进制格式。加密数据不能存储在字符串中。当字符串规范化时,它会随机损坏,并不是每个字节值都是有效的Unicode代码点。如果您绝对想要一个字符串,那么您必须对数据进行编码,Convert.ToBase64String()。 关于windows-注册表中字符串值和二进制值的区别,我们在StackOverflow上找

python - 如何在不访问注册表的情况下仅返回环境变量中的用户路径?

这是我想要实现的:我正在编写一个基于Python的软件,它需要将新目录附加到Windows环境变量中的PATH。为此,我首先获取路径,然后修改字符串,最后使用SETX更新新的PATH。我的问题:我尝试了三种方法来获取PATH(使用python或cmd),但它们都返回给我USERPATH和SYSTEMPATH的组合。这三种方法是:os.environ['PATH']os.system('echo%PATH%')os.system('setPATH')我不能接受用户路径和系统路径的组合,因为这会导致新用户路径太长,并被截断为1024个字符(微软的限制)。我读过一篇有完全相同问题的帖子。在这

windows - 需要从 32 位和 64 位机器 Windows 机器读取注册表值

我需要使用.cmd文件读取一些注册表值。为此,我正在使用以下命令。FOR/f"tokens=2*"%%ain('regquery"HKLM\SOFTWARE\Looptest"/v"tscFile"')doset"TSCFile=%%b"问题是,当我在32位机器上安装软件时,注册表的路径是:"HKLM\SOFTWARE\Looptest"而当我在64位机器上安装软件时,路径变为:"HKLM\SOFTWARE\Wow6432Node\Looptest"有没有办法在不知道操作系统版本的情况下读取key?当然我知道最初我可以检查操作系统版本,然后可以相应地编写代码。但是,除此之外,还有其他方