博文

Windows消息大全(2)(2005-12-15 12:31:00)

摘要:发送此消息给某个与对话框程序关联的控件,widdows控制方位键和TAB键使输入进入此控件 通过响应WM_GETDLGCODE消息,应用程序可以把他当成一个特殊的输入控件并能处理它 WM_NCMOUSEMOVE = $00A0; 当光标在一个窗口的非客户区内移动时发送此消息给这个窗口 //非客户区为:窗体的标题栏及窗 的边框体 WM_NCLBUTTONDOWN = $00A1; 当光标在一个窗口的非客户区同时按下鼠标左键时提交此消息 WM_NCLBUTTONUP = $00A2; 当用户释放鼠标左键同时光标某个窗口在非客户区时发送此消息; WM_NCLBUTTONDBLCLK = $00A3; 当用户双击鼠标左键同时光标某个窗口在非客户区时发送此消息 WM_NCRBUTTONDOWN = $00A4; 当用户按下鼠标右键同时光标又在窗口的非客户区时发送此消息 WM_NCRBUTTONUP = $00A5; 当用户释放鼠标右键同时光标又在窗口的非客户区时发送此消息 WM_NCRBUTTONDBLCLK = $00A6; 当用户双击鼠标右键同时光标某个窗口在非客户区十发送此消息 WM_NCMBUTTONDOWN = $00A7; 当用户按下鼠标中键同时光标又在窗口的非客户区时发送此消息 WM_NCMBUTTONUP = $00A8; 当用户释放鼠标中键同时光标又在窗口的非客户区时发送此消息 WM_NCMBUTTONDBLCLK = $00A9; 当用户双击鼠标中键同时光标又在窗口的非客户区时发送此消息 WM_KEYFIRST = $0100; WM_KEYDOWN = $0100; //按下一个键 WM_KEYUP = $0101; //释放一个键 WM_CHAR = $0102; //按下某键,并已发出WM_KEYDOWN, WM_KEYUP消息 WM_DEADCHAR = $0103; 当用translatemessage函数翻译WM_KEYUP消息时发送此消息给拥有焦点的窗口 WM_SYSKEYDOWN = $0104; 当用户按住ALT键同时按下其它键时提交此消息给拥有焦点的窗口; WM_SYSKEYUP = $0105; 当用户释放一个键同时ALT 键还按着时提交此消息给拥有焦点的窗......

阅读全文(2778) | 评论:0

Windows消息大全(1)(2005-12-15 12:30:00)

摘要:消息中有什么? 是否觉得一个消息记录中的信息像希腊语一样?如果是这样,那么看一看下面的解释: hwnd 32位的窗口句柄。窗口可以是任何类型的屏幕对象,因为Win32能够维护大多数可视对象的句柄(窗口、对话框、按钮、编辑框等)。 message 用于区别其他消息的常量值,这些常量可以是Windows单元中预定义的常量,也可以是自定义的常量。 wParam 通常是一个与消息有关的常量值,也可能是窗口或控件的句柄。 lParam 通常是一个指向内存中数据的指针。由于W P a r a m、l P a r a m和P o i n t e r都是3 2位的,因此,它们之间可以相互转换。 WM_NULL = $0000; WM_CREATE = $0001; 应用程序创建一个窗口 WM_DESTROY = $0002; 一个窗口被销毁 WM_MOVE = $0003; 移动一个窗口 WM_SIZE = $0005; 改变一个窗口的大小 WM_ACTIVATE = $0006; 一个窗口被激活或失去激活状态; WM_SETFOCUS = $0007; 获得焦点后 WM_KILLFOCUS = $0008; 失去焦点 WM_ENABLE = $000A; 改变enable状态 WM_SETREDRAW = $000B; 设置窗口是否能重画 WM_SETTEXT = $000C; 应用程序发送此消息来设置一个窗口的文本 WM_GETTEXT = $000D; 应用程序发送此消息来复制对应窗口的文本到缓冲区 WM_GETTEXTLENGTH = $000E; 得到与一个窗口有关的文本的长度(不包含空字符) WM_PAINT = $000F; 要求一个窗口重画自己 WM_CLOSE = $0010; 当一个窗口或应用程序要关闭时发送一个信号 WM_QUERYENDSESSION = $0011; 当用户选择结束对话框或程序自己调用ExitWindows函数 WM_QUIT = $0012; 用来结束程序运行或当程序调用postquitmessage函数 WM_QUERYOPEN = $0013; 当用户窗口恢复以前的大小位置时,把此消息发送给某个图标 WM_ERASEBKGND = $0014; 当......

