在 Windows 操作系统注册表中,winlogon 项是与登录和注销过程有关的重要设置
计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
在Windows操作系统的注册表中,winlogon项是与登录和注销过程相关的重要设置。它包含了一些用于配置用户登录和注销行为的键值。
以下是winlogon项中常见的键值及其作用:
AutoAdminLogon:
类型:REG_SZ
默认值:0
说明:指定在系统启动时是否自动登录到默认用户。如果将其设置为1,则系统会使用DefaultUserName和DefaultPassword键值指定的凭据来进行自动登录。
DefaultDomainName:
类型:REG_SZ
默认值:空字符串
说明:指定自动登录或交互式登录的默认域名(网络)名称。
DefaultUserName:
类型:REG_SZ
默认值:空字符串
说明:指定自动登录或交互式登录的默认用户名。
DefaultPassword:
类型:REG_SZ
默认值:空字符串
说明:指定自动登录时使用的密码。请注意,该值以明文形式存储在注册表中,因此安全性较低。
LegalNoticeCaption:
类型:REG_SZ
默认值:空字符串
说明:指定登录画面上法律通知对话框的标题。
LegalNoticeText:
类型:REG_SZ
默认值:空字符串
说明:指定登录画面上法律通知对话框的正文内容。
Shell:
类型:REG_SZ
默认值:explorer.exe
说明:指定用户登录后默认启动的程序或Shell界面。通常情况下,默认值为explorer.exe,即Windows资源管理器。
Userinit:
类型:REG_SZ
默认值:userinit.exe
说明:指定在用户登录后执行的程序,通常用于初始化用户环境和加载用户配置。
UIHost:
类型:REG_SZ
默认值:logonui.exe
说明:指定用户登录画面的用户界面主机程序。
GinaDLL(仅适用于早期版本的Windows):
类型:REG_SZ
默认值:msgina.dll
说明:指定用户登录和注销过程所使用的Gina DLL(Graphical Identification and Authentication),它负责提供用户身份验证和交互式登录的界面。
PowerdownAfterShutdown:
类型:REG_SZ
默认值:1
说明:指定系统在关机后是否自动关闭电源。如果将其设置为1,则系统会自动关闭电源;如果设置为0,则系统在关机后保持电源打开。
计算机注册表中的HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Tcpip\Parameters键路径是用于配置TCP/IP协议相关参数的地方。下面是该键路径下一些常见的键值及其作用:
Domain:
类型:REG_SZ
默认值:空字符串
说明:指定计算机所属的域名。
HostName:
类型:REG_SZ
默认值:计算机的名称
说明:指定计算机的主机名(也称为计算机名)。
NV Hostname:
类型:REG_SZ
默认值:计算机的名称
说明:存储计算机的主机名,用于网络检测和配置。
DhcpIPAddress:
类型:REG_SZ
默认值:空字符串
说明:如果使用动态主机配置协议(DHCP)获取IP地址,则此键值会存储计算机获得的IP地址。
EnableDNS:
类型:REG_DWORD
默认值:1
说明:指定是否启用DNS(Domain Name System)解析功能。设置为1表示启用,设置为0表示禁用。
NameServer:
类型:REG_SZ
默认值:空字符串
说明:指定计算机使用的首选DNS服务器的IP地址。
SearchList:
类型:REG_SZ
默认值:空字符串
说明:指定DNS搜索列表,用于在主机名解析时自动添加域名后缀。
TcpWindowSize:
类型:REG_DWORD
默认值:0
说明:指定TCP窗口大小,用于控制数据传输的流量控制。
DefaultTTL:
类型:REG_DWORD
默认值:128
说明:指定IP数据包的生存时间(Time To Live,TTL),即数据包在网络中经过的最大路由跳数。
EnablePMTUDiscovery:
类型:REG_DWORD
默认值:1
说明:指定是否启用路径最大传输单元(Path MTU)发现功能。设置为1表示启用,设置为0表示禁用。启用后,将根据网络状况自动调整数据包的最大传输单元大小。
EnableICMPRedirect:
类型:REG_DWORD
默认值:1
说明:指定是否允许接收并处理ICMP重定向消息。设置为1表示允许,设置为0表示禁止。
EnableDeadGWDetect:
类型:REG_DWORD
默认值:1
说明:指定是否启用死网关检测功能。设置为1表示启用,设置为0表示禁用。启用后,将定期检测默认网关的可达性。
EnableDHCP:
类型:REG_DWORD
默认值:1
说明:指定是否启用动态主机配置协议(DHCP)功能。设置为1表示启用,设置为0表示禁用。
EnableSecurityFilters:
类型:REG_DWORD
默认值:0
说明:指定是否启用入站和出站安全过滤器功能。设置为1表示启用,设置为0表示禁用。
DisableIPSourceRouting:
类型:REG_DWORD
默认值:2
说明:指定是否禁用IP源路由功能。设置为0表示启用完全源路由(Full Source Routing),设置为1表示启用宽松源路由(Loose Source Routing),设置为2表示禁用源路由。
"OpenSaveMRU" 是 Windows 注册表中的一个子键,用于存储最近打开和保存的文件的记录。该子键位于以下注册表路径下:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\OpenSaveMRU
在 OpenSaveMRU 子键下,您会看到一系列以字母顺序命名的子项。每个子项对应一个程序的最近打开或保存的文件记录。它们通常以数字(如 "a"、"b"、"c" 等)来命名。
在每个子项下,有一个或多个以数字命名的值,这些值代表具体的文件路径。这些值对应于用户最近在特定程序中打开或保存的文件。
下面是关于 OpenSaveMRU 在不同版本的 Windows 操作系统中的功能更新情况:
Windows XP:
在 Windows XP 中,OpenSaveMRU 子键用于存储最近打开和保存的文件记录。它记录了用户在不同程序中打开或保存的文件路径。
Windows Vista 和 Windows 7:
Windows Vista 和 Windows 7 中的 OpenSaveMRU 子键功能与 Windows XP 类似。它们仍然用于存储最近使用的打开和保存记录。
Windows 8 和 Windows 10:
Windows 8 和 Windows 10 采用了新的存储方式,将最近使用的文件记录存储在 Jump Lists 中。Jump Lists 是任务栏上程序图标右键点击后显示的菜单,其中包含最近使用的文件和其他快捷操作。
因此,在 Windows 8 和 Windows 10 中,OpenSaveMRU 的功能有所减弱。它不再存储最近使用的文件记录,而是使用 Jump Lists 来提供更方便的访问。
需要注意的是,以上只是一般情况下 OpenSaveMRU 的功能更新情况,具体情况可能因操作系统版本、更新和个性化设置而有所不同。
Jump Lists(跳转列表)是 Windows 7、Windows 8和Windows 10操作系统中的一个功能,旨在提供快速访问最近使用的文件、常用任务和其他相关内容的便捷方式。
跳转列表通常与任务栏上的应用程序图标关联。通过右键单击或长按应用程序图标,会弹出一个菜单,其中包含最近使用的文件、常用任务和其他操作选项。
以下是一些 Jump Lists 的特点和用途:
最近使用的文件:Jump Lists 会显示最近打开的文件,使用户能够通过直接点击文件名来快速访问。这可以加快文件的打开速度,避免了每次都要通过资源管理器或应用菜单来打开文件。
常用任务:Jump Lists 还可以包含与应用程序相关的常用任务,例如最近编辑的文档、常用操作、快速创建新文件等。这使得用户能够更方便地执行常见的操作,提高工作效率。
自定义设置:用户可以通过右键单击 Jump Lists 来进行自定义设置,如添加或删除常用任务或最近使用的文件。这样可以根据个人偏好定制 Jump Lists 的内容,以更好地满足用户的需求。
Jump Lists 的相关信息和设置存储在 Windows 注册表中的不同位置,具体取决于操作系统版本和用户配置的情况。下面是一般情况下 Jump Lists 的注册表位置:
对于个别用户:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\JumpListItems
对于所有用户:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist{CEBFF5CD-ACE2-4F4F-9178-9926F41749EA}\Count
需要注意的是,以上是 Jump Lists 的默认注册表位置,具体路径可能因操作系统版本、更新和个性化设置而有所不同。此外,Jump Lists 的数据以一种被称为 Shell Link (.LNK) 文件的格式进行存储。
ms-edge
Microsoft Edge 浏览器的历史文件夹路径通常位于以下位置:
C:\Users\YourUserName\AppData\Local\Microsoft\Edge\User Data\Default\History
比如:C:\Users\Administrator\AppData\Local\Microsoft\Edge\User Data\Default
其中,YourUserName 是您登录 Windows 的用户名。
需要注意的是,AppData 文件夹通常是隐藏的,您可以在文件管理器中的“查看”选项卡中勾选“隐藏项目”复选框来显示它。另外,如果您使用的是不同版本的 Microsoft Edge 或自定义了配置设置,则历史文件夹的位置可能有所不同。
Microsoft Edge 浏览器的历史记录在注册表中的路径可以通过以下位置找到:
HKEY_CURRENT_USER\Software\Microsoft\Edge\Main
在这个注册表路径下,可以找到一个名为 "History Path" 的字符串值,该值存储了 Microsoft Edge 历史文件夹的完整路径。
https://blog.****.net/Dome_/article/details/105149164
https://blog.****.net/Captain_RB/article/details/111653887
推荐阅读
-
在 Windows 操作系统注册表中,winlogon 项是与登录和注销过程有关的重要设置
-
windows下进程间通信的(13种方法)-摘 要 本文讨论了进程间通信与应用程序间通信的含义及相应的实现技术,并对这些技术的原理、特性等进行了深入的分析和比较。 ---- 关键词 信号 管道 消息队列 共享存储段 信号灯 远程过程调用 Socket套接字 MQSeries 1 引言 ---- 进程间通信的主要目的是实现同一计算机系统内部的相互协作的进程之间的数据共享与信息交换,由于这些进程处于同一软件和硬件环境下,利用操作系统提供的的编程接口,用户可以方便地在程序中实现这种通信;应用程序间通信的主要目的是实现不同计算机系统中的相互协作的应用程序之间的数据共享与信息交换,由于应用程序分别运行在不同计算机系统中,它们之间要通过网络之间的协议才能实现数据共享与信息交换。进程间通信和应用程序间通信及相应的实现技术有许多相同之处,也各有自己的特色。即使是同一类型的通信也有多种的实现方法,以适应不同情况的需要。 ---- 为了充分认识和掌握这两种通信及相应的实现技术,本文将就以下几个方面对这两种通信进行深入的讨论:问题的由来、解决问题的策略和方法、每种方法的工作原理和实现、每种实现方法的特点和适用的范围等。 2 进程间的通信及其实现技术 ---- 用户提交给计算机的任务最终都是通过一个个的进程来完成的。在一组并发进程中的任何两个进程之间,如果都不存在公共变量,则称该组进程为不相交的。在不相交的进程组中,每个进程都独立于其它进程,它的运行环境与顺序程序一样,而且它的运行环境也不为别的进程所改变。运行的结果是确定的,不会发生与时间相关的错误。 ---- 但是,在实际中,并发进程的各个进程之间并不是完全互相独立的,它们之间往往存在着相互制约的关系。进程之间的相互制约关系表现为两种方式: ---- (1) 间接相互制约:共享CPU ---- (2) 直接相互制约:竞争和协作 ---- 竞争——进程对共享资源的竞争。为保证进程互斥地访问共享资源,各进程必须互斥地进入各自的临界段。 ---- 协作——进程之间交换数据。为完成一个共同任务而同时运行的一组进程称为同组进程,它们之间必须交换数据,以达到协作完成任务的目的,交换数据可以通知对方可以做某事或者委托对方做某事。 ---- 共享CPU问题由操作系统的进程调度来实现,进程间的竞争和协作由进程间的通信来完成。进程间的通信一般由操作系统提供编程接口,由程序员在程序中实现。UNIX在这个方面可以说最具特色,它提供了一整套进程间的数据共享与信息交换的处理方法——进程通信机制(IPC)。因此,我们就以UNIX为例来分析进程间通信的各种实现技术。 ---- 在UNIX中,文件(File)、信号(Signal)、无名管道(Unnamed Pipes)、有名管道(FIFOs)是传统IPC功能;新的IPC功能包括消息队列(Message queues)、共享存储段(Shared memory segment)和信号灯(Semapores)。 ---- (1) 信号 ---- 信号机制是UNIX为进程中断处理而设置的。它只是一组预定义的值,因此不能用于信息交换,仅用于进程中断控制。例如在发生浮点错、非法内存访问、执行无效指令、某些按键(如ctrl-c、del等)等都会产生一个信号,操作系统就会调用有关的系统调用或用户定义的处理过程来处理。 ---- 信号处理的系统调用是signal,调用形式是: ---- signal(signalno,action) ---- 其中,signalno是规定信号编号的值,action指明当特定的信号发生时所执行的动作。 ---- (2) 无名管道和有名管道 ---- 无名管道实际上是内存中的一个临时存储区,它由系统安全控制,并且独立于创建它的进程的内存区。管道对数据采用先进先出方式管理,并严格按顺序操作,例如不能对管道进行搜索,管道中的信息只能读一次。 ---- 无名管道只能用于两个相互协作的进程之间的通信,并且访问无名管道的进程必须有共同的祖先。 ---- 系统提供了许多标准管道库函数,如: pipe——打开一个可以读写的管道; close——关闭相应的管道; read——从管道中读取字符; write——向管道中写入字符; ---- 有名管道的操作和无名管道类似,不同的地方在于使用有名管道的进程不需要具有共同的祖先,其它进程,只要知道该管道的名字,就可以访问它。管道非常适合进程之间快速交换信息。 ---- (3) 消息队列(MQ) ---- 消息队列是内存中独立于生成它的进程的一段存储区,一旦创建消息队列,任何进程,只要具有正确的的访问权限,都可以访问消息队列,消息队列非常适合于在进程间交换短信息。 ---- 消息队列的每条消息由类型编号来分类,这样接收进程可以选择读取特定的消息类型——这一点与管道不同。消息队列在创建后将一直存在,直到使用msgctl系统调用或iqcrm -q命令删除它为止。 ---- 系统提供了许多有关创建、使用和管理消息队列的系统调用,如: ---- int msgget(key,flag)——创建一个具有flag权限的MQ及其相应的结构,并返回一个唯一的正整数msqid(MQ的标识符); ---- int msgsnd(msqid,msgp,msgsz,msgtyp,flag)——向队列中发送信息; ---- int msgrcv(msqid,cmd,buf)——从队列中接收信息; ---- int msgctl(msqid,cmd,buf)——对MQ的控制操作; ---- (4) 共享存储段(SM) ---- 共享存储段是主存的一部分,它由一个或多个独立的进程共享。各进程的数据段与共享存储段相关联,对每个进程来说,共享存储段有不同的虚拟地址。系统提供的有关SM的系统调用有: ---- int shmget(key,size,flag)——创建大小为size的SM段,其相应的数据结构名为key,并返回共享内存区的标识符shmid; ---- char shmat(shmid,address,flag)——将当前进程数据段的地址赋给shmget所返回的名为shmid的SM段; ---- int shmdr(address)——从进程地址空间删除SM段; ---- int shmctl (shmid,cmd,buf)——对SM的控制操作; ---- SM的大小只受主存限制,SM段的访问及进程间的信息交换可以通过同步读写来完成。同步通常由信号灯来实现。SM非常适合进程之间大量数据的共享。 ---- (5) 信号灯 ---- 在UNIX中,信号灯是一组进程共享的数据结构,当几个进程竞争同一资源时(文件、共享内存或消息队列等),它们的操作便由信号灯来同步,以防止互相干扰。 ---- 信号灯保证了某一时刻只有一个进程访问某一临界资源,所有请求该资源的其它进程都将被挂起,一旦该资源得到释放,系统才允许其它进程访问该资源。信号灯通常配对使用,以便实现资源的加锁和解锁。 ---- 进程间通信的实现技术的特点是:操作系统提供实现机制和编程接口,由用户在程序中实现,保证进程间可以进行快速的信息交换和大量数据的共享。但是,上述方式主要适合在同一台计算机系统内部的进程之间的通信。 3 应用程序间的通信及其实现技术 ---- 同进程之间的相互制约一样,不同的应用程序之间也存在竞争和协作的关系。UNIX操作系统也提供一些可用于应用程序之间实现数据共享与信息交换的编程接口,程序员可以通过自己编程来实现。如远程过程调用和基于TCP/IP协议的套接字(Socket)编程。但是,相对普通程序员来说,它们涉及的技术比较深,编程也比较复杂,实现起来困难较大。 ---- 于是,一种新的技术应运而生——通过将有关通信的细节完全掩盖在某个独立软件内部,即底层的通讯工作和相应的维护管理工作由该软件内部来实现,用户只需要将通信任务提交给该软件去完成,而不必理会它的具体工作过程——这就是所谓的中间件技术。 ---- 我们在这里分别讨论这三种常用的应用程序间通信的实现技术——远程过程调用、会话编程技术和MQSeries消息队列技术。其中远程过程调用和会话编程属于比较低级的方式,程序员参与的程度较深,而MQSeries消息队列则属于比较高级的方式,即中间件方式,程序员参与的程度较浅。 ---- 4.1 远程过程调用(RPC)