`

java钩子函数的使用已经kill

阅读更多
package com.aircoder.test;

import java.util.Date;

public class Test {


public static void sysLog(String str){


System.out.println(new Date()+"\t "+str);


}
public static void main(String[] args) {

System.out.println("\t\fHello world ");
sysLog("\t start service .....");

Runtime.getRuntime().addShutdownHook(new Thread(){

public void run(){
System.out.println("是结束了");
}
});

Runtime.getRuntime().addShutdownHook(new Thread(){

public void run(){
System.out.println("是结束了2");
}
});

//System.exit(1); kill 会执行,挨个执行钩子函数, kill -3 会打印线程堆栈,线程不会结束,kill -9 不会执行
while(true){

}
}

}
分享到:
评论

相关推荐

    钩子函数的使用.pdf

    钩子函数的使用 钩子函数是 Windows 操作系统中的一种事件处理机制,它允许开发者在事件到达应用程序前拦截和处理事件。钩子函数可以分为两类:特定线程钩子和全局系统钩子。特定线程钩子只监视指定的线程,而全局...

    回调函数以及钩子函数的概念

    回调函数和钩子函数是编程中常用的技术概念,下面我们将详细地介绍它们的概念、定义、特点和使用方法。 一、回调函数 回调函数是一个函数,它不能被显式调用,而是将其地址作为参数传递给另一个函数,以便在需要时...

    简单的钩子函数

    使用钩子函数时,开发者需要通过`SetWindowsHookEx`函数注册钩子,并指定钩子类型、处理函数、所属线程以及模块句柄。当钩子被触发时,系统会调用提供的处理函数。需要注意的是,为了确保钩子能够正确工作,必须确保...

    WINDOWS钩子函数的使用方法

    钩子函数的工作原理是,当您创建一个钩子时,WINDOWS 会先在内存中创建一个数据结构,该数据结构包含了钩子的相关信息,然后把该结构体加到已经存在的钩子链表中去。新的钩子将加到老的前面。当一个事件发生时,如果...

    钩子函数代码 VC的必经之路

    在编程领域,尤其是在Windows应用程序开发中,"钩子函数"(Hook Function)是一个重要的概念,尤其是在使用Microsoft Visual C++(VC)进行开发时。钩子函数是系统提供的一种机制,允许开发者监视和处理特定类型的...

    dephi钩子函数实例源码

    7. **注意事项**:使用钩子函数需要谨慎,过度使用或者错误使用可能会导致系统不稳定,甚至被反病毒软件误判为恶意行为。在编写钩子程序时,要确保只处理必要的事件,并且在不再需要时及时移除钩子。 8. **实际应用...

    利用钩子函数,截获任何弹出的消息框MessageBox

    然后,使用`SetWindowsHookEx`函数安装钩子,指定钩子类型、钩子函数地址、线程ID以及一个模块句柄(通常为当前模块的`hInstance`)。 ```cpp HHOOK hHook = SetWindowsHookEx(WH_CALLWNDPROC, MsgBoxHookProc, ...

    dll与钩子函数的初步学习

    在Windows编程领域,DLL(Dynamic Link Library)和钩子函数是两个非常重要的概念,它们各自在不同的场景下发挥着关键作用。这篇文档将详细介绍这两个知识点,并通过提供的压缩包文件进行深入探讨。 首先,DLL是一...

    钩子函数屏蔽鼠标键盘

    需要注意的是,使用钩子函数可能涉及到安全和性能问题,因此在实际开发中需谨慎使用。此外,系统级钩子可能需要管理员权限才能正确运行。 总的来说,通过合理利用钩子函数,我们可以创建一个功能强大的登录界面,...

    c++钩子函数:copy hook_linux函数hook

    在描述中提到的"C++调用钩子函数监视复制文件操作",可能是指使用上述方法中的某一种,或者结合用户空间和内核空间的方法。在给出的文件列表中,我们看到有`.cpp`和`.h`文件,这些都是C++源代码和头文件,可能包含了...

    C语言利用钩子函数来实现鼠标操作

    ### C语言利用钩子函数实现鼠标操作详解 #### 一、钩子机制概述 Windows操作系统是基于事件驱动的,这意味着几乎所有交互操作都是通过消息传递来完成的。钩子(Hooks)是在这一机制之上的一种特殊机制,它允许...

    基于WPF开发的钩子函数,实现了勾取键盘所有输入,同时实现了对指定案件的屏蔽或替换。

    在本文中,我们将深入探讨如何基于Windows Presentation Foundation (WPF) 开发一个钩子函数,以便实现对键盘输入的监控、屏蔽以及替换功能。WPF是Microsoft提供的一个用于构建桌面应用程序的强大框架,它允许开发者...

    vb 钩子函数用法实例适用于新手

    本文将深入探讨钩子函数的概念、工作原理以及如何在VB中使用它们,特别是通过`SetWindowsHook` API函数的应用。我们将通过实例来帮助新手理解这个主题。 钩子函数,简单来说,就是一个可以拦截并处理系统消息的函数...

    C#钩子函数详解\捕捉键盘消息.

    标题中的“C#钩子函数详解\捕捉键盘消息”主要涉及如何使用C#编程语言来创建钩子,以便捕获和处理键盘输入事件。这在某些特定的应用场景下非常有用,例如日志记录、安全监控或游戏作弊检测等。 首先,我们需要了解...

    Vue指令的钩子函数使用方法

    Vue指令的钩子函数使用方法 Vue指令的钩子函数使用方法是指在Vue框架中自定义指令时,使用钩子函数来定义指令的生命周期。钩子函数是指令的生命周期中重要的一部分,它们可以帮助开发者更好地控制指令的行为。 一...

    钩子函数调用实例

    4. **卸载钩子**:当不再需要监听事件时,使用UnhookWindowsHookEx函数移除钩子。通常在应用程序退出或者不再需要监控时执行。 5. **恢复图标位置**:在分辨率改变后,系统会重新排列桌面图标。这时,我们的程序...

    钩子函数的使用,有例子

    ### 钩子函数的理解与应用 #### 一、钩子函数的概念及作用...通过以上步骤,可以成功地创建并使用DLL中的钩子函数,实现在不同应用程序之间共享功能的目的。这种方法特别适用于需要跨多个应用程序监控特定事件的情况。

    用DELPHI编制钩子函数.doc

    下面,我们将详细介绍如何使用DELPHI编制钩子函数,包括钩子函数的编写、安装和卸载等。 一、钩子函数的概念 钩子函数是一种特殊的函数,可以捕获操作系统发出的消息,并对其进行处理。钩子函数可以用于捕获键盘...

    VC++钩子函数

    ### 钩子函数在VC++中的应用 ...通过合理地使用钩子函数,开发者可以实现对系统消息的精准控制,进而提升应用程序的功能性和灵活性。希望本文能够帮助初学者更好地理解和掌握钩子函数的基本原理及其应用场景。

Global site tag (gtag.js) - Google Analytics