如果你不想自己的程序被从Ctrl+Alt+Del弹出的窗口中强行关闭,介绍一个Windows未公布的API函数给你:RegisterServiceProcess(ProcessID:Long,Type:Long)该函数存在于Kernal32.dll中.Process指向进程的ID,Type表示是否向系统注册该进程,是1,否0.==========================================================================GetClientRect函数功能:该函数获取窗口客户区的坐标。客户区坐标指定客户区的左上角和右下角。由于客户区坐标是相对子窗口客户区的左上角而言的,因此左上角坐标为(0,0)函数原型:BOOLGetClientRect(HWNDhWnd,LPRECTlpRect);参数:GetLastError函数。备注:WindowsCE:命令条包含在客户区中。速查:WindowsNT:3.1以上版本:Windows:95以上版本:WindowsCE:1.0以上版本:头文件:winuser.h;库文件:user32.lib==========================================================================GetDesktopWindow函数功能:该函数返回桌面窗口的句柄。桌面窗口覆盖整个屏幕。桌面窗口是一个要在其上绘制所有的图标和其他窗口的区域。函数原型:HWNDGetDesktopWindow(VOID)参数:无。返回值:函数返回桌面窗口的句柄。速查:WindowsNT:3.1以上版本;Windows:95以上版本:WindowsCE:不支持;头文件:Winuser.h;库文件:user32.lib。==========================================================================GetForegroundwindow函数功能:该函数返回前台窗口(用户当前工作的窗口)。系统分配给产生前台窗口的线程一个稍高一点的优先级。函数原型:HWNDGetForegroundwindow(VOID)参数:无。返回值:函数返回前台窗回的句柄。速查:WindowsNT:3.1以上版本;Windows:95以上版本:WindowsCE:1.0以上版本:头文件:Winuser.h;库文件:user32.lib。==========================================================================GetLastActivePopup函数功能:该函数确定指定窗口中的哪一个弹出式窗口是最近活动的窗口。函数原型:HWNDGetLastActivePopup(HWNDhWnd);参数:hWnd:所有者窗口句柄。返回值:返回值标识了最近活动的弹出式窗口的句柄。如果满足下列任一条件,则返回值与参数hWnd相同:由hWnd指定的窗口是最近活动的:由hWnd指定的窗口不拥有任何弹出式窗口;由hWnd指定的窗口不是顶层窗口或它属于其他窗口。速查:Windows:3.1以上版本;Windows:95以上版本:WindowsCE:不支持;头文件:winuser.h;库文件:user32.lib。==========================================================================GetNextWindow函数功能:该函数返回z序中的前一个或后一个窗口的句柄。下一窗口在指定窗口的下面,前一窗口则在上面。如果指定的窗口是顶端窗口,该函数返回下一个(或前一个)顶端窗口的句柄。如果指定的窗口是顶层窗口,函数返回下一个(或前一个)顶层窗口的句柄。如果函数是子窗口,则函数搜索下一个或前一个子窗口的句柄。函数原型:HWNDGetNextWindow(HWNDhWnd,UNITwCmd);参数:hWnd:一个窗口的句柄。窗口句柄在wCmd参数的基础上获得的相对于这个窗口的句柄。wCmd:指明窗口返回的是前一窗口的句柄还是后一窗口的句柄。该参数可以是下列两个值之一:GWHWNONEXT:返回在给定窗口的下面窗口的句柄。GW_HWNDPREV:返回在给定窗口的上面窗口的句柄。返回值:如果函数成功,返回值是前一窗口(或后一窗口)的句柄。如果前后窗口不存在,则返回值为NULL。若想获得更多错误信息,请调用GetLastError函数。备注:在设定了GW_HWNDNEXT或GW_GETPREV标志时,调用该函数与调用GetWindow函数相同。速查:WindowsNT:3.1以上版本;Windows:95以上版本:WindowsCE:不支持:头文件:Winuer.h;库文件:user32.lib。==========================================================================GetParent函数功能:该函数获得一个指定子窗口的父窗口句柄。函数原型:HWNDGetParent(HWNDhWnd);参数:hWnd:子窗口句柄,函数要获得该子窗口的父窗口句柄。返回值:如果函数成功,返回值为父窗口句柄。如果窗口无父窗口,则函数返回NULL。若想获得更多错误信息,请调用GetLastError函数。备注:WindowsCE:WindowsCE1.0版本不支持除了对话框之外的所属子窗口。速查:WindowsNT:3.1以上版本;Windows:95以上版本;WindowsCE:1.0以上版本:头文件:Winuser.h:库文件:user32.lib。==========================================================================GetTopWindow函数功能:该函数检查与特定父窗口相联的子窗口z序,并返回在z序顶部的子窗口的句柄。函数原型:HWNDGetTopWindow(HWNDhWnd);参数:hWnd:被查序的父窗口的句柄。如果该参数为NULL,函数返回Z序顶部的窗口句柄。返回值;如果函数成功,返回值为在Z序顶部的子窗口句柄。如果指定的窗口无子窗口,返回值为NULL。若想获得更多错误信息,请调用GetLastError函数。速查:WindowsNT:3.1以上版本;Windows:95以上版本:WindowsCE:不支持;头文件:Winuser.h:库文件;user32.lib。==========================================================================GetWindow函数功能:该函数返回与指定窗口有特定关系(如Z序或所有者)的窗口句柄。函数原型:HWNDGetWindow(HWNDhWnd,UNITnCmd);参数:hWnd:窗口句柄。要获得的窗口句柄是依据nCmd参数值相对于这个窗口的句柄。nCmd:说明指定窗口与要获得句柄的窗口之间的关系。该参数值可以是下列之一:GW_CHILD:如果指定窗口是父窗口,则获得的是在Z序顶端的子窗口的句柄,否则为NULL。函数仅检查指定父窗口的子窗口,不检查继承窗口。GW_ENABLEDPOUP:(WindowsNT5.0)返回的句柄标识了属于指定窗口的处于使能状态弹出式窗口(检索使用第一个由GW_HWNDNEXT查找到的满足前述条件的窗口);如果无使能窗口,则获得的句柄与指定窗口相同。GW_HWNDFIRST:返回的句柄标识了在Z序最高端的相同类型的窗口。如果指定窗口是最高端窗口,则该句柄标识了在Z序最高端的最高端窗口;如果指定窗口是顶层窗口,则该句柄标识了在z序最高端的顶层窗口:如果指定窗口是子窗口,则句柄标识了在Z序最高端的同属窗口。GW_HWNDLAST:返回的句柄标识了在z序最低端的相同类型的窗口。如果指定窗口是最高端窗口,则该柄标识了在z序最低端的最高端窗口:如果指定窗口是顶层窗口,则该句柄标识了在z序最低端的顶层窗口;如果指定窗口是子窗口,则句柄标识了在Z序最低端的同属窗口。GW_HWNDNEXT:返回的句柄标识了在Z序中指定窗口下的相同类型的窗口。如果指定窗口是最高端窗口,则该句柄标识了在指定窗口下的最高端窗口:如果指定窗口是顶层窗口,则该句柄标识了在指定窗口下的顶层窗口;如果指定窗口是子窗口,则句柄标识了在指定窗口下的同属窗口。GWHWNDPREV:返回的句柄标识了在Z序中指定窗口上的相同类型的窗口。如果指定窗口是最高端窗口,则该句柄标识了在指定窗口上的最高端窗口;如果指定窗口是顶层窗口,则该句柄标识了在指定窗口上的顶层窗口;如果指定窗口是子窗口,则句柄标识了在指定窗口上的同属窗口。GW_OWNER:返回的句柄标识了指定窗口的所有者窗口(如果存在)。返回值:如果函数成功,返回值为窗口句柄;如果与指定窗口有特定关系的窗口不存在,则返回值为NULL。若想获得更多错误信息,请调用GetLastError函数。备注:在循环体中调用函数EnumChildWindow比调用GetWindow函数可靠。调用GetWindow函数实现该任务的应用程序可能会陷入死循环或退回一个已被销毁的窗口句柄。速查:WindowsNT:3.1以上版本;Windows:95以上版本;WindowsCE:1.0以上版本;头文件:winuser.h;库文件:user32.lib。==========================================================================GetWindowPlacement函数功能:该函数返回指定窗口的显示状态以及被恢复的、最大化的和最小化的窗口位置。函数原型:BOOLGetWindowPlacement(HWNDhWnd,WINDOWPLACEMENT★lpwndpl);参数:hWnd:窗日句柄。lpwndpl:指向WINDOWPLACEMENT结构的指针,该结构存贮显示状态和位置信息。在调用GetWindowPlacement函数之前,将WINDOWPLACEMENT结构的长度设为sizeof(WIDNOWPLACEMENT)。如果lpwndpl->length设置不正确则函数GetWindowPlacement将失败。返回值;如果函数成功,返回值为非零;如果函数失败,返回值为零。若想获得更多错误信息,请调用GetlastError函数。备注:由该函数获得的WINDOWPLACEMENT结构的flag单元总为0。如果hWnd的窗口被最大化,则showCmd元为SHOWMZAXMIZED,如果窗口被最小化,则showCmd元为SHOWMINIMIZED,除此之外为SHOWNORMN,WINDOWPLACEMENT长度单元必须置为sizeOf(WINDOWPLACEMENT),如果参数设置不正确,函数返回FALSE。查看设置窗口位置坐标的正确信息,参看WINDOWPLACEMENT。速查:WindowsNt:3.1以上版本:Windows:95以上版本;WindowsCE:不支持;头文件:Winuser.h;库文件:User32.lib。==========================================================================GetWindowRect函数功能:该函数返回指定窗口的边框矩形的尺寸。该尺寸以相对于屏幕坐标左上角的屏幕坐标给出。函数原型:BOOLGetWindowRect(HWNDhWnd,LPRECTlpRect);参数:hWnd:窗口句柄。lpRect:指向一个RECT结构的指针,该结构接收窗口的左上角和右下角的屏幕坐标。返回值:如果函数成功,返回值为非零:如果函数失败,返回值为零。若想获得更