阅读全文(3240) | 评论:0

关于建立软件五班Wiki的倡议(2005-12-13 22:46:00)

摘要:    论题: 我不知道大家有没有兴趣。我想最好我们可以建立一个自己的wiki网站。我想大家 把大学里生活的片段一个一个接着写下来,说不定是一个好的小说。 一些建议: 其实我觉得我们班蛮好的,能吃能喝能唱能学,干什么都行,这是有五班特色的大学生活嘛。对啊。就因为这点,我觉得我们应该把大学的生活的点滴都记下来。我们每个人只能记下一点, 但是如果全班人都写的话,我们的大学生活完全可以完整的记录下来了。     征人: 需要几个人来进行自己班级Wiki的开发,主要是利用业余时间来进行Wiki的维护以及以后的升级。 要还有人自愿报名就好了。我还想了解谁有兴趣来做这个开发。主要利用业余时间。   Wiki简介: Wiki中文译称“维客”,狭义是指一种多人协作的写作工具,广义是指一种能提供共同创作环境的网站及共筑知识的文化氛围。其实就是大家可以修改任何别人写的文章。 达到一个共同创作的目的。我想我们班能建一个wiki 就好了,大家把把原来大学生活的点点滴滴都写下来,然后合并在一起说不定是一部不错的纪实小说。当然不仅仅有这样的功能,毕业的时候我们多会有买留言册。不如我们都在上面留言然后集体制作一本精美的留言册留给大家。相信毕业以后的校友录的功能也能很好的实现。   张翼的Wiki:http://www.wasai.org/wiki/index.php/User:Spreadwings 彭富德的Wiki:http://www.wasai.org/wiki/index.php/User:Ddtme 曾勇的Wiki:http://www.wasai.org/wiki/index.php?title=User:hnsc_kp   大家可以测试一下,我们注册帐号以后,可以任意的修改我的文字 Wiki的好处: 1、             可以修改你想修改的文字啊。事实上可以通过任何的用户都可以修改我的页面内容。这样就能实现集体创作。我想大家把大学里生活的片段一个一个接着写下来,说不定是一个好的小说。 1、 2、  &nbs......

阅读全文(4870) | 评论:0

SIP的RFC中文文档(RFC3261)(2)(2005-12-13 13:00:00)

摘要:4、实施概览 这节通过简单的示例介绍了SIP的基本实现。本节是通过自然的而非正则的示例来介绍的。          第一个例子说明了SIP的基本功能:定位一个断点,发出通讯请求,通过协商会话参数建立会话,拆卸刚才建立的会话。        图一表示一个典型的Alice和Bob两个用户间的SIP消息交易交换例子.(每一个消息采用字母”F”和一个用来指向正文的一个数字做标记)在这个例子里,Alice在她的PC上使用一个SIP的应用程序(比如说一个软的电话),呼叫Bob在Internet上的一个SIP电话。这个例子也掩饰了两个SIP代理之间,怎样为Alice和Bob建立会话连接。This typical arrangement is often referred to as the "SIP trapezoid" as shown by the geometric shape of the dotted lines in Figure 1.   Alice 通过Bob的SIP标志 “呼叫” Bob,这个SIP标志是统一分配的资源(Uniform Resource Identifier URI)称作SIP URI。SIP URI在19.1节中定义。它很像一个email抵制,典型的SIP URI包括一个用户名和一个主机名。在这个范例中,SIP URI是sip:bob@biloxi.com,biloxi.com是Bob的SIP服务提供商。Alice有一个SIP URI: sip:alice@atlanta.com。 Alice可以输入Bob的URI,也可以直接在地址本的一个超级链接上点击一下Bob的URI。SIP也提供保密URI,称作SIPS URI。例如:sips: bob@biloxi.com。 一个基于SIPS URI的通话保证这个通话是安全的,并且对呼叫者和被叫的所有的SIP消息是加密传输的(叫做TLS)。在TLS中,请求是通过加密方式传输给被叫方,但是这个加密机制是基于被叫方宿主服务器的实现的。   SIP是基于一个类似HTTP协议的请求应答的通讯模式。每一个通讯都包含对某个功能的请求,并且起码需要一个应......

