社区
IBM开发者
帖子详情
用dephi来做一个聊天室,具体应该怎样?
nnzm
2001-09-03 05:25:09
大家给点意见吧
提点题点
谢谢了
...全文
38
1
打赏
收藏
用dephi来做一个聊天室,具体应该怎样?
大家给点意见吧 提点题点 谢谢了
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
iamdelphiman
2001-09-15
打赏
举报
回复
我这里有个源代码。你要不要。要的话发个email到lsf@gxzly.com.别忘了给我加分.
winxp系统结构5课(注册表)->1认识注册表
winxp系统结构5课(注册表)->1认识注册表
作者:netcicala 来源:www.netcicala.com 发布时间:2007-7-4 19:56:01
减小字体 增大字体
一.计算机原理2课(硬件)->
二.计算机脚本技术25课(DOS命令/批处理/VBS脚本)->
三.winxp系统结构5课(注册表)->
四.计算机病毒原理5课(VBS/VC语言实现)->
五.网络安全及其网络软件应用10课->
六.VB6.0程序设计入门10课->
七.C语言程序设计入门10课->
时间:每周一,二,四8:00~9:00。
UC房间:黑客家族网络安全
本人UC号:38378943 83034769
winxp系统结构5课(注册表)->1认识注册表
时间:6月28日晚20点30-22点
地点:UC
聊天室
-> 黑客家族网络安全
讲义地址:http://www.netcicala.com/article/sort015/info-251.html
大概内容:FSO 对象
主讲:网蝉。
WINXP的系统结构:
==============================================================
windows启动过程:
1,windows的启动过程:
一,winxp首先加载NTLDR文件。 此文件位于:C:根目录下。
二,初始化:NTLDR加载后会将处理器从实模式转化为32位保护模式。
三,读取boot.ini文件,c:\下的boot.ini和bootsect.dos配合来完成多操作系统的管理。
四,加载NtDetect.com文件:此文件的作用是检测计算机硬件,如并口,显示适配器等设备,
并将收集到的信息的硬件列表返回NTLDR用于以后的注册表中注册保存。
五,选择硬件配置文件,一般WINxp会按照默认形式加载,如要修改,可直接到设备管理器中进行修改。
六,装在内核:NtOsKrNl.exe 此文件位于windows\system32目录下。
七,HAL加载:HAL=硬件抽象层,系统会采用HAL来隐藏特定平台的硬件接口细节。
为操作系统提供虚拟硬件平台,使其具有硬件无关性。
八,内核初始化,NTLDR将控制权交给NtOsKrNl.exe,
九,开始装并初始化设备驱动程序,启动win32子系统和winxp的各项服务系统。
十,win32子系统启动winlogon.exe,并启动LSASS.EXE显示登陆对话框,同时windows也会配置网络设备/用户环境,
个性化设置等信息。
=====================================================
windows注册表
注册表的用途:
用来记录windows系统配置信息和软件配置情况的数据库。
什么是系统配置情况? 例如你把显示器分辨率变成800*600的了,下次启动的时候将会是800*600。
又如windows开机会自动运行哪些程序。
什么叫软件配置情况?例如我们设置uctools里面的自动留言功能,则在uctools.ini里面就有你设置自动回复的文字项在里面。
为什么很多安装软件都要去改写注册表?1,在系统中注册。2,在注册表中保存软件配置信息。
为什么某些软件你对他的使用情况配置了一下, 下次启动之后这个软件的配置就会保留?
1,注册表中
做
记录。
2,程序自身或程序的数据库文件内记录。
例子1:在数据文件中配置我们的软件。
Set fso = CreateObject("Scripting.FileSystemObject")
If fso.FileExists("password.txt") Then
set objTextFile = fso.OpenTextFile("password.txt",1)
k= objTextFile.Readline
l= objTextFile.Readline
objTextFile.Close
End If
Set f = fso.CreateTextFile("password.txt", True)
i=InputBox("输入用户名","用户信息确认",k)
j=InputBox("输入密码","用户信息确认",l)
f.WriteLine(i)
f.WriteLine(j)
f.Close
Set fso=Nothing
上面脚本执行第一次的时候,我们输入
一个
信息到程序中。
当地二次运行后,你会发现他所显示的是我们上一次打开这个程序的时候输入的内容。
注册表是用来记录WINDOWS系统配置信息的。 道理同我们上例中的password.txt文件一样,是
一个
数据库文件。
例子2:在注册表中配置我们的软件。
on error resume next
Set WshShell = WScript.CreateObject("WScript.Shell")
readreg = WshShell.RegRead("HKCU\Software\aaa\")
If readreg="" Then
MsgBox("软件没有配置过")
Else
MsgBox("配置信息为:"&readreg)
End If
aa=InputBox("输入/更改我们的软件配置信息")
WshShell.RegWrite"HKCU\Software\aaa\",aa, "REG_SZ"
set WshShell=Nothing
为什么双击exe文件会直接运行,而双击txt文本打开的却是记事本?
=====================================================
名称---〉数据类型--〉描述
二进制值
REG_BINARY
原始二进制数据。大多数硬件组件信息作为二进制数据存储,以十六进制的格式显示在注册表编辑器中。
=====================================================
DWORD 值
REG_DWORD
由 4 字节长(32 位整数)的数字表示的数据。设备驱动程序和服务的许多参数都是此类型,以二进制、十六进制或十进制格式显示在注册表编辑器中。与之有关的值是 DWORD_LITTLE_ENDIAN(最不重要的字节在最低位地址)和 REG_DWORD_BIG_ENDIAN(最不重要的字节在最高位地址)。
=====================================================
可扩展字符串值
REG_EXPAND_SZ
长度可变的数据字符串。这种数据类型包括程序或服务使用该数据时解析的变量。
=====================================================
多字符串值
REG_MULTI_SZ
多字符串。包含用户可以阅读的列表或多个值的值通常就是这种类型。各条目之间用空格、逗号或其他标记分隔。
=====================================================
字符串值
REG_SZ
长度固定的文本字符串。
=====================================================
二进制值
REG_RESOURCE_LIST
一系列嵌套的数组,用于存储硬件设备驱动程序或它控制的某个物理设备所使用的资源列表。此数据由系统检测并写入 \ResourceMap 树,作为二进制值以十六进制的格式显示在注册表编辑器中。
=====================================================
二进制值
REG_RESOURCE_REQUIREMENTS_LIST
一系列嵌套的数组,用于存储
一个
设备驱动程序(或其控制的某个物理设备)可以使用的硬件资源列表。系统将此列表的子集写入 \ResourceMap 树。此数据由系统检测,作为二进制值以十六进制的格式显示在注册表编辑器中。
=====================================================
二进制值
REG_FULL_RESOURCE_DESCRIPTOR
一系列嵌套的数组,用于存储物理硬件设备使用的资源列表。此数据由系统检测并写入 \HardwareDescription 树,作为二进制值以十六进制的格式显示在注册表编辑器中。
=====================================================
无
REG_NONE
没有
具体
类型的数据。此数据由系统或应用程序写到注册表,作为二进制值以十六进制的格式显示在注册表编辑器中。
=====================================================
链接
REG_LINK
一个
Unicode 字符串,它命名
一个
符号链接。
=====================================================
QWORD 值
REG_QWORD
由 64 位整数数字表示的数据。此数据作为二进制值显示在注册表编辑器中,最初用在 Windows 2000 中。
=====================================================
注册表配置单元是注册表中的一组项、子项和值,它有一组支持文件,这些文件包含其数据的备份。
在 Windows NT 4.0、Windows 2000、Windows XP 和 Windows Server 2003 中,除 HKEY_CURRENT_USER 之外,所有其他配置单元的支持文件都位于 Systemroot\System32\Config 文件夹中;
HKEY_CURRENT_USER 的支持文件位于C:\Documents and Settings\用户名\NTUSER.DAT文件夹中。
注册表配置单元 支持文件
HKEY_LOCAL_MACHINE\SAM Sam、Sam.log、Sam.sav
HKEY_LOCAL_MACHINE\Security Security、Security.log、Security.sav
HKEY_LOCAL_MACHINE\Software Software、Software.log、Software.sav
HKEY_LOCAL_MACHINE\System System、System.alt、System.log、System.sav
HKEY_CURRENT_CONFIG System、System.alt、System.log、System.sav、Ntuser.dat、Ntuser.dat.log
HKEY_USERS\DEFAULT Default、Default.log、Default.sav
注册表的修改方法:
1,REGEDIT
2,INF文件
3,REG命令
4,VBS
5,编程改写(如VB/VC/DELPHI等)
6,程序改写,如WINDOWS优化大师等软件。
Delphi编写Socket聊天程序:打造高效稳定的即时通讯系统
以下是使用 Delphi 编写基于 Socket 的简单聊天程序的示例代码。在这个示例代码中,我们将创建
一个
基于 TCP 协议的服务器和客户端,客户端可以连接到服务器并发送和接收消息。当有客户端连接到服务器时,服务器将为每个客户端创建
一个
独立的线程来处理与客户端的通信。服务器可以接收客户端发送的消息,并将其广播给所有连接到服务器的客户端。需要注意的是,这只是
一个
简单的示例程序,实际开发中可能需要对程序进行优化和改进,以满足更高的性能和稳定性要求。当客户端接收到服务器发送的消息时,它将消息显示在消息框中。
使用UDP实现群聊
聊天室
2. 主线程,主要用于发送信息。将这个程序部署到局域网上的几台电脑上,全部启动,就可以实现多台电脑的组播了,而且每台主机都可以发出信息,其它主机则会收到这条信息。这个程序使用的UDP协议,并使用DatagramSocket的子类MulticastSocket实现组播,可以部署在
一个
局域网内的多台电脑上,并可以实现文字群聊。通过上面的程序,我们发现,MulticastSocket类的使用和DatagramSocket类基本相同,只是多了一步加入组:joinGroup(),所有加入这个组的主机都将会收到信息。
Delphi7网络聊天工具,UI美化
Delihi7开发的网络聊天工具,引用IdTCPClient、IdTCPServer控件,网上牛人的Code,自己修改了一下UI,图片也是微信之类的,仅供个人学习使用哦,UI如下,源码下载地址: 打开NetServer.exe,设置好端口,点击"启动"即可. 2. 打开NetClient.exe, 填写好服务器IP,端口,昵称,点击"登录"即可,左边"人员列表"为登录在线的客户端数量以及
具体
昵称,中间上半部分为聊天记录,下半部分填写聊天消息,勾选"广播消息",则所有人均可收到消息. ...
基于UDP的群聊
聊天室
基于UDP的群聊
聊天室
IBM开发者
206
社区成员
2,485
社区内容
发帖
与我相关
我的任务
IBM开发者
IBM 开发者
复制链接
扫一扫
分享
社区描述
IBM 开发者
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章