说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

在DELPHI程序中获取网络资源信息

HTML文档下载 WORD文档下载 PDF文档下载
在DELPHI程序中获取网络资源信息

充分利用局域网中的共享资源,无疑将减少用户的硬件和软件投资。在我们的程序中,常常会需要列举局域网络中的共享资源,如在MIDAS多层应用程序中可能要选择上层应用程序所在的服务器的名称、在打印模块中选择可用的网络打印机、在应用程序中选择其它机器上的共享文件等。

以一个MIDAS三层数据库应用程序为例子,我们可以用DELPHI制作一个客户端应用程序和一个中间层业务处理程序,由中间层业务处理程序向数据库存取数据,再将结果反馈到客户端。

当客户端应用程序与中间层程序和数据库服务程序不在一台机器上时,需要指定中间层程序和数据库服务程序所在的服务器的名称。

在DELPHI程序中,我们可以通过WIN API来列举局域网络中的服务器名称、用户计算机名称、用户共享目录和文件、共享打印机等资源,这些API由文件MPR.DLL提供。

下面以WIN9X的对等网络为例子,列举“网络邻居”中的工作组名称、用户计算机名称、共享目录和文件、共享打印机等资源。

一、列举“网络邻居”中的工作组名称

在“网络邻居”中,打开“整个网络”,可以看到网络中的所有工作组的名称。在DELPHI程序中,可以用API函数WNetOpenEnum和WNetEnumResource来列举“网络邻居”中的工作组名称。

下面是两个API函数的简介,具体请参见DELPHI帮助文件。

//WNetOpenEnum用于获取一个网络资源句柄,作为WNetEnumResource列举网络资源的依据,其函数原型如下:

function WNetOpenEnum(

dwScope

//网络范围

RESOURCE_CONNECTED(已连接机器)

RESOURCE_GLOBALNET(所有机器)

RESOURCE_REMEMBERED(已记忆的机器)

dwType

//资源类型

RESOURCETYPE_ANY(所有资源)

RESOURCETYPE_DISK(文件资源)

RESOURCETYPE_PRINT(打印资源)

dwUsage//资源用途

0(所有资源)

RESOURCEUSAGE_CONNECTABLE(所有可连接资源)

RESOURCEUSAGE_CONTAINER(所有container资源)仅在dwScope为RESOURCE_GLOBALNET是有效

: DWORD;

lpNetResource: PNetResource;//NetResource类型指针,其内存表示网络资源的层次

为NIL时

表示最上层,仅在dwScope为RESOURCE_GLOBALNET时有效

其它情况时应为NIL

var lphEnum: THandle//返回网络资源句柄,是WNetEnumResource进一步列举网络资源的依据

): DWORD; stdcall;

返回值NO_ERROR表示执行成功,否则应用GetLastError获取错误信息

//WNetEnumResource用于列出当前网络中可用的资源,包括文件资源和打印资源,其函数原型如下:

function WNetEnumResource(

hEnum: THandle;//WNetEnumResource进一步列举网络资源的依据

通常由WNetOpenEnum取得

var lpcCount: DWORD;//要取得资源的数目,$FFFFFFFF表示列出所有资源,返回值为实际资源数目

lpBuffer: Pointer;//接收结果的缓冲区的指针,一般是NetResource类型的数组

var lpBufferSize: DWORD//接收结果的缓冲区大小(Byte)

): DWORD; stdcall;

返回值为NO_ERROR(执行成功)或ERROR_NO_MORE_ITEMS(资源列举完毕),否则应用GetLastError获取错误信息。

要列举网络中的工作组信息,首先要获取网络中的网络类型,再获取每一种类型网络中包含的工作组的名称。

1、获取网络类型信息

局域网中可以是由多种类型的网络组成,如由Microsoft、Novell等类型的网络组成。用API函数WNetOpenEnum和WNetEnumResource可以获取网络类型信息。

