Напишите окно с помощью программы Java, чтобы открыть файл EXE
Напишите окно с помощью программы Java, чтобы открыть файл EXE
package test;import java.awt.GridLayout;import java.awt.Panel;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.io.File;import java.io.IOException;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JTextField;publicclassTest01extendsJFrame/** * */privatestaticfinallong serialVersionUID =1L; JTextField text; JButton qq,wx,yd,llq;publicstaticvoidmain(String[] args)newTest01();>publicTest01() text =newJTextField(15);this.setLocation(800,300);this.setTitle("ces");this.setSize(314,252);this.setVisible(true);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setResizable(false);this.setLocation(800,300); Panel p =newPanel();// p.add(new TextField(20)); qq=newJButton("QQ"); wx=newJButton("WeChat"); yd=newJButton("Юдао Словарь"); llq=newJButton("Браузер"); qq.setFocusPainted(false); wx.setFocusPainted(false); yd.setFocusPainted(false); llq.setFocusPainted(false); p.add(qq); p.add(wx); p.add(yd); p.add(llq); p.setLayout(newGridLayout(2,2));this.add(p);// this.add(text,BorderLayout.NORTH);MyEvent();// обработка событий>publicvoidMyEvent()Text(qq);Text(wx);Text(yd);Text(llq);>// метод обработки времени каждой кнопкиpublicvoidText(JButton button) button.addActionListener(newActionListener()@OverridepublicvoidactionPerformed(ActionEvent arg0)// TODO Auto-generated method stub String str=button.getText();// System.out.println(str);// text.setText(text.getText() + str);if("QQ".equals(str)) System.out.println("Нажмите QQ"); Test01.openExe("D:\\Program Files (x86)\\Tencent\\QQ\\Bin\\","QQScLauncher.exe");>if("WeChat".equals(str)) System.out.println("Нажмите WeChat"); Test01.openExe("D:\\Program Files (x86)\\Tencent\\WeChat\\","WeChat.exe");>if("Юдао Словарь".equals(str)) System.out.println("Нажмите на словарь Дао"); Test01.openExe("D:\\Program Files (x86)\\Youdao\\Dict\\","YoudaoDict.exe");>if("Браузер".equals(str)) System.out.println("Нажмите на браузер"); Test01.openExe("D:\\Program Files (x86)\\360Chrome\\Chrome\\Application","360chrome.exe");>>>);>publicstaticvoidopenExe(String exeUrl , String ml) Runtime rn = Runtime.getRuntime(); Process p = null; File dir =newFile(exeUrl);try// выполнить программу EXE в указанном каталоге, программа EXE может быть выполнена напрямую// p = rn.exec("colorcpl.exe /C start" , null , new File(exeUrl));// Перейдите в указанный каталог, чтобы выполнить через CMD и программу EXE, выполненную командной строкой p = rn.exec("cmd.exe /k start "+ ml , null , dir);>catch(IOException e) e.printStackTrace();>>>
Визуализации
Интеллектуальная рекомендация
LiveVideostack Online Season 5 (13): высокопроизводительное видео
Вспышка видео бизнеса в сценарии 4G/5G и требования пользователя для более высокого качества (в прямом эфире, короткое видео, видео на -Деманд), более высокое качество изображения означает больше вычи.
Чем занимаются back-end программисты?
Внимание друзья! Редактор здесь, чтобы послать всем внимание и преимущества: Выполните поиск в общедоступной учетной записи WeChat «Quick Learning Java» и следуйте за вами, чтобы получить .
Сделай сам свой линейный стол с линейным хранилищем в C ++
Пожалуйста, укажите источник, спасибо ~ http: //blog.csdn.net/hongkangwl/article/details/21802073 Можно сказать, что линейная таблица является самой простой структурой данных, и ее описание:конечная п.
Вопросник письменного экзамена Huawei из 6 символов
Введите строку и найдите набор символов, содержащихся в строке Введите описание: Описание выхода: Пример ввода 1: Пример вывода 1: Личное решение таково: .
JUC -RENTRANTLOCK SUPPRONTION
Re etyrantlock, переводчик называется тяжелым замком, который является способом обеспечения безопасности потока. Это похоже на роль синхронизации, но каков его принцип реализации. После проверки многи.
Process process = runtime.exec("c:\\program files\\test\\test.exe");
Но я получал некоторую ошибку. Затем я узнал, что exe должен быть запущен из этого местоположения, которое является c://программными файлами/test/только тогда оно будет открыто с ошибками. Поэтому я решил написать .bat файл и выполнить его так, чтобы он подключился к этому месту и выполнил файл .exe. Ниже приведен мой код:
BufferedWriter fileOut; String itsFileLocation = "c:\\program files\\test\\" System.out.println(itsFileLocation); try < fileOut = new BufferedWriter(new FileWriter("C:\\test.bat")); fileOut.write("cd\\"+"\n"); fileOut.write("cd "+ itsFileLocation +"\n"); fileOut.write("test.exe"+"\n"); fileOut.write("exit"+"\n"); fileOut.close(); // Close the output stream after all output is done. >catch (IOException e1) < e1.printStackTrace(); >// Create the Buffered Writer object to write to a file called filename.txt Runtime runtime = Runtime.getRuntime(); try < Process process =runtime.exec("cmd /c start C:\\test.bat"); >catch (IOException e)
Приведенный выше код работает отлично. Однако командная строка также открывается в конце моего .exe(Application). Он закрывается только после выхода EXE файла. Мне нужно выполнить команду командной строки, когда моя статистика приложения. Мой .bat файл будет выглядеть следующим образом после его написания программой.
Create Windows Executable (.exe) for Java Application
Launch4j is a cross-platform tool for wrapping Java applications distributed as jars in lightweight Windows native executable files. In this post, we will learn making such an executable file for a demo java application.
Step1 ) Create a java application
I am creating a very basic java class which simply displays a frame and some text on it. It also has the main() method which will start the application.
package com.howtodoinjava; import java.awt.Color; import java.awt.Font; import java.awt.Frame; import java.awt.Label; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import javax.swing.JDialog; public class ApplicationMain extends JDialog < private static final long serialVersionUID = 1L; public ApplicationMain() < //Create a frame Frame f = new Frame(); f.setSize(500, 300); //Prepare font Font font = new Font( "SansSerif", Font.PLAIN, 22 ); //Write something Label label = new Label("Launch4j Maven Demo with HowToDoInJava.com"); label.setForeground(Color.RED); label.setFont(font); f.add(label); //Make visible f.setVisible(true); f.addWindowListener(new WindowAdapter() < public void windowClosing(WindowEvent e) < System.exit(0); >>); > public static void main(final String[] args) < new ApplicationMain(); >>
Step 2) Create maven file with launch4j configured in it
I have created a pom file for packaging the application as .exe file. If you feel something unclear, drop a comment.
Кофе-брейк #148. Как превратить любую Java-программу в автономный EXE-файл
Источник: Mccue.dev Сегодня вы узнаете, как создать из Java-программы исполняемый EXE-файл для запуска в операционной системе Windows. Двойной щелчок для запуска — один из самых простых способов открыть программу. Если у человека, которому вы хотите показать свое приложение, уже установлена правильная версия Java, для запуска он может дважды щелкнуть файл jar. Если же у него не установлена Java, то есть способы создать исполняемый установщик, такой как jpackage. После этого для запуска кода нужно лишь нажать на этот установщик. Также можно использовать Native Image, чтобы превратить код в исполняемый файл, который не требует какой-либо дополнительной установки. В этой статье мы сосредоточимся на довольно простом подходе, который работает для любого приложения, независимо от того, какие зависимости вы включаете или какие функции JVM используете. Код, о котором сегодня пойдет речь, можно найти в репозитории GitHub, а исполняемые файлы с программой выложены здесь.
Используемый стек
Java 9+
Maven
NodeJS
Шаг 1. Скомпилируйте и упакуйте свой код в jar
Эта базовая программа создаст простое окно с текстом, который вы можете менять, нажимая на одну из кнопок в интерфейсе.
package example; import org.apache.commons.text.WordUtils; import javax.swing.*; import java.awt.*; public class Main < public static void main(String[] args) < var label = new JLabel("Hello, World!"); label.setFont(new Font("Serif", Font.PLAIN, 72)); var uppercaseButton = new JButton("Uppercase"); uppercaseButton.addActionListener(e ->label.setText(WordUtils.capitalize(label.getText())) ); var lowercaseButton = new JButton("lowercase"); lowercaseButton.addActionListener(e -> label.setText(WordUtils.uncapitalize(label.getText())) ); var panel = new JPanel(); panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS)); panel.add(label); panel.add(uppercaseButton); panel.add(lowercaseButton); var frame = new JFrame("Basic Program"); frame.add(panel); frame.pack(); frame.setVisible(true); frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); > >
Сейчас наша цель состоит в том, чтобы упаковать код вместе с его зависимостями в jar. JAR-файлы — это обычные ZIP-архивы с небольшой дополнительной структурой. Для проекта Maven конфигурация будет выглядеть следующим образом.
Здесь плагин “shade” будет обрабатывать включение кода из всех ваших зависимостей в jar. В данном случае единственной внешней зависимостью является org.apache.commons/commons-text.
Шаг 2. Создайте среду выполнения Java (Java Runtime Environment, JRE)
Чтобы запустить уже созданный нами jar-файл, нужно связать его со средой выполнения Java. Для этого мы будем использовать jlink. Поскольку в экосистеме Java не используются модули, то вы, скорее всего, не слышали о них и не использовали jlink. Короче говоря, jlink может создавать “настраиваемые исполняемые образы”. Например, вы делаете веб-сервер. Вам не нужны AWT или Swing, поэтому включать их в код будет лишним. С помощью jlink вы можете создать JRE, которая вообще не включает модуль java.desktop. Эта система работает лучше всего, если ваше приложение и все его зависимости включают скомпилированные файлы module-info.java, которые дают jlink точную информацию, какие модули вы хотите включить. Вы также можете вручную определить список необходимых модулей, используя jdeps. И даже без модульного проекта мы можем эффективно клонировать нашу инсталляцию Java в каталог с помощью jlink.
Включение каждого модуля по отдельности дает уверенность в том, что такие библиотеки как org.apache.commons/commons-text будут работать именно так, как задумано. Нужно лишь выяснить, какие модули нам требуются.
Шаг 3. Объедините Jar и JRE в исполняемый файл
Заархивируйте каталог, содержащий JRE и jar вашего приложения.
Прикрепите сценарий-заглушку (stub script) к верхней части этого zip-файла, который извлечет данные во временный каталог и запустит код.
Это создаст исполняемый файл с именем “application”. Если вы создаете его для Windows, то нужно указать “application.exe”. Когда исполняемый файл запускается, <> будет заменен на временный каталог, в котором был развернут zip-файл. Учтите, что при создании исполняемых файлов используются также и такие механизмы, как подпись кода и автоматические обновления. Однако эти вещи требуют более глубокого изучения, которое трудно вместить в одну публикацию.