做了一个"virus",需要提示
Made a "virus", need tips
首先,它并不是真正用于监视或窃取银行帐户的病毒。我什至不知道它是不是病毒。我只是为了 troll friends/people 我知道,并练习我的编程技能。我会给你看代码,然后我会试着解释一下;
package pracatice;
import java.awt.event.*;
import javax.swing.*;
public class practice extends JFrame
{
public static boolean bool = true;
public static int x = 0;
public static int y = 0;
public static int num = 0;
public static TimerClass tc = new TimerClass();
public static Timer timer = new Timer(30, tc);
public JPanel panel = new JPanel();
public JButton btn = new JButton("press");
public practice()
{
setSize(100,100);
setTitle("Test");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setPanel();
setVisible(true);
}
public void setPanel()
{
btn.addActionListener(new listener());
panel.add(btn);
add(panel);
}
public class listener implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
num = 0;
timer.start();
}
}
public static class TimerClass implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
do
{
num++;
JOptionPane optionPane = new JOptionPane("PC afected by virus");
JDialog dialog = optionPane.createDialog(null, "Virus");
dialog.setModal(false);
dialog.setLocation(x, y);
dialog.show();
updateCordinates();
}while(bool == true);
}
}
public static void updateCordinates()
{
if(x != 1100)
x += 100;
else if(x == 1100)
{
x = 0;
y += 50;
}
if(y == 650)
y =0;
}
public static void main(String[] args)
{
new practice();
}
}
所以,一开始它显然构建了一个 window,100 X 100 像素大。它添加了一个显示 "press" 的按钮。当您按下时,它会开始一个新的循环,每 30 毫秒一次。
循环的每次迭代,它都会在稍微不同的位置放入一个新的 JOPtionPane.showMessageBox(null,...)
。
刚开始的时候,我不知道它会是不可阻挡的。我 运行 它,不得不重新启动我的笔记本电脑。当我按下确定时,它会放入另一个盒子,在完全相同的位置。当我尝试打开任务管理器时,它会自动将其最小化,并返回 "virus" window。因此,笔记本电脑无法使用。我不得不重新启动它,关闭我爸爸的一些标签...
以下是我想了解的一些事情;
1) 如果我把这个 运行 放了一夜,笔记本电脑 运行 或 RAM 是否有可能耗尽,如果确实如此,会发生什么?
2) 我可以做到,当我按下键盘上的一个按钮时,整个东西就关闭了吗?
就像我之前说的,我只是想 p运行k 我的朋友,程序碰巧无法关闭...有什么建议吗?
是的,计算机最终会 运行 内存不足。发生这种情况时,除了程序崩溃外,不会发生任何灾难性事件。
不太容易,因为 JOptionPane
windows 不要让键盘事件到达程序的其余部分。您需要使用自己的类型 window 而不是 JOptionPane
。然后你可以使用 KeyListener
做 System.exit(0)
.
首先,它并不是真正用于监视或窃取银行帐户的病毒。我什至不知道它是不是病毒。我只是为了 troll friends/people 我知道,并练习我的编程技能。我会给你看代码,然后我会试着解释一下;
package pracatice;
import java.awt.event.*;
import javax.swing.*;
public class practice extends JFrame
{
public static boolean bool = true;
public static int x = 0;
public static int y = 0;
public static int num = 0;
public static TimerClass tc = new TimerClass();
public static Timer timer = new Timer(30, tc);
public JPanel panel = new JPanel();
public JButton btn = new JButton("press");
public practice()
{
setSize(100,100);
setTitle("Test");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setPanel();
setVisible(true);
}
public void setPanel()
{
btn.addActionListener(new listener());
panel.add(btn);
add(panel);
}
public class listener implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
num = 0;
timer.start();
}
}
public static class TimerClass implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
do
{
num++;
JOptionPane optionPane = new JOptionPane("PC afected by virus");
JDialog dialog = optionPane.createDialog(null, "Virus");
dialog.setModal(false);
dialog.setLocation(x, y);
dialog.show();
updateCordinates();
}while(bool == true);
}
}
public static void updateCordinates()
{
if(x != 1100)
x += 100;
else if(x == 1100)
{
x = 0;
y += 50;
}
if(y == 650)
y =0;
}
public static void main(String[] args)
{
new practice();
}
}
所以,一开始它显然构建了一个 window,100 X 100 像素大。它添加了一个显示 "press" 的按钮。当您按下时,它会开始一个新的循环,每 30 毫秒一次。
循环的每次迭代,它都会在稍微不同的位置放入一个新的 JOPtionPane.showMessageBox(null,...)
。
刚开始的时候,我不知道它会是不可阻挡的。我 运行 它,不得不重新启动我的笔记本电脑。当我按下确定时,它会放入另一个盒子,在完全相同的位置。当我尝试打开任务管理器时,它会自动将其最小化,并返回 "virus" window。因此,笔记本电脑无法使用。我不得不重新启动它,关闭我爸爸的一些标签...
以下是我想了解的一些事情;
1) 如果我把这个 运行 放了一夜,笔记本电脑 运行 或 RAM 是否有可能耗尽,如果确实如此,会发生什么?
2) 我可以做到,当我按下键盘上的一个按钮时,整个东西就关闭了吗?
就像我之前说的,我只是想 p运行k 我的朋友,程序碰巧无法关闭...有什么建议吗?
是的,计算机最终会 运行 内存不足。发生这种情况时,除了程序崩溃外,不会发生任何灾难性事件。
不太容易,因为
JOptionPane
windows 不要让键盘事件到达程序的其余部分。您需要使用自己的类型 window 而不是JOptionPane
。然后你可以使用KeyListener
做System.exit(0)
.