(1)用WNetOpenEnum函数返回一个句柄,作为WNetEnumResource列举网络资源的依据。我们的目标是列举“整个网络”的工作组名称,因而网络范围为RESOURCE_GLOBALNET(所有机器)、资源类型为RESOURCETYPE_DISK(文件资源)、资源用途为RESOURCEUSAGE_CONTAINER(所有container资源)、

网络层次为最高层(NIL),这样可以得到一个句柄,以便进一步列举网络资源。具体的程序段如下:

{ Res : DWORD; lphEnum : THandle; }

Res := WNetOpenEnum( RESOURCE_GLOBALNET

RESOURCETYPE_DISK

RESOURCEUSAGE_CONTAINER

Nil

lphEnum);

If Res <> NO_ERROR Then exit;//执行失败

(2)用API函数WNetEnumResource可以获取网络类型信息,此时要用到上面获取的句柄lphEnum,

可以获取一个NetResource类型的数组,每个NetResource元素即为一种网络类型信息。

具体的请参见以下程序段及注释信息。

type

TNetResourceArray = ^TNetResource;//网络类型的数组

Var

NetResource : TNetResource;

Buf : Pointer;

Count

BufSize

Res : DWORD;

lphEnum : THandle;

p : TNetResourceArray;

i

j : SmallInt;

NetworkTypeList : TList;

begin

......

Count := $FFFFFFFF;//不限资源数目

BufSize := 8192;//缓冲区大小设置为8K

GetMem(Buf

BufSize);//申请内存,用于获取工作组信息

Res := WNetEnumResource(lphEnum

Count

Pointer(Buf)

BufSize);//获取网络类型信息

If ( Res = ERROR_NO_MORE_ITEMS )//资源列举完毕

or (Res <> NO_ERROR )//执行失败

Then Exit;

P := TNetResourceArray(Buf);

For I := 0 To Count - 1 Do//记录各个网络类型的信息

Begin

NetworkTypeList.Add(p);

Inc(P);

End;

......

end;

2、获取工作组信息

在获取网络类型信息后,可以根据此信息获取此类型网络中的服务器(工作组)信息。

在WNetOpenEnum函数中,将参数lpNetResource指定为一种网络类型信息,可以获取一个句柄,在WNetEnumResource中利用这个句柄,可以获取一个NetResource类型的数组,每个NetResource元素的lpRemoteName部分即为一个工作组名称(如“MyWorkGroup”)。

具体的请参见以下程序段及注释信息。

//列出一个网络类型中的所有工作组名称

NetResource := TNetResource(NetworkTypeList.Items[J]^);//网络类型信息

//获取某个网络类型的文件资源的句柄,NetResource为网络类型信息,lphEnum为返回句柄

Res := WNetOpenEnum(RESOURCE_GLOBALNET

RESOURCETYPE_DISK

RESOURCEUSAGE_CONTAINER

@NetResource

lphEnum);

If Res <> NO_ERROR Then break;//执行失败

While true Do//列举一个网络类型的所有工作组的信息

Begin

Count := $FFFFFFFF;//不限资源数目

BufSize := 8192;//缓冲区大小设置为8K

GetMem(Buf

BufSize);//申请内存,用于获取工作组信息

//获取一个网络类型的文件资源信息,

Res := WNetEnumResource(lphEnum

Count

Pointer(Buf)

BufSize);

If ( Res = ERROR_NO_MORE_ITEMS ) //资源列举完毕

or (Res <> NO_ERROR) //执行失败

then break;

P := TNetResourceArray(Buf);

For I := 0 To Count - 1 Do//列举各个工作组的信息

Begin

List.Add( StrPAS( P^.lpRemoteName ));//取得一个工作组的名称

Inc(P);

End;

End;

3、获取工作组信息的完全源代码

//列举出整个网络中的工作组名称,返回值为TRUE表示执行成功,

//参数List中返回服务器(工作组)的名称

Function GetServerList( var List : TStringList ) : Boolean;

Var

