学习
实践
活动
工具
TVP
写文章

Win.ini和注册表读取写入

最近在做打包的工作,应用程序的配置信息可以放在注册表文件中,但是在以前的16位操作系统下,配置信息放在Win.ini文件中。下面介绍一下Win.ini文件的读写方法和注册表的编程。 )函数可以写入一个字符串到注册表的指定段中 但是CWinApp类的成员函数GetProfileString()函数可以注册表中获得指定目录下的指定段的字符串信息。 往注册表中写入内容和读取信息 WriteProfileString("name","dengyongbo","25");  CString str;  str=GetProfileString("name hkey); **************************************************************************                    注册表读取无名称并且类型为 hkey); /**************************************************************************                    注册表读取有名称和各种类型的数据

75990

使用C#操作注册表

首先来了解一下,什么是注册表注册表是Windows中特有的一个东西,百度百科中对其解释如下:Windows注册表(Registry)实质上是一个庞大的数据库,它存储着下面这些内容:用户计算机软、硬件的有关配置和状态信息 ,应用程序和资源管理器外壳的初始条件、首选项和卸载数据;计算机的整个系统的设置和各种许可,文件扩展名与应用程序的关联,硬件的描述、状态和属性;计算机性能记录和底层的系统状态信息,以及各类其他数据。 也就是说,这是个存储很重要的数据的东西,本文将仅从数据读取和写入入手,带读者一窥究竟,另外要注意,注册表不要随意修改,一旦注册表遭到损坏,将是致命的,可以说整个windows都依赖注册表。 创建注册表子项: 注册表宏观上是一个树结构,数据层面上看它是一个键值对的形式,具体的创建流程如下: using Microsoft.win32;//操作注册表所在的程序集 RegistryKey 读取数据: RegistryKey key; key = Registry.CurrentUser.OpenSubKey("Charles_Test"); var value = key.GetValue

11430
  • 广告
    关闭

    热门业务场景教学

    个人网站、项目部署、开发环境、游戏服务器、图床、渲染训练等免费搭建教程,多款云服务器20元起。

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    VBA专题07:使用VBA读写Windows注册表

    Windows注册表用于存储与计算机相关的各种设置,VBA中的GetSetting函数和SaveSetting函数能够读写Windows注册表,这样,我们不仅能够获取应用程序和硬件的信息,也可以将应用程序中的信息存储在注册表中以供使用 GetSetting GetSetting函数注册表中的应用程序项返回注册表项的设置值。 因此,在使用注册表返回的数值型值之前,应该使用合适的转换函数将返回值转换为数值数据类型。 3.GetSetting不能检索注册表项的缺省值。 3.该函数返回的二维数组的下标0开始。因此,第一个注册表项名可以通过引用元素(0,0)获取。 4.该函数只能返回属于section指定的最终注册表主键的注册表项名和数据。 如果主键含有一个或多个子键,则不能用这个函数读取它们的数据。 DeleteSetting DeleteSetting语句删除应用程序子键或数值项。

    1.1K10

    WMI 攻击手法研究 – 与 windows 注册表交互 (第三部分)

    1 Windows 注册表是什么 简单来说,注册表是一个存储操作系统配置设置的数据库:内核、设备驱动程序、服务、SAM、用户界面和第三方应用程序都使用注册表,这使得注册表成为攻击者非常关注的一个点。 读取值 现在让我们尝试读取子键的值,对于示例,将读取 Drivers32 子键 (定义应用程序的 Windows NT DLL) 的值。 现在已经知道如何使用 WMI 注册表读取键值对,然而,到目前为止,这些并不需要管理权限 —— 创建、删除和更新键和值可能需要提升权限。 创建注册表项 现在我们知道对在 HKEY_CURRENT_USER 下运行的注册表项有写访问权限,将计算器应用程序添加到注册表项中。 : PoweShell Empire 搜索和解密来自系统的 RDP、WinSCP、FileZilla、PuTTY 等会话信息。

    10520

    在windows下检查应用程序是否为兼容模式启动及使用Qt输出系统信息

    在windows环境下,当修改任何一个应用程序为兼容模式启动的时候,系统都会在相应的注册表里面写入信息 注册表位置为:"HKEY_CURRENT_USER\Software\Microsoft\Windows 注册表信息.png 2、Qt读取注册表信息并判断是否是兼容模式启动 使用QSettings来读取注册表中的内容,然后判断注册表中的key有没有包含测试程序的,如果有那么测试程序就是以兼容模式启动的。 = -1) { return true; } } return false; } 四、Qt读取应用程序的系统信息 在Qt里面有一个类可以获取当前进程启动的系统信息 ,此类为QSysInfo 它内部有获取当前应用程序启动系统信息的方法,详见下图: ? 枚举.png 通过该方法可以读取:static WinVersion windowsVersion(); 接下来写一个小例子来看下各个函数都输出了什么: ?

    57040

    Firefox 和内嵌 Gecko 程序的 Plugins

    交流群里与群友们说起插件相关的一些东西,自己在本地测试了一下,然后推论出一些粗浅认识总结如下:(欢迎有兴趣和正在进行 mozilla 相关的一些开发的朋友加群交流) 一般来讲,对于 firefox 和其它内嵌 Gecko 内核的应用程序来讲 appdata%\Mozilla\Firefox\Profiles\wgnbwzjm.default 文件夹里头的 pluginreg.dat 文件里有具体配置项,插件是否启用和其它插件相关信息将从这里读取并在 此设置对安装的 firefox 等这种在应用程序里启用 profile 的程序有效(我自己写的内嵌 Gecko 的程序因为没有启用 profile,所以并无此文件,只能根据 plugins 和注册表来查找和显示插件 下查看这些 DLL 的属性,发现有 MIMEType,FileOpenName,FileExtents 与下面在 about:plugins 里看到的 MIME 类型,描述,后缀三项一一对应,应该就是直接插件 DLL 的属性里读取的。

    18910

    Firefox 和内嵌 Gecko 程序的 Plugins

    里与群友们说起插件相关的一些东西,自己在本地测试了一下,然后推论出一些粗浅认识总结如下:(欢迎有兴趣和正在进行 mozilla 相关的一些开发的朋友加群交流) 一般来讲,对于 firefox 和其它内嵌 Gecko 内核的应用程序来讲 appdata%\Mozilla\Firefox\Profiles\wgnbwzjm.default 文件夹里头的 pluginreg.dat 文件里有具体配置项,插件是否启用和其它插件相关信息将从这里读取并在 此设置对安装的 firefox 等这种在应用程序里启用 profile 的程序有效(我自己写的内嵌 Gecko 的程序因为没有启用 profile,所以并无此文件,只能根据 plugins 和注册表来查找和显示插件 下查看这些 DLL 的属性,发现有 MIMEType,FileOpenName,FileExtents 与下面在 about:plugins 里看到的 MIME 类型,描述,后缀三项一一对应,应该就是直接插件 DLL 的属性里读取的。

    17110

    Python For D

    Python For Delphi搭建了Delphi和强大的脚本语言Python的桥梁,使用起来非常方便,让Delphi华丽的界面配合Python强大、简洁、稳定的后台逻辑处理能力,让应用程序模块清晰、 原来TPythonEngine在初始化的时候首先查找注册表中有没有对应的路径设置信息,如果有,则直接注册表读取而不再执行OnPathInitialization,如TPythonEngine的RegVersion 为2.4,它就去注册表查找是否有[HKEY_LOCAL_MACHINE/SOFTWARE/Python/PythonCore/2.4/PythonPath],如果有直接读取,没有调用OnPathInitialization ,在OnPathInitialization中可以通过程序设置Python的库路径,设置成功后会写入注册表

    57120

    volatility 各个选项的详解

    Commands: amcache:查看Amcache应用程序痕迹信息 apihooks:检测内核及进程的内存空间中的API hook atoms:列出会话及窗口站atom表 atomscan 转储大分页池 (big page pools) bioskbd:从实施模式内存中读取键盘缓冲数据(早期电脑可以读取出BIOS开机密码) cachedump:获取内存中缓存的域账号的密码哈希 注册表配置单元池扫描 hpakextract:HPAK文件(Fast Dump格式)提取物理内存数据 hpakinfo:查看HPAK文件属性及相关信息 idt:显示中断描述符表 打印进程任务链接信息 kdbgscan:搜索和转储潜在KDBG值 kpcrscan:搜索和转储潜在KPCR值 ldrmodules:检测未链接的动态链接DLL lsadump:注册表中提取 Shim缓存注册表项 shutdowntime:内存中的注册表信息获取机器关机时间 sockets:打印已打开套接字列表 sockscan:TCP套接字对象池扫描 ssdt:

    2.1K20

    如何确定恶意软件是否在自己的电脑中执行过?

    一个预读取文件的命名规则为”可执行文件名+文件路径的哈希+后缀名.pf”,预读取文件中会保存文件的第一次和最后一次运行日期、文件路径和执行次数等信息。 注:Windows Server默认禁用了预读取功能。 注册表 没错,Windows注册表可是一个巨大的“宝藏”,注册表可以算是Windows系统能够正常运行的基石了。 ShimCache 微软使用了ShimCache或“AppCompatCache”来识别应用程序的兼容性问题。缓存数据能够追踪文件路径、大小、最后修改时间和最后一次运行的时间。 Windows使用MUICache来存储应用程序名以及其他相关信息,获取来的信息主要存储在下面的注册表键中: HKCUSoftwareMicrosoftWindowsShellNoRoamMUICache 在更新版本的Windows中,审计功能所能记录的信息将更加精确化,并且微软Windows Server 2008 R2以及Windows 7中将这个功能整合到了Group Policy(组策略)中。

    60450

    ASP.NET实现身份模拟

    不论应用程序中使用哪种身份验证类型,模拟都会发生。 只能模拟应用程序代码,编译和配置作为进程标记读取。编译的结果放在“Temporary ASP.NET files”目录中。 您可以以编程的方式读取被模拟用户的标识,如下例所示。 为了增强安全性,标识部分支持在注册表中存储加密的 userName 和 password 属性,如下例所示。    逗号之后的部分包含一个字符串值的名称,ASP.NET 从此名称中读取凭据。必须有逗号,并且凭据必须存储在 HKLM 配置单元中。 可以用 ASP.NET 设置注册表控制台应用程序 (Aspnet_setreg.exe) 来创建加密凭据并将它们存储在注册表中。该应用程序使用 CryptProtectData 完成加密。

    21920

    获取主机已安装程序的多种方式

    0x04 通过注册表获取安装程序列表 这种方式一般都是通过读取以下4个注册表项中的子健来获取主机上的已安装程序,每个子健代表一个已安装的程序,对应的是控制面板的程序和功能程序列表,Wow6432Node 所以我们可以直接通过Mofcomp.exe执行SampleProductsList.mof文件将读取到的注册表项中的子健结果添加进VMI数据库中,然后再用WMIC命令查询即可。 propertycontext("DisplayVersion")] string DisplayVersion; }; (2) Powershell 这个Powershell脚本是@3gstudent师傅写的,也是通过读取几个注册表项来获取主机上的已安装程序 ,加了个判断系统位数,自动判断注册表重定向,但这种方式在执行时肯定会被某数字防护拦截。 x64的已安装应用程序列表,所以会少一些,而enum_applications这个模块同时读取x64和x32的已安装应用程序列表,所以比较完整。

    11820

    一起学Excel专业开发20:Excel工时报表与分析系统开发(3)——启动与关闭

    版本和独立性检查 Excel各版本之间还是存在差异的,特别是97版到2000版、2003版到2007版,因此,在应用程序运行时必须满足其所要求的最低版本。 2.对于检查是否安装了其他应用程序,可以利用API函数直接查看注册表,或者使用函数CreateObject来创建一个应用程序的进程实例,并判断是否创建成功。 而保存这些设置最方便的地方是加载宏中的工作表,或者是与应用程序相同目录下的纯文本文件,或者是注册表。 End If End With If Not wkbTemp Is Nothing Then wkbTemp.Close False End Sub 关闭时恢复Excel设置 '注册表读取 RestoreExcelSettings() Dim vKey As Variant Dim vBarName As Variant Dim objTemp As Object '注册表中恢复最初的

    36320

    activexobject是什么意思_session函数

    在某些情况下,这些程序可被用来以您不允许的方式计算机收集信息、破坏您的计算机上的数据、在未经您同意的情况下在您的计算机上安装软件或者允许他人远程控制您的计算机。 Automation服务器至少提供一类对象,例如字处理应用程序可能提供应用程序对象、文档对象和工具栏对象。 javascript取得机器名,用户名,读写注册表,启动应用程序 //javascript有个特殊的对象ActiveXObject,通过它可以访问windows的本地文件系统和应用程序, 比如:有的时候我们需要得到用户的机器名,用户名,得到某个文件的信息,或者读写注册表,或者启动计算器、outlook等应用程序。 { var calc=new ActiveXObject(“WScript.shell”); calc.Run(“calc”); } //读取注册表中的值

    6620

    利用Windows性能计数器(PerformanceCounter)监控

    计数器通常提供操作系统、应用程序、服务、驱动程序等的性能相关信息,以此来分析系统瓶颈和对系统及应用程序性能进行诊断和调优。 性能计数器机制让应用程序和操作系统组件可以向性能监视应用程序,比如性能监视器(Performance Monitor),报告一些与性能有关的统计信息。 Windows中,注册表是访问性能计数器的一种机制。 性能信息并不实际存在于注册表中,在注册表编辑器RegEdit.exe中是无法查看的,但可以通过注册表函数来访问,利用注册表键来获得性能数据提供者那里提供的数据。 Request Execution Time Requests/Hour Requests/5Min Requests/Min Requests/Sec 但是真正需要做这些性能计数器的安装/卸载,计数,读取还是需要大量的代码

    1.3K90

    要学习微服务的服务发现?先来了解一些科普知识吧

    在传统应用中,服务实例的地址信息相对固定,可以配置文件中读取。而这些地址也只是只会偶尔更新。 但在现代应用程序中,往往是基于云的微服务架构,此时获取服务实例的IP和端口便是一个需要解决的难题。 下图为这种模式的架构图: 此种模式下,当服务实例启动时,会将自己的地址信息注册到服务注册表,当服务停止时服务注册表中移除。这期间,通常使用心跳机制来定刷新服务实例的注册。 Consul可以存储在Consul服务注册表中的配置数据中定时重新生成任意配置文件。每当文件改变时,可以运行一个任意shell命令。 服务注册表 服务注册表是服务发现的关键,它是一个包含服务实例地址信息的数据库。服务注册表需要具有高可用性和实时更新性。客户端可以缓存注册表获得的服务实例地址信息。 Registrator支持多种注册表,包括etcd和Consul。 NetflixOSS Prana项目是另外一个示例,它主要用于非JVM语言编写的服务,是与服务实例并行的Sidecar应用程序

    12020

    微服务架构中的服务发现

    例如,您的代码可以偶尔更新的配置文件读取网络位置。 然而,在现代的基于云的微服务应用中,这是一个更难解决的问题,如下图所示。 ? 服务实例具有动态分配的网络位置。 这种模式是相对简单的,除了服务注册表,没有其他移动部件。此外,由于客户端了解可用的服务实例,因此可以进行智能的,特定于应用程序的负载均衡策略,例如一致性Hash。 服务注册表 服务注册表是服务发现的关键部分。它是一个包含服务实例的网络位置的数据库。服务注册表需要高度可用和最新。客户端可以缓存服务注册表获得的网络位置。 总结 在微服务应用程序中,运行的服务实例集会动态更改。实例具有动态分配的网络位置。因此,为了使客户端向服务发出请求,它必须使用服务发现机制。 服务发现的关键部分是服务注册表。 服务注册表是可用服务实例的数据库。服务注册表提供管理API和查询API。服务实例使用管理API服务注册表注册和注销。系统组件使用查询API来发现可用的服务实例。

    67980

    微服务架构:Eureka参数配置项详解

    Eureka客户端配置 1、RegistryFetchIntervalSeconds eureka服务器注册表中获取注册信息的时间间隔(s),默认为30秒 2、InstanceInfoReplicationIntervalSeconds eureka需要超时连接之前需要等待的时间,默认为5秒 12、BackupRegistryImpl 获取实现了eureka客户端在第一次启动时读取注册表的信息作为回退选项的实现名称 13、EurekaServerTotalConnections eureka服务注册表信息里的以逗号隔开的地区名单,如果不这样返回这些地区名单,则客户端启动将会出错。 28、FilterOnlyUpInstances(*) 是否获得处于开启状态的实例的应用程序过滤之后的应用程序。 52、RemoteRegionRegistryFetchInterval 远程区域取出该注册表的信息的时间间隔,默认为30秒 53、RemoteRegionFetchThreadPoolSize 用于执行远程区域注册表请求的线程池的大小

    61430

    内网渗透之各种密码凭证窃取 - 渗透红队笔记

    ----Micropoor 密码窃取 注册表读取密码 ---- 注册表读取密码主要获取的是两个文件: reg save HKLM\SYSTEM Sys.hiv reg save HKLM\SAM Sam.hiv 导出注册表之后,我们可以通过mimikatz读取密码hash值: mimikatz读取密码 mimikatz.exe "lsadump::sam /sam:Sam.hiv /system:Sys.hiv ---- LaZagne读取各类密码(浏览器等) LaZagne是用于开源应用程序获取大量的密码存储在本地计算机上。每个软件都使用不同的技术(明文,API,自定义算法,数据库等)存储其密码。 windows的密码是经过hash后存储的,本地存在hklm\sam,hklm\system注册表中。 六:获取key(用于解密) 通过注册表方式,吧key保存下来 reg save HKLM\SYSTEM c:\Sys.hiv ? ?

    1.5K30

    扫码关注腾讯云开发者

    领取腾讯云代金券