2013-10-27 21 views
1

У меня есть код, который использует jDesktop открыть интерфейс Windows Explorer, когда я нажал на кнопку ВХОД и он работает правильно ..Как закрыть проводник Windows?

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {           
    // TODO add your handling code here: 
    Desktop desktop = Desktop.getDesktop(); 
    File dirToOpen; 
    try { 
     dirToOpen = new File("C://as//2010-0000-1"); 
     desktop.open(dirToOpen); 
    } catch (IOException ex) { 
     ex.getMessage(); 
    } catch (IllegalArgumentException iae) { 
     System.out.println("File Not Found"); 
    } 
} 

то теперь, моя проблема, когда я нажимаю на кнопку LOGOUT, окна jDesktop интерфейс explorer также должен быть закрыт ... Я не знаю, какие коды использовать ....

+0

заинтересованы в ответах –

ответ

1

Это не так просто, они имеют только шанс, что у вас есть, если у вас есть ссылка на рассматриваемый процесс. Это будет означать, что вам нужно будет больше контролировать процесс ... Это также означает, что он будет работать только в Windows ...

Я использую следующий код для отображения указанного файла в Windows Исследователь ...

String path = file.getCanonicalPath(); 

ProcessBuilder pb = new ProcessBuilder("explorer.exe", "/select," + path); 
pb.redirectError(); 
Process proc = pb.start(); 

После того, как у вас есть доступ к Process, вы можете попробовать использовать Process#destory, чтобы попытаться завершить процесс.

Запуск процесса должен выполняться из отдельного потока, так что вы не получите себя полностью привязанным к блочной точке, вы также должны будете использовать вывод Process только в том случае, если он вызывает остановку процесса.

ps- У меня нет доступа к компьютеру Windows, на данный момент, так что я не уверен, что если Process#destory будет работать;)

Смежные вопросы