其实很简单,主要是生成 DPFPCapture 对象时,设置他的优先级就可以了。
(改成High的话,发布后,windows系统会认为你是病毒。。。。。)
C#
//设置优先级,这个就是系统托盘后,也能监听的关键!
DPFP.Capture.Capture Capturer = new DPFP.Capture.Capture(Priority.Low);
//最小化到托盘
this.WindowState = FormWindowState.Minimized;
this.Hide();
java
//设置优先级,这个就是系统托盘后,也能监听的关键!
DPFPCapture capturer = DPFPGlobal.getCaptureFactory().createCapture(DPFPCapturePriority.CAPTURE_PRIORITY_LOW);
//最小化到托盘
private void systemTray() {
if (SystemTray.isSupported()) { // 判断系统是否支持托盘功能.
// 创建托盘右击弹出菜单
PopupMenu popupMenu = new PopupMenu();
//创建弹出菜单中的退出项
MenuItem itemExit = new MenuItem("Exit");
itemExit.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
});
popupMenu.add(itemExit);
//创建托盘图标
ImageIcon icon = new ImageIcon(getClass().getResource("image/timg.jpg")); // 创建图片对象
TrayIcon trayIcon = new TrayIcon(icon.getImage(), "ScanUpload",
popupMenu);
trayIcon.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
TwainADF_VerificationForm.this.setVisible(true);
}
});
//把托盘图标添加到系统托盘
//这个可以点击关闭之后再放到托盘里面,在此是打开程序直接显示托盘图标了
try {
SystemTray.getSystemTray().add(trayIcon);
} catch (AWTException e1) {
e1.printStackTrace();
}
}
}