NetResource : TNetResource;

Buf : Pointer;

Count

BufSize

Res : DWORD;

lphEnum : THandle;

p : TNetResourceArray;

i

j : SmallInt;

NetworkTypeList : TList;

Begin

Result := False;

NetworkTypeList := TList.Create;

List.Clear;

//获取整个网络中的文件资源的句柄,lphEnum为返回名柄

Res := WNetOpenEnum( RESOURCE_GLOBALNET

RESOURCETYPE_DISK

RESOURCEUSAGE_CONTAINER

Nil

lphEnum);

If Res <> NO_ERROR Then exit;//Raise Exception(Res);//执行失败

//获取整个网络中的网络类型信息

Count := $FFFFFFFF;//不限资源数目

BufSize := 8192;//缓冲区大小设置为8K

GetMem(Buf

BufSize);//申请内存,用于获取工作组信息

Res := WNetEnumResource(lphEnum

Count

Pointer(Buf)

BufSize);

If ( Res = ERROR_NO_MORE_ITEMS )//资源列举完毕

or (Res <> NO_ERROR )//执行失败

Then Exit;

P := TNetResourceArray(Buf);

For I := 0 To Count - 1 Do//记录各个网络类型的信息

Begin

NetworkTypeList.Add(p);

Inc(P);

End;

//WNetCloseEnum关闭一个列举句柄

Res := WNetCloseEnum(lphEnum);//关闭一次列举

If Res <> NO_ERROR Then exit;

For J := 0 To NetworkTypeList.Count-1 Do //列出各个网络类型中的所有工作组名称

Begin//列出一个网络类型中的所有工作组名称

NetResource := TNetResource(NetworkTypeList.Items[J]^);//网络类型信息

//获取某个网络类型的文件资源的句柄,NetResource为网络类型信息,lphEnum为返回名柄

Res := WNetOpenEnum(RESOURCE_GLOBALNET

RESOURCETYPE_DISK

RESOURCEUSAGE_CONTAINER

@NetResource

lphEnum);

If Res <> NO_ERROR Then break;//执行失败

While true Do//列举一个网络类型的所有工作组的信息

Begin

Count := $FFFFFFFF;//不限资源数目

BufSize := 8192;//缓冲区大小设置为8K

GetMem(Buf

BufSize);//申请内存,用于获取工作组信息

//获取一个网络类型的文件资源信息,

Res := WNetEnumResource(lphEnum

Count

Pointer(Buf)

BufSize);

If ( Res = ERROR_NO_MORE_ITEMS ) //资源列举完毕

or (Res <> NO_ERROR) //执行失败

then break;

P := TNetResourceArray(Buf);

For I := 0 To Count - 1 Do//列举各个工作组的信息

Begin

List.Add( StrPAS( P^.lpRemoteName ));//取得一个工作组的名称

Inc(P);

End;

End;

Res := WNetCloseEnum(lphEnum);//关闭一次列举

If Res <> NO_ERROR Then break;//执行失败

End;

Result := True;

FreeMem(Buf);

NetworkTypeList.Destroy;

End;

二、列举一个工作组中的计算机名称

在WNetOpenEnum函数中,将参数lpNetResource中的lpRemoteName部分指定为一个工作组的名称(如“MyWorkGroup”),可以获取一个句柄,在WNetEnumResource中利用这个句柄,可以获取一个NetResource类型的数组,每个NetResource元素的lpRemoteName部分即为一个计算机名称(如

“\\wangfajun”)。

具体的请参见以下程序段及注释信息。

NetResource.lpRemoteName := @GroupName[1];//指定工作组名称

NetResource.dwDisplayType := RESOURCEDISPLAYTYPE_SERVER;//显示类型为服务器(工作组)

NetResource.dwUsage := RESOURCEUSAGE_CONTAINER;

NetResource.dwScope := RESOURCETYPE_DISK;//列举文件资源信息

//获取指定工作组的网络资源句柄