阅读全文(7471) | 评论:0

Google中国赛代码参详Group2-750分(4)(2005-12-13 11:47:00)

摘要:
第二道题,权值750
Problem Statement
You are playing a card game, and in your hand, you are holding several
cards. Each card has a suit, 'S', 'H', 'D', or 'C', and a value between
1 and 10, inclusive. You may play cards as part of a set, which is
three or more cards of the same value, or as part of a run, which is
three or more cards of the same suit, in sequential order. (Runs may
not wrap, thus, 9-10-1 is not a valid run.) Each card may be played
only once.
For example, "1 S", "1 H" and "1 D" would be a valid set. "2 S", "3 S",
and "4 S" would be a valid run.
You want to play as many cards as possible, maybe in several plays (see
example 4). Given a String[] cards representing the cards held in your
hand, you are to return an int indicating the maximum number of cards
you can play. Each card will be given in the form "value suit" (quotes
added for clarity).
有一个纸牌游戏,共有四种花色'S', 'H', 'D',
'C',每个花色都有1到10数字的十张牌,出牌的时候可以一起一套3......

阅读全文(4599) | 评论:0

Google中国赛代码参详Group2-250分(3)(2005-12-13 11:45:00)

摘要:第一道题,权值250
Problem Statement
You are given a String disk representing the clusters on a disk. An 'X'
represents a used cluster, and a '.' represents an available cluster.
You are also given an int size representing the size, in clusters, of a
file waiting to be written to disk. A file can only be stored in
clusters not already being used.
Return the minimum number of groups of consecutive clusters needed to
store the file on the disk. (The disk does not wrap around at the end.)
Return -1 if the disk does not have enough space available to store the
file.
给你一个标有簇的磁盘,X表示已近被使用,.表示可以使用的空间,再给你一个要写入的字节数,写入到未使用的空间中,如果空间不够返回-1
如果写入成功返回写入的次数,如果未使用的空间是连续的只算写入一次,写入的方式有很多,求出最少的次数
Definition
Class:
DiskClusters
Method:
minimumFragmentation
Parameters:
String, int
Returns:
int
Method signature:
int minimumFragmentation(String disk, int size)
(be sure your method is public)
类DiskClusters方法public in......

阅读全文(4739) | 评论:1

Google中国赛代码参详Group22-750分(2)(2005-12-13 11:33:00)

摘要: Problem Statement      You are given a String[] grid representing a rectangular grid of letters. You are also given a String find, a word you are to find within the grid. The starting point may be anywhere in the grid. The path may move up, down, left, right, or diagonally from one letter to the next, and may use letters in the grid more than once, but you may not stay on the same cell twice in a row (see example 6 for clarification). You are to return an int indicating the number of ways find can be found within the grid. If the result is more than 1,000,000,000, return -1. Definition      Class: WordPath Method: countPaths Parameters: String[], String Returns: int Method signature: int countPaths(String[] grid, String find) (be sure your method is public)      Constraints - grid will contain between 1 and 50 elements, inclusive. - E......

阅读全文(4528) | 评论:1

Google中国赛代码参详Group22-250分(1)(2005-12-13 11:28:00)

摘要: Problem Statement      You are given a string input. You are to find the longest substring of input such that the reversal of the substring is also a substring of input. In case of a tie, return the string that occurs earliest in input. Definition      Class: ReverseSubstring Method: findReversed Parameters: string Returns: string Method signature: string findReversed(string input) (be sure your method is public)      Notes - The substring and its reversal may overlap partially or completely. - The entire original string is itself a valid substring (see example 4). Constraints - input will contain between 1 and 50 characters, inclusive. - Each character of input will be an uppercase letter ('A'-'Z'). Examples 0)      "XBCDEFYWFEDCBZ" Returns: "BCDEF" ......

阅读全文(4392) | 评论:0

SIP的RFC中文文档(RFC3261)(1)(2005-12-12 21:13:00)

