WinAPI——钩子函数大全2
CallNextHookEx
函数功能:该函数发送挂钩信息给当前挂钩链中的下一个挂钩处理过程,一个挂钩处理过程可在对该挂钩信息进行处理之前或之后调用本函数.
函数原形:LRESULT CallNextHookEx(HHOOK hhk,int nCode,WPARAM wParam,LPARAM lParam);
参数:
hhk:当前挂钩的句柄.一个应用程序获得的此句柄是此前SetWindowsHookEx的调用结果.
nCode:指定发送给当前挂钩处理过程的挂钩代码.下一个挂钩处理函数使用此代码以决定如何处理该挂钩信息.
wParam:指定发送给当前挂钩处理过程的wParam值,此参数的含义依赖于与当前挂钩相关的挂钩类型
lParam:指定发送给当前挂钩处理过程的lParam值,此参数的含义依赖于与当前挂钩相关的挂钩类型.
返回值:其返回值是链中下一个挂钩处理过程的返回值,当前的挂钩处理过程也必须返回此值,此返回值的含义依赖与挂钩的类型,如果希望获得更多的信息,可参阅关于独立挂钩处理过程的介绍.
备注:挂钩处理过程被安置于不同的具有一定挂钩类型的挂钩链中,函数CallNextHookEx调用该链中的下一个挂钩.对函数CallNextHookEx的调用是可选的,但同时也是被极力推荐使用的,否则其他安装了挂钩的应用程序将无法收到挂钩通知,由此可能导致错误的行为.除非您确实需要使其他应用程序不能此挂钩通知,否则,您应该调用此函数CallNextHookEx.
速查:Windows NT:3.1以及以上版本,Windows :95以及以上版本,Windows CE 不支持,头文件:winuser.h,库文件:user32.lib.
CallWndProc
函数功能:该函数挂钩处理过程是由应用程序定义或由库定义的回调函数,它与函数 SetWindowsHookEx配套使用,系统调用此函数无论何时一旦函数 SendMessage被调用,在将消息发送至相应的窗口处理过程之前,系统先将该消息发送至挂钩处理过程,该挂钩处理过程可以对改消息进行检查,但不能修改之.
类型HOOKPROC定义了指向此类回调函数的指针,CallWndProc是应用程序定义或库定义的函数名的位置标志位.
函数原形:LRESULT CALLBACK CallWndProc(int nCode,WPARAM wParam,LPARAM lParam );
参数:
nCode:指定该挂钩处理过程是否必须对该消息进行处理,若nCode 是HC_ACTION,则该挂钩处理过程必须处理该消息.若nCode的值小于0,则此挂钩处理过程必须在未对该消息作进一步处理的情况下,将其发送给函数 CallNextHookEx并返回由 CallNextHookEx返回的值.
wParam:指示该消息是否由当前线程发出,若该消息由当前线程发出,其值为非0值,否则,其值为0.
lParam:指向一个CWPSTRUCT结构,该结构包含了此消息的详细消息.
返回值:若nCode的值小于0,则此挂钩函数必须返回函数CallNextHookEx所返回的值;若nCode的值大于或等于0,我们极力推荐对函数CallNextHookEx进行调用,并返回其返回值.否则,其他安装了WM_CALLWNDPROC挂钩的应用程序将无法收到挂钩通知,从而导致错误的行为.若此挂钩没有调用函数CallNextHookEx,则返回值为0.
备注:挂钩处理函数CallWndPro可以对消息进行检查,但不能修改之.在该挂钩处理过程将控制返回给系统之后,该消息被发送至相应的窗口过程.
一个应用程序通过调用SetWindowsHookEx时指定WM_CALLWNDPROC挂钩类型及其相应挂钩处理过程的首地址来安装挂钩处理过程.
挂钩WM_CALLWNDPROC是在调用函数SendMessage的线程中被调用的,它并非在接受消息的线程中被调用.
速查:Windows NT:3.1以及以上版本,Windows :95以及以上版本,Windows CE 不支持,头文件:winuser.h,库文件:用户定义.
CallWndRetProc
函数功能:该函数挂钩处理过程是在应用程序或库中定义的回调函数,它与函数 SetWindowsHookEx搭配使用,系统将在调用完 SendMessage之后调用之,该挂钩处理过程可以检查该消息,但不能修改之.
类型HOOKPROC定义了一类指针指向此类回调函数,CallWndRetProc 仅仅是在应用程序或库中定义的相应函数名的位置标志符.
函数原形:LRESULT CALLBACK CallWndRetProc(int nCode,WPARAM wParam,LPARAM lParam);
参数:
nCode:指定该挂钩处理过程是否必须对该消息进行处理,若nCode 是HC_ACTION,则该挂钩处理过程必须处理该消息.若nCode的值小于0,则此挂钩处理过程必须不加处理的将其发送给函数CallNextHookEx并返回由 CallNextHookEx返回的值.
wParam:指示该消息是否由当前线程发出,若该消息由当前线程发出,其值为非0值,否则,其值为0.
lParam:指向一个CWPSTRUCT结构,该结构包含了此消息的详细消息.
返回值:若nCode的值小于0,则此挂钩函数必须返回函数CallNextHookEx所返回的值;若nCode的值大于或等于0,我们极力推荐对函数CallNextHookEx进行调用,并返回其返回值.否则,其他安装了挂钩WM_CALLWNDPROCRET的应用程序将无法收到挂钩通知,从而导致错误的行为.若此挂钩处理过程没有调用函数CallNextHookEx,则返回值为0.
备注: 一个应用程序通过调用SetWindowsHookEx时指定WM_CALLWNDPROCRET挂钩类型及其相应挂钩处理过程的首地址来安装挂钩处理过程.
速查:Windows NT:3.1以及以上版本,Windows :95以及以上版本,Windows CE 不支持,头文件:winuser.h,库文件:用户定义.
CBTProc
函数功能:该函数挂钩处理过程是在应用程序或库中定义的回调函数,它与函数 SetWindowsHookEx配套使用,系统在缉获、创建、销毁、最小化、最大化、移动或改变一个窗口尺寸之前调用它;在结束一个系统命令之前调用它;在将一个鼠标或键盘事件从系统事件队列中删除之前调用它;在设置键盘焦点之前调用它,或在与系统消息队列进行同步之前调用它,一个基于计算机培训(CBT)的应用程序使用此挂钩处理过程来从系统接收有用的通知.
类型HOOKPROC定义了指向此类回调函数的指针,CBTProc是应用程序定义或库定义的相应回调函数名的位置标识符.
函数原形:LRESULT CALLBACK CBTProc(int nCode,WPARAM wParam,LPARAM lParam);
参数:
nCode: 指定一个代码,该代码被此挂钩处理过程用来决定如何处理此消息,该参数可以是下值中的一个:
HCBT_ACTIVATE: 系统将要激活一个窗口.
HCBT_CLICKSKIPPED: 系统已经从系统消息队列中删除了一个鼠标消息,依据收到的这一挂钩代码,一个CBT应用程序必须安装一个 WH_JOURNALPLAYBACK 挂钩处理过程以响应此鼠标消息.
HCBT_CREATEWND:一个窗口将要被创建,系统在发送WM_CREATE 或WM_NCCREATE消息至相应窗口之前调用该挂钩处理过程.若该挂钩处理过程返回一个非0值,则系统销毁该窗口,函数CreateWindow返回值为NULL(0),但消息WM_DESTROY不会被发送至相应窗口,若挂钩处理过程返回为零,窗口将被正常创建.
当HCBT_CREATEWND通知发出之时,相应窗口已被创建,但其最终尺寸及位置可能尚未确定,其父窗口也可能还尚未被创建,存在这样一种可能,消息被发送给新被创建的窗口,虽然该窗口尚未接收到WM_NCCREATE 或 WM_CREATE 消息.也可能通过对CBT_CREATEWND结构的hwndInsertAfter域的修改,来改变新被创建窗口在Z序列中的位置.
HCBT_DESTROYWND:一个窗口将被销毁.
HCBT_KEYSKIPPED:系统已从系统消息队列中删除了一个键盘消息,依据收到的这个挂钩代码,一个CBT应用程序必须安装一个 WH_JOURNALPLAYBACK挂钩处理过程以响应相应的键盘消息.
HCBT_MINMAX: 一个窗口将被最小化或最大化.
HCBT_MOVESIZE: 一个窗口将被移动或改变尺寸.
HCBT_QS: 系统已从系统消息队列中取到一个WM_QUEUESYNC 消息.
HCBT_SETFOCUS: 一个窗口将要获得键盘焦点.
HCBT_SYSCOMMAND: 一个系统命令将被执行.这使得一个CBT应用程序可以避免因热键响应而进行任务切换.
若nCode的值小于0,此挂钩处理过程必须不加处理地将此消息发送给函数CallNextHookEx,并返回函数CallNextHookEx的返回值.
wParam:取决于参数nCode的值,详细信息参见以下的说明部分.
lParam:取决于参数nCode的值,详细信息参见以下的说明部分.
返回值:此挂钩处理过程的返回值决定了系统允许或禁止以下操作之一,对于与以下挂钩代码相应的操作,返回值为0则允许这样的操作,返回值为1则禁止.
HCBT_ACTIVATE
HCBT_CREATEWNDHCBT_DESTROYWND
HCBT_MINMAX
HCBT_MOVESIZEHCBT_SETFOCUS
HCBT_SYSCOMMAND
对于与以下CBT挂钩代码相对应的操作,返回值被忽略.
HCBT_CLICKSKIPPED
HCBT_KEYSKIPPED
HCBT_QS
备注:除以下挂钩代码之外,不应当安装WH_JOURNALPLAYBACK挂钩处理过程.
此挂钩处理过程必须放在某个动态链接库中,一个应用程序通过调用函数 SetWindowsHookEx指定WH_CBT 挂钩类型与相应挂钩处理过程首地址来安装挂钩处理过程.
以下列示了参数wParam和lParam与每一种HCBT挂钩代码的关系.
|
指定一个长指针指向结构CBTACTIVATESTRUCT 的长指针,该结构包含了指向激活窗口的句柄,并指示被激活者是否由于点击而发生改变. |
值 参数wParam 参数lParam
HCBT_ACTIVATE 指定将要被激活的窗口句柄.
|
指定一个指向结构MOUSEHOOKSTRUCT的长指针,该结构包含点击测试代码及 鼠标消息发往的窗口句柄.HCBT_ CLICKSKIPPED 值仅当一个WH_MOUSE挂钩被安装了之时才发送一个CBTProc挂钩处理过程,关于点击 测试代码的列表,参见 WM_NCHITTEST. |
HCBT_CLICKSKIPPED 标识鼠标消息从系统消息队列中被删除.
|
指定一个指向 CBT_CREATEWND结构的长指针,该结构包含窗口的初始化参数,这些参数包括窗口的坐标和尺寸,通过改变这些参数.一个CBTProc挂钩处理过程能够设置窗口的初始尺寸和位置. |
HCBT_CREATEWND 指定新窗口的句柄.
HCBT_DESTROYWND 指定将被销毁的窗口句柄. 未定义,必须设置为0.
|
指示重复次数,扫描码,键转义码,前驱键状态和上下文代码.仅当WH_KEYBOARD挂钩被安装了之时,此HCBT_KEYSKIPPED值被发送 CBTProc 挂钩处理过程.欲获得更多信息,参见 WM_KEYUP 或WM_KEYDOWN |
HCBT_KEYSKIPPED 指示虚拟键的代码.
|
低"字"部分指定一个显示窗口的值(SW_),以指定相应操作,详情参见ShowWindow,高"字"部分未定义. |
HCBT_MINMAX 指定被最小化或最大化的窗口句柄
|
指定一个指向RECT结构的长指针,该结构包含窗口的坐标,通过改变结构的值,一个CBTProc的子处理过程能够设置窗口的最终位置. |
HCBT_MOVESIZE 指定将被移动或改变尺寸的窗口句柄.
HCBT_QS 未定义,必须设置为0 未定义,必须设置为0
HCBT_SETFOCUS 指定获得键盘焦点的窗口句柄. 指示失去键盘焦点的窗口句柄.
|
指示系统命令的值(SC_)以标识相应系统命令,欲知更多关于系统命令值的信息,参见WM_SYSCOMMAND. |
|
包含与WM_SYSCOMMAND消息的lParam值相同的数据.若一个系统菜单命令被鼠标选种,则低"字"部分包含光标在屏幕坐标系中的X坐标值,高"字"部分包含Y坐标值,其他情况下,此参数未被使用. |
HCBT_SYSCOMMAND
类型HOOKPROC定义了一类指针指向此类回调函数,CBTProc 仅仅是在应用程序或库中定义的相应函数名的位置标识符.
速查:Windows NT:3.1以及以上版本,Windows :95以及以上版本,Windows CE 不支持,头文件:winuser.h,库文件:用户定义.
DebugProc
函数功能:该挂钩处理过程是应用程序或库中定义的回调函数,它与函数SetWindowsHookEx搭配使用,系统在调用与任何挂钩类型和相关的挂钩处理过程之前调用它,系统传送关于被调用的挂钩的信息给DebugProc挂钩处理过程,此挂钩处理过程检查上述信息,并决定该挂钩是否被调用.
类型HOOKPROC定义了指向此类回调函数的指针, DebugProc是应用程序定义或库定义的相应回调函数名的位置标识符.
函数原形:LRESULT CALLBACK DebugProc(int nCode,WPARAM wParam,LPARAM lParam);
参数:
nCode:指示挂钩处理过程是否必须处理此消息.若nCode的值是HC_ACTION,则挂钩处理过程必须处理此消息,若nCode之值小于0,此挂钩处理过程必须将此消息不加处理地传送给函数CallNextHookEx并返回其返回值.
wParam:指示将被调用的挂钩类型,此参数可以为以下值:
WH_CALLWNDPROC: 安装一个监视发送至目标窗口处理过程之的消息的挂钩处理过程,对该消息进行,详情参见CallWndProc挂钩处理过程.
WH_CALLWNDPROCRET :安装一个挂钩处理过程,以监视已刚被目标窗口处理过程处理过了的消息,详情参见 CallWndRetProc 挂钩处理过程.
WH_CBT :安装一个挂钩处理过程,接受对CBT应用程序有用的消息 ,详情参见 CBTProc 挂钩处理过程.
WH_DEBUG:安装一个挂钩处理过程以便对其他挂钩处理过程进行调试, 详情参见DebugProc挂钩处理过程.
WH_FOREGROUNDIDLE:安装一个挂钩处理过程,该挂钩处理过程当应用程序的前台线程即将进入空闲状态时被调用,它有助于在空闲时间内执行低优先级的任务.
WH_GETMESSAGE:安装一个挂钩处理过程对寄送至消息队列的消息进行监视,详情参见 GetMsgProc 挂钩处理过程.
WH_JOURNALPLAYBACK:安装一个挂钩处理过程,对此前由WH_JOURNALRECORD 挂钩处理过程纪录的消息进行寄送.详情参见 JournalPlaybackProc挂钩处理过程.
WH_JOURNALRECORD:安装一个挂钩处理过程,对寄送至系统消息队列的输入消息进行纪录.详情参见JournalRecordProc挂钩处理过程.
WH_KEYBOARD:安装一个挂钩处理过程对击键消息进行监视. 详情参见KeyboardProc挂钩处理过程.
WH_MOUSE:安装一个挂钩处理过程,对鼠标消息进行监视. 详情参见 MouseProc挂钩处理过程.
WH_MSGFILTER:安装一个挂钩处理过程, 以监视由对话框、消息框、菜单条、或滚动条中的输入事件引发的消息.详情参见MessageProc挂钩处理过程.
WH_SHELL:安装一个挂钩处理过程以接受对外壳应用程序有用的通知, 详情参见 ShellProc挂钩处理过程.
WH_SYSMSGFILTER:安装一个挂钩处理过程,以监视由对话框、消息框、菜单条、或滚动条中的输入事件引发的消息.这个挂钩处理过程对系统中所有应用程序的这类消息都进行监视.详情参见 SysMsgProc挂钩处理过程.
lParam:指向一个DEBUGHOOKINFO结构,该结构包含希望被传送给相应挂钩处理过程的参数,为避免系统调用此挂钩,此挂钩处理过程必须返回一非0值,否则,此挂钩处理过程必须调用函数CallNextHookEx.
备注: 一个应用程序通过调用函数 SetWindowsHookEx指定 WH_DEBUG 挂钩类型与相应挂钩处理过程首地址来安装此挂钩处理过程.
速查:Windows NT:3.1以及以上版本,Windows :95以及以上版本,Windows CE 不支持,头文件:winuser.h,库文件:用户定义.
ForegroundIdleProc
函数功能:该函数处理过程是应用程序或库定义的回调函数, 它与函数SetWindowsHookEx搭配使用,系统在前台线程进入空闲状态之前调用此函数.
类型HOOKPROC定义了指向此类回调函数的指针, ForegroundIdleProc是应用程序定义或库定义的相应回调函数名的位置标识符.
函数原形:DWORD ForegroundIdleProc(int code,DWORD wParam,LONG lParam);
参数:
Code:指示此挂钩处理过程是否必须处理消息, 若nCode的值是HC_ACTION,则挂钩处理过程必须处理此消息,若nCode之值小于0,则此挂钩处理过程必须将此消息不加处理地传送给函数CallNextHookEx并返回其返回值.
wParam:未被使用.
lParam:未被使用.
返回值: 若nCode的值小于0,则此挂钩函数必须返回函数CallNextHookEx所返回的值;若nCode的值大于或等于0,我们极力推荐对函数CallNextHookEx进行调用,并返回其返回值.否则,其他安装了挂钩WH_FOREGROUNDIDLE的应用程序将无法收到挂钩通知,从而导致错误的行为.若此挂钩处理过程没有调用函数CallNextHookEx,则返回值为0.
速查:Windows NT:3.1以及以上版本,Windows :95以及以上版本,Windows CE 不支持,头文件:winuser.h,库文件:用户定义.
GetMsgProc
函数功能: 该函数处理过程是应用程序或库定义的回调函数, 它与函数SetWindowsHookEx搭配使用,每当函数GetMessage从应用程序的消息队列中获得了一个消息时,系统就调用此函数,在将此获得的消息传送给相应窗口处理过程之前,系统将此消息传送给该挂钩处理过程.
类型HOOKPROC定义了指向此类回调函数的指针, GetMsgProc是应用程序定义或库定义的相应回调函数名的位置标识符.
函数原形:LRESULT CALLBACK GetMsgProc(int code,WPARAM wParam,LPARAM lParam );
参数:
Code: 指示挂钩处理过程是否必须处理此消息.若nCode的值是HC_ACTION,则挂钩处理过程必须处理此消息,若nCode之值小于0,此挂钩处理过程必须将此消息不加处理地传送给函数CallNextHookEx并返回其返回值.
wParam:指示此消息是否已从消息队列中被删除,此参数可以是以下值之一:
PM_NOREMOVE :指出该消息尚未从消息队列中被删除(一个应用程序调用函数PeekMessage ,设置PM_NOREMOVE 标志).
PM_REMOVE: 指出该消息已从消息队列中被删除. (一个应用程序调用函数 GetMessage或PeekMessage, 设置 PM_REMOVE标志.)
lParam:指向结构MSG,该结构包含了关于此消息的详细消息
返回值: 若nCode的值小于0,则此挂钩函数必须返回函数CallNextHookEx所返回的值;若nCode的值大于或等于0,我们极力推荐对函数CallNextHookEx进行调用,并返回其返回值.否则,其他安装了挂钩WM_GETMESSAGE的应用程序将无法收到挂钩通知,从而导致错误的行为.若此挂钩处理过程没有调用函数CallNextHookEx,则返回值为0.
备注:挂钩处理过程GetMsgProc可以检查和修改此消息,在此挂钩处理过程将控制返回给系统之后,函数GetMessage将此修改后的消息返回给最初调用他的应用程序,应用程序通过调用函数SetWindowsHookEx指定WH_GETMESSAGE挂钩类型和相应挂钩处理过程的首地址来安装此挂钩处理过程.
速查:Windows NT:3.1以及以上版本,Windows :95以及以上版本,Windows CE 不支持,头文件:winuser.h,库文件:用户定义.
JournalPlaybackProc
函数功能: 该函数处理过程是应用程序或库定义的回调函数, 它与函数SetWindowsHookEx搭配使用.典型地,一个应用程序通过调用此函数来对先前有JournalRecordProc挂钩处理过程纪录的一系列鼠标和键盘消息进行回放.一旦挂钩函数JournalPlaybackProc挂钩处理过程被安装,则通常的鼠标和键盘输入被禁止.
类型HOOKPROC定义了指向此类回调函数的指针, JournalPlaybackProc是应用程序定义或库定义的相应回调函数名的位置标识符.
WinAPI——钩子函数大全2的更多相关文章
- WinAPI——钩子函数大全
SetWindowsHookEx 函数功能:该函数将一个应用程序定义的挂钩处理过程安装到挂钩链中去,您可以通过安装挂钩处理过程来对系统的某些类型事件进行监控,这些事件与某个特定的线程或系统中的所有事件 ...
- WinAPI——钩子函数大全3
函数原形:LRESULT CALLBACK JournalPlaybackProc(int code, WPARAM wParam, LPARAM lParam); 参数: code:指示一个代码,被 ...
- 利用钩子函数来捕捉键盘响应的windows应用程序
一:引言: 你也许一直对金山词霸的屏幕抓词的实现原理感到困惑,你也许希望将你的键盘,鼠标的活动适时的记录下来,甚至你想知道木马在windows操作系统是怎样进行木马dll的加载的…..其实这些都是用到 ...
- 子类化GetOpenFileName/GetSaveFileName, 以及钩子函数OFNHookProc的使用的简要说明
昨天, 群里面有一个人问起: 要怎么让"文件打开对话框"居中显示, 有人说子类. 而我告诉他的方法是用钩子函数OFNHookProc, 不知道这是不是所谓的子类?相信看了我今天这篇 ...
- 转:Delphi 函数大全
Delphi 函数大全 - xiucaiyao的专栏 - 博客频道 - CSDN.NEThttp://blog.csdn.net/xiucaiyao/article/details/4544039 名 ...
- SQL-2008函数大全
SQL Server 2008 函数大全(完整版) SQL2008 表达式:是常量.变量.列或函数等与运算符的任意组合.1. 字符串函数 函数 名称 参数 示例 说明 ascii(字符串表达式) se ...
- PB函数大全
PB函数大全 Abs()功能计算绝对值.语法Abs ( n )参数n:要得到绝对值的数值型变量或表达式返回值返回值的数据类型与n的数据类型相同,函数执行成功时返回n的绝对值.如果参数n的值为NULL, ...
- Vue2.X的路由管理记录之 钩子函数(切割流水线)
$route可以在子组件任何地方调用,代表当前路由对象,这个属性是只读的,里面的属性是 immutable(不可变) 的,不过你可以 watch(监测变化) 它. 导航和钩子函数: 导航:路由正在发生 ...
- 【Mocha.js 101】钩子函数
前情提要 在上一篇文章<[Mocha.js 101]同步.异步与 Promise>中,我们学会了如何对同步方法.异步回调方法以及 Promise 进行测试. 在本篇文章中,我们将了解到 M ...
随机推荐
- CSS3 弹性盒布局模型(转)
简介 引入弹性盒布局模型的目的是提供一种更加有效的方式来对一个容器中的条目进行排列. 对齐和分配空白空间.即便容器中条目的尺寸未知或是动态变化的,弹性盒布局模型也能正常的工作.在该布局模型中,容器会根 ...
- linux 正则表达式深度解析
正则表达式的文法分为3种标准:BRE.ERE 和 ARE.其中 BER 和 ERE 属于 POSIX 标准,ARE 则是由各家定义的扩展 简介 大体来讲,正则表达式的文法分为3种标准:BRE.ER ...
- 在制作joomla模板过程中遇到的问题
'''问题1.'''在jjc首页中两个通知公告和基建首页的两个模块中,当我点击查看文章标题是,而通知公告和最新动态页一直都还显示,发现文章一直在网站的下部,而不显示在它应该显示的main_rigth模 ...
- Centos7搭建集中式日志系统
在CentOS7中,Rsyslong是一个集中式的日志收集系统,可以运行在TCP或者UDP的514端口上. 目录 开始之前 配置接收日志的主机 配置发送日志的主机 日志回滚 附件:创建日志接收模板 ...
- wpf datagrid 行双击事件
Xaml: <DataGrid ItemsSource="{Binding SessionList}" Grid.Row="2" Grid.Column= ...
- sybase convert 函数
1.从string到int的转换 convert(int,@string) select convert( int , '15') 2. 从int 到 decimal 的转换 convert(deci ...
- DemoExample
<HTML> <HEAD> <TITLE>使用递归求解斐波那契数列</TITLE> </HEAD> <BODY> <?ph ...
- 【BZOJ 1563】 [NOI2009]诗人小G
Description Input Output 对于每组数据,若最小的不协调度不超过1018,则第一行一个数表示不协调度若最小的不协调度超过1018,则输出"Too hard to arr ...
- CSS定义字体间距 字体行与行间距
CSS定义字体行间距 line-height:xxpx; CSS定义字体间距 下面我们讲述一下CSS的文本属性,还是先来看一下文本属性的详细列表: 属性 属性含义 属性值 Word-s ...
- PAT-乙级-1017. A除以B (20)
1017. A除以B (20) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 本题要求计算A/B,其中A是不超过 ...