Res := WNetOpenEnum( RESOURCE_GLOBALNET

RESOURCETYPE_DISK

RESOURCEUSAGE_CONTAINER

@NetResource

lphEnum);

获取计算机名称的完全程序源代码如下:

//列举出指定工作组GroupName中的计算机名称,返回值为TRUE表示执行成功,

//参数List中返回计算机名称

Function GetUsers( GroupName : string; var List : TStringList ) : Boolean;

Var

NetResource : TNetResource;

Buf : Pointer;

Count

BufSize

Res : DWord;

Ind : Integer;

lphEnum : THandle;

Temp : TNetResourceArray;

Begin

Result := False;

List.Clear;

FillChar(NetResource

SizeOf(NetResource)

0);//初始化网络层次信息

NetResource.lpRemoteName := @GroupName[1];//指定工作组名称

NetResource.dwDisplayType := RESOURCEDISPLAYTYPE_SERVER;//类型为服务器(工作组)

NetResource.dwUsage := RESOURCEUSAGE_CONTAINER;

NetResource.dwScope := RESOURCETYPE_DISK;//列举文件资源信息

//获取指定工作组的网络资源句柄

Res := WNetOpenEnum( RESOURCE_GLOBALNET

RESOURCETYPE_DISK

RESOURCEUSAGE_CONTAINER

@NetResource

lphEnum);

If Res <> NO_ERROR Then Exit; //执行失败

While True Do//列举指定工作组的网络资源

Begin

Count := $FFFFFFFF;//不限资源数目

BufSize := 8192;//缓冲区大小设置为8K

GetMem(Buf

BufSize);//申请内存,用于获取工作组信息

//获取计算机名称

Res := WNetEnumResource(lphEnum

Count

Pointer(Buf)

BufSize);

If Res = ERROR_NO_MORE_ITEMS Then break;//资源列举完毕

If (Res <> NO_ERROR) then Exit;//执行失败

Temp := TNetResourceArray(Buf);

For Ind := 0 to Count - 1 do//列举工作组的计算机名称

Begin

//获取工作组的计算机名称,+2表示删除"\\",如\\wangfajun=>wangfajun

List.Add(Temp^.lpRemoteName + 2);

Inc(Temp);

End;

End;

Res := WNetCloseEnum(lphEnum);//关闭一次列举

If Res <> NO_ERROR Then exit;//执行失败

Result := True;

FreeMem(Buf);

End;

三、列举一个计算机中的共享资源

在WNetOpenEnum函数中,将参数lpNetResource中的lpRemoteName部分指定为一个计算机的名称(如“\\wangfajun”),可以获取一个句柄,在WNetEnumResource中利用这个句柄,可以获取一个NetResource类型的数组,每个NetResource元素的lpRemoteName部分即为计算机中的共享资源名称(可以是共享目录和文件名称、共享打印机名称等,如“\\wangfajun\共享文件”)。

具体的请参见以下程序段及注释信息。

NetResource.lpRemoteName := @UserName[1];//指定计算机名称

//获取指定计算机的网络资源句柄

Res := WNetOpenEnum( RESOURCE_GLOBALNET

RESOURCETYPE_ANY

RESOURCEUSAGE_CONNECTABLE

@NetResource

lphEnum);

获取计算机名称的完全程序源代码如下:

//列举出指定计算机UserName中的共享资源名称,返回值为TRUE表示执行成功,

//参数List中返回共享资源名称

Function GetUserResource( UserName : string ; var List : TStringList ) : Boolean;

Var

NetResource : TNetResource;

Buf : Pointer;

Count

BufSize

Res : DWord;

Ind : Integer;

lphEnum : THandle;

Temp : TNetResourceArray;

Begin

Result := False;

List.Clear;

FillChar(NetResource

SizeOf(NetResource)

0);//初始化网络层次信息

NetResource.lpRemoteName := @UserName[1];//指定计算机名称

//获取指定计算机的网络资源句柄