摘要:1、SIP协议介绍 Internet的许多应用都需要建立和管理一个会话,会话在这里的含义是在参与者之间的数据的交换。由于考虑到参与者的实际情况,这些应用的实现往往是很复杂的:参与者可能是在代理间移动,他们可能可以有多个名字,他们中间的通讯可能是基于不同的媒介(比如文本,多媒体,视频,音频等)-有时候是多种媒介一起交互。人们创造了无数种通讯协议应用于实时的多媒体会话数据比如声音,影像,或者文本。本SIP(会话初始协议)和这些协议一样,同样允许使用Internet端点(用户代理)来寻找参与者并且允许建立一个可共享的会话描述。为了能够定位精确的会话参与者,并且也为了其他的目的,SIP允许创建基础的network hosts(叫做代理服务器),并且允许终端用户注册上去,发出会话邀请,或者发出其他请求。SIP是一个轻形的,多用途的工具,可以用来创建,修改和终止会话,它独立运作于通讯协议之下,并且不依赖建立的会话类型。   2、SIP协议功能概况 SIP是一个应用层的控制协议,可以用来建立、修改、和终止多媒体会话(或者会议)例如Internet 电话。SIP也可以邀请参与者参加已经存在的会话,比如多方会议。媒体可以在一个已经存在的会话中方便的增加(或者删除)。SIP显示的支持名字映射和重定向服务,这个用于支持个人移动业务-用户可以使用一个唯一的外部标志而不用关系他们的实际网络地点。SIP在建立和维持终止多媒体会话协议上,支持5个方面: 用户定位: 检查终端用户的位置,用于通讯。 用户有效性:检查用户参与会话的意愿程度。 用户能力:检查媒体和媒体的参数。 建立会话:”ringing”,建立会话参数在呼叫方和被叫方。 会话管理:包括发送和终止会话,修改会话参数,激活服务等等。        SIP不是一个垂直集成的通讯系统。SIP可能叫做是一个部件更合适,它可以用作其他IETF协议的一个部分,用来构造完整的多媒体架构。比如,这些架构将会包含实时数据传输协议(RTP)(RFC 1889)用来传输实时的数据并且提供QoS反馈,实时流协议(RSTP)(RFC 2326)用于控制流媒体的的传输,媒体网关控制协议(MEGACO)(RFC 3015)用来控制到公共电话交换网(PSTN)的网关,还有会话描述......

阅读全文(8155) | 评论:2

SIP协议为实时媒体通信铺平道路(2005-12-11 15:34:00)

摘要:  融合通信领域的先行者们当前发出的信号是会话起始协议(SIP)。SIP已经成为数据包网络上的VoIP和其它实时媒体通信(media communication)的主要协议。SIP的流行和成功有如下几个原因。   首先,SIP被认为是一种从一开始就为IP网络的设计的协议。这个协议是由IETF建立的,并且是在已经为IP领域开发的其它一些协议的基础上建立起来的。SIP是一种基于文本的协议,兼容网络领域的基于标记语言分布式应用程序。它使用与互联网相同的地址并且在工作中使用许多互联网结构的组件(如DNS服务器等)。这就使SIP协议更容地集成到根据标准的计算平台和操作系统制作的应用程序中,促进网络的融合。   第二,SIP是一种可扩展的协议,能够与多种媒体格式和负载一起工作以运行范围很广的应用程序。SIP协议已经为即时消息、资源管理、媒体流(视频)和好友在线管理等应用程序制定了若干标准。这种扩展性能够创造创新的新的应用程序。SIP适用于企业应用程序以及伸缩性非常大的运营商应用程序。这个协议适用于有线和无线网络,能够利用网络的安全和AAA资产的优势。   第三,SIP协议现在已经是大多数端点中的基础设施的一部分,特别是桌面操作系统。这就使开发人员能够非常容易地制作基于SIP协议的应用程序。同许多通信标准一样,互操作性是关键,SIP团体已经确保了所有的主要执行工作能够很好地兼容。   开源软件团体已经接受了SIP协议,并且做了很多工作创建和推广基于SIP的应用程序。这对于传播这种知识和以及建立SIP应用程序所需要的基本代码发挥了巨大的作用。   我认为,我们将在未来的几个月和几年里看到更多的SIP协议推动的应用程序级的创新。SIP协议将使语音和数据应用程序更好地融合在一起。......

阅读全文(4272) | 评论:0