Res := WNetOpenEnum( RESOURCE_GLOBALNET

RESOURCETYPE_ANY

RESOURCEUSAGE_CONNECTABLE

@NetResource

lphEnum);

If Res <> NO_ERROR Then exit;//执行失败

While True Do//列举指定工作组的网络资源

Begin

Count := $FFFFFFFF;//不限资源数目

BufSize := 8192;//缓冲区大小设置为8K

GetMem(Buf

BufSize);//申请内存,用于获取工作组信息

//获取指定计算机的网络资源名称

Res := WNetEnumResource(lphEnum

Count

Pointer(Buf)

BufSize);

If Res = ERROR_NO_MORE_ITEMS Then break;//资源列举完毕

If (Res <> NO_ERROR) then Exit;//执行失败

Temp := TNetResourceArray(Buf);

For Ind := 0 to Count - 1 do

Begin

//获取指定计算机中的共享资源名称,+2表示删除"\\",

//如\\wangfajun=>wangfajun

List.Add(Temp^.lpRemoteName + 2);

Inc(Temp);

End;

End;

Res := WNetCloseEnum(lphEnum);//关闭一次列举

If Res <> NO_ERROR Then exit;//执行失败

Result := True;

FreeMem(Buf);

End;

ajaxForm(object)-JQuery API ajaxSubmit(object)-JQuery API clearForm()-JQuery API clearInputs()-JQuery API fieldSerialize(true)-JQuery API fieldValue(successful)-JQuery API formSerialize(true)-JQuery API formToArray(true)-JQuery API resetForm()-JQuery API $.recallDroppables()-JQuery API $.SortSerialize()-JQuery API Draggable(hash)-JQuery API DraggableDestroy()-JQuery API Droppable(options)-JQuery API DroppableDestroy()-JQuery API Sortable(options)-JQuery API SortableAddItem(elem)-JQuery API $.meta.setType(type, name)-JQuery API data()-JQuery API disableTab(position)-JQuery API enableTab(position)-JQuery API tabs(initial, settings)-JQuery API triggerTab(position)-JQuery API triggerTab(position)-JQuery API Tooltip(settings)-JQuery API PHP简介-PHP初学入门教程1 选择PHP的理由 -PHP初学入门教程2 从一个简单的程序来了解PHP -PHP初学入门教程3 PHP语法基础 -PHP初学入门教程4 建设一个简单的交互网站(一) -PHP初学入门教程5 建设一个简单交互的网站(二) -PHP初学入门教程6 需求和方案方面的资料 C#写的windos桌面程序中调用delphi6写的dll正常,为何在阿asp.net中相同的方法调用出现问题呢? SQL语句的语法问题,高手请进!!! 有一套网上音像系统,寻开音像店共同合作 SUN的那份关于java所有的包的说明的文档在哪里可以下载呀? 怎么用电脑接听普通电话机打来的电话。 为什么读取图片后显示出错 请各位指教关于随即生成表格的问题!(急!!!!!) 格式问题:高分! 今天新买一台机器,xp1800+ 承启nforce2 +Kingmax333 256DDR +ST80G用起来一个字,爽! RichTextBox控件如何读取使用UTF8编码的文本文件? 程序编译到AfxWinMain就显示警告信息 建设一个一般的callcenter有10-20坐席,大概需多少钱呀 散分!!第一个程序在天空提交通过!! (帮我搞定,高分相赠,在线等待!)ASP上传图片到SQLServer,为什么老提示对象不支持appendchunkmydata方法? CheckBox可以同时传递多个值吗? 请问有用过visual interdev的,如何让interdev也像dreamweaver可以在写程序的时候显示代码在哪行的啊.多谢了 请高手帮忙解决我的问题,在此表示谢谢! 有关datagrid 和webform 的问题 程序员的艳遇。。。。。。 验证字符串问题 IE问题!好烦人啊!那位高手能帮我解答! 怎么在建表时使用一个时间函数??就是指出加这条这条文件的时间?? 高手请进,多数据库链接的问题 如何成为一个程序员? 事务以及回滚的问题 有做完一个作业,放60分。 关于ASP调用VC编的DLL接收返回参数的问题 我提问,大家回答 有没有关于触发器的电子书籍? 怎么能够获得数据库的连接字串呀?? 大讨论:目前用什么工具、做什么开发最能赚钱?散分啦!感兴趣的程序员们快来!! 在IE中,打开某个页面,会连接到www.lop.com页面 关于islower(ch),isdigit(ch) 疑问 BQQ的服务器端有没有保存用户的聊天记录的? 如何获得程序方向键输入?多谢! 求助有关IFS-HOOK 高手请入!!急救!求msflexgrid 的打印源码????? 如何在list中显示文件夹 哪里可以看到Obejct类clone的实现方法? 系统的FOUND.00*文件夹里放的FILE000*是什么文件?可以删除吗?刚装系统时没有这些文件的阿 给分啊 今日郁闷之至……散分! 来来来,大伙们一起来衷心祝愿xxmm (晓箫)的老爸老妈顺利赴美参加晓箫的毕业典礼!! Dev-Cpp 使用 NetAPI32.lib 的问题 急寻严蔚敏,吴伟民版《数据结构习题集》c语言版的答案,请问哪有啊 高手们给我一个超级简单的HOOK API的例子好吗?求你们了。 错在哪里 “身为一道彩虹,雨后的天空.”是什么歌!迪克牛仔唱过的 彼亦一是非,此亦一是非 用哲学的观点如何回答? I don‘t like ( )(orange). 用所给括号里单词适当形式填空 一歌的歌词是 雨后的天空有一道彩虹和雨后的天空有一些迷茫,女的唱的看动画《秦时明月》听到的歌名是什么啊?还有一句是雨后的天空有一些迷茫 笑的很淫荡是什么意思?同学说我笑的很淫荡,也有同学说我笑的很泛滥,到底是什么意思啊?大家要详细点,这是好还是坏啊,我也知道是开玩笑的啦,可是我就想知道什么才叫笑的淫荡呢?淫荡不 为什么鲸和海豚都不是鱼? 天边一道彩虹,男声唱的一首歌,谁知道歌名? 故不登高山不知天之高也?故不登高山不知天之高也,不临深溪不知地之厚也,不问先生遗言故不知学问之深也.撒意思哦 meet balls什么意思?急啊! 雨后的天空 有一点不同 小小的我们 有一点冲动 这什么歌? “故不登高山,不知天之高也”后两句是什么? 《海豚和白杨鱼》你联想到生活中的哪一类人?急!求解! 将以下名词的复数形式填入正确的栏目内.mechanic\knife\neighbour\housewife\house\garage attendant\shop assistant\lamp-post\car\day\garge\crash\cinema\city\film\suitcase\woman\vegetable\child/s/sound:/z/sound:/iz/sound:irregular:garage Him,this,her的复数? 英语翻译过:( ) 顾:( ) 益:( ) 川:( )光影回合于轩户之间,尤与风月为相宜 将一下名词的复数形式填入正确的栏目里mechanic knife neighbour housewife house garge attendant shopassistant lamp -post car day garage crash cinema city film suitcase woman vegetable child 要快好得多加赏!急 where is my handbag?----Maybe you < >it in the shoe store.A.left B.forget C.threw D.got There wasn't a mobil phone on the desk just now.改为复数 the girl__a book in the garden ,while a boy ran to her. 为什么百度哲学贴吧,有这么多头脑有问题的人为什么百度哲学贴吧这么多头脑有问题,极度自恋,没读过多少书或者读过几本书就开始扑腾他们那脆弱的翅膀了强烈建议取消那个吧的吧主位置. 我一点也不喜欢和她闲聊.翻译:I don't like to ____ ____ ___at all. we are playing football (happy) on the playground用适当形式填空 ( )( )( )the shoe store 括号填? go on a ride at a 在翻译一篇文章,大意是小孩子在go on a ride at a fair的时候会很兴奋,但是不太确定这个词的意思,在市集上游览?坐车在市集兜风?感觉都不太对啊~ The girl ran up to me,barely able to catch her breath.女孩跑向我,跑得上气不接下气.able 前面可以不加be的吗? red的同类词v打头单词 She rebuked herself for forgetting what she really knew quite well,having been told it often书上写不能换成being told it often,否则会出现歧义.为什么这么说,没理解 The little girl was willing to try her best at the begining,but soon she ran away.哪里错了? 哲学到底是什么?简单通俗的描述吧 go on the new ride 意思 hear from的同义词英文翻译 如何的作息 是做科学的? go on an exciting pancake可数吗 hear from 的同义词 八分之一除以三加三分之一乘八分之七=( )=( ) Because L can eat ice-cream in summer是什么意思 hear from的同义词 两个,没有的,一个也行 为了他的尊严独臂乞丐如何走向成功 pancake forging是什么意思 这道题是不是出错了啊?How ( ) is your teacher?A.am B.is C.are D.be 为了他的尊严 这个独臂乞丐是如何走向成功的(想象 用挂起造句比喻句 改换grandma这个单词的一个字母,使它变成另一个单词. RED LIGHT怎么样 挂起,露出造句 氧化钙是什么?有什么用? as what has been expected话这句对吗?但是两个连词为什么可以放在一起用?求分析一下这句话的语法成分 用挂 ……就……造句什么一挂出来就怎么样 蜗牛的有什么用? red light subway libray canada 写出所写单词和词组的同项 挂起,露出,造句 蜗牛的触角有什么用 The boy has been made what he is.谓语是哪部分? 用别造句:表示其他 表示挂着、插着 蜗牛液体有什么作用 语法 A city has been set up in what was once a wasteland.请分析下结构A city has been set up in what was a wasteland.请分析下结构“in what was once a wasteland”做地点状语“what was once a wasteland”做什么成分,请分析下 In summer we all like to eat i cream 为什么蚯蚓背面颜色深,腹面颜色浅? I've been up and down (uh, what) 怎樣翻譯? 俄总理七小时安徽行:听民乐品徽茶 在俄罗斯总理梅德韦杰夫访问安徽包公祠(俄总理参观包公祠 向俄国推介包公(图也门一男子烧死15岁女儿 只因其与未美一公司将开发氦气球太空游 游客可观美观测到迄今最古老星系 距地球131澳琴师自称造出完美小提琴 可与世界名德防长批评美国监控传闻 称欧美关系将泰国一巴士坠山沟致21死 司机驾驶俄公交炸弹袭击或引发连环恐袭 索契冬挪威销毁叙化武受美国热捧 坦言国内压也门一男子烧死15岁女儿 只因其与未日本6名女性涉嫌在网络上上传猥亵视频澳洲一名男子涉嫌逼迫未婚妻致其死亡接美观测到迄今最古老星系 距地球131德防长批评美国监控传闻 称欧美关系将媒体评美国6岁儿童说“杀光中国人”:美国14岁少年被控刺死女教师 据称性澳琴师自称造出完美小提琴 可与世界名澳七旬男子苦等救护车未果 在家中不治调查指许多澳洲学生吃“聪明药”提高成小区保安制止打人被扯伤下体立志学滑板宝贝日记10岁留守儿童社区过生日“多管局长”《梦想星搭档》总冠军最强火力 VS 最稳后防计划赶不上变化清洁河道捞上一支枪托今日小寒 气温持续回升都市晨报小记者招募啦都没刘嘉玲的份“不超过40岁”限制身边的感动甭说婆婆不是娘大树倾倒压坏宝来轿车退休老人学画 作品获奖“华生”要结婚 “卷福”失落聪明反被聪明误阳历年联欢会大学·先生
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