Compare commits

..

No commits in common. '7698a58aaebdd7b47a4f4250ada34e379bc9665c' and '9b0d41fb4de1b5ed3d6140bdd10deaf59bef1df7' have entirely different histories.

@ -1,3 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4"> <project version="4">
<component name="ExternalStorageConfigurationManager" enabled="true" /> <component name="ExternalStorageConfigurationManager" enabled="true" />
<component name="JavaScriptSettings"> <component name="JavaScriptSettings">

@ -4,7 +4,6 @@ import cn.hutool.core.util.RandomUtil;
import org.sikuli.basics.Settings; import org.sikuli.basics.Settings;
import org.sikuli.script.FindFailed; import org.sikuli.script.FindFailed;
import org.sikuli.script.Image; import org.sikuli.script.Image;
import org.sikuli.script.Key;
import org.sikuli.script.KeyModifier; import org.sikuli.script.KeyModifier;
import org.sikuli.script.Location; import org.sikuli.script.Location;
import org.sikuli.script.Match; import org.sikuli.script.Match;
@ -18,9 +17,6 @@ import xyz.wbsite.jmacro.util.Logger;
import xyz.wbsite.jmacro.util.MousePathUtil; import xyz.wbsite.jmacro.util.MousePathUtil;
import xyz.wbsite.jmacro.util.TaskUtil; import xyz.wbsite.jmacro.util.TaskUtil;
import java.awt.*;
import java.awt.datatransfer.Clipboard;
import java.awt.datatransfer.StringSelection;
import java.util.List; import java.util.List;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
@ -264,17 +260,6 @@ public abstract class JMacro {
mouseRightClick(Mouse.at()); mouseRightClick(Mouse.at());
} }
/**
*
*/
public void insertClipboard(String text) {
StringSelection selection = new StringSelection(text);
// 获取系统剪贴板
Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
// 将文本设置到剪贴板
clipboard.setContents(selection, null);
}
/** /**
* *
*/ */
@ -289,13 +274,6 @@ public abstract class JMacro {
screen.type("v", KeyModifier.CTRL); screen.type("v", KeyModifier.CTRL);
} }
/**
*
*/
public void sendEnter() {
screen.type(Key.ENTER);
}
/** /**
* *
*/ */

@ -30,7 +30,7 @@ public class JMainApplication extends Application {
@Override @Override
public void start(Stage stage) throws Exception { public void start(Stage stage) throws Exception {
stage.setTitle("芝麻糊的自动工具箱"); stage.setTitle("无限工具");
stage.setMinWidth(400); stage.setMinWidth(400);
stage.setMinHeight(300); stage.setMinHeight(300);
FXMLLoader mainLoader = FXMLUtil.load("main.fxml"); FXMLLoader mainLoader = FXMLUtil.load("main.fxml");

@ -13,7 +13,6 @@ import javafx.collections.ObservableList;
import javafx.fxml.FXML; import javafx.fxml.FXML;
import javafx.fxml.Initializable; import javafx.fxml.Initializable;
import javafx.scene.Node; import javafx.scene.Node;
import javafx.scene.control.CheckBox;
import javafx.scene.control.Button; import javafx.scene.control.Button;
import javafx.scene.control.RadioButton; import javafx.scene.control.RadioButton;
import javafx.scene.control.TextArea; import javafx.scene.control.TextArea;
@ -57,8 +56,6 @@ public class JMainController implements Initializable {
@FXML @FXML
private Button stop; private Button stop;
@FXML @FXML
private CheckBox autoMini;
@FXML
private ToggleGroup runMode; private ToggleGroup runMode;
@FXML @FXML
private HBox modeLoop; private HBox modeLoop;
@ -89,12 +86,6 @@ public class JMainController implements Initializable {
JMainController.instance = this; JMainController.instance = this;
// 控件初始化 // 控件初始化
boolean autoMiniValue = JProp.getInstance().getBool("autoMini", false);
autoMini.setSelected(autoMiniValue);
autoMini.setOnMouseClicked(event -> {
JProp.getInstance().setBool("autoMini", autoMini.isSelected());
});
String mode = JProp.getInstance().getString("mode", "loop"); String mode = JProp.getInstance().getString("mode", "loop");
ObservableList<Toggle> toggles = runMode.getToggles(); ObservableList<Toggle> toggles = runMode.getToggles();
for (Toggle tog : toggles) { for (Toggle tog : toggles) {
@ -300,11 +291,6 @@ public class JMainController implements Initializable {
return; return;
} }
Logger.info("服务启动成功"); Logger.info("服务启动成功");
boolean autoMini = JProp.getInstance().getBool("autoMini", false);
if (autoMini) {
JMainApplication.primaryStage.setIconified(true);
}
} }
} }
} }

@ -44,10 +44,6 @@ public class JProp {
return this.props.getStr(key, "").split(","); return this.props.getStr(key, "").split(",");
} }
public boolean getBool(String key, boolean defaultValue) {
return this.props.getBool(key, defaultValue);
}
public int getInt(String key, int defaultValue) { public int getInt(String key, int defaultValue) {
return this.props.getInt(key, defaultValue); return this.props.getInt(key, defaultValue);
} }
@ -74,11 +70,6 @@ public class JProp {
this.save(); this.save();
} }
public void setBool(String key, boolean value) {
this.props.setProperty(key, String.valueOf(value));
this.save();
}
public void setInt(String key, int value) { public void setInt(String key, int value) {
this.props.setProperty(key, String.valueOf(value)); this.props.setProperty(key, String.valueOf(value));
this.save(); this.save();

@ -38,24 +38,24 @@ public class TaskImpl extends JMacro {
Logger.info("启动图标坐标:{}", launch.getRect().toString()); Logger.info("启动图标坐标:{}", launch.getRect().toString());
Logger.info("移动鼠标"); Logger.info("移动鼠标");
mouseMove(launch.getCenter()); mouseMove(launch.getCenter());
Logger.info("双击我的电脑"); // Logger.info("双击我的电脑");
mouseLeftDoubleClick(launch); // mouseLeftDoubleClick(launch);
Logger.info("等待程序启动中,请稍等..."); // Logger.info("等待程序启动中,请稍等...");
delay(3 * 1000); // delay(3 * 1000);
//
Region windows = findLegend("我的电脑窗口", 0.9); // Region windows = findLegend("我的电脑窗口", 0.9);
if (windows == null) { // if (windows == null) {
Logger.error("我的电脑启动失败"); // Logger.error("我的电脑启动失败");
return; // return;
} // }
Logger.info("定位到我的电脑窗口"); // Logger.info("定位到我的电脑窗口");
Logger.info("移动鼠标"); // Logger.info("移动鼠标");
mouseMove(windows.getCenter().offset(100,0)); // mouseMove(windows.getCenter().offset(100,0));
//
Logger.info("等待1秒后自动关闭"); // Logger.info("等待1秒后自动关闭");
delay(1000); // delay(1000);
mouseLeftClick(windows.getCenter().offset(100,0)); // mouseLeftClick(windows.getCenter().offset(100,0));
//
Logger.info("结束任务"); // Logger.info("结束任务");
} }
} }

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 1.0 KiB

@ -13,8 +13,7 @@
<?import javafx.scene.layout.AnchorPane?> <?import javafx.scene.layout.AnchorPane?>
<?import javafx.scene.layout.HBox?> <?import javafx.scene.layout.HBox?>
<?import javafx.scene.layout.VBox?> <?import javafx.scene.layout.VBox?>
<?import javafx.scene.control.CheckBox?> <AnchorPane prefHeight="300.0" prefWidth="600.0" stylesheets="@main.css" xmlns="http://javafx.com/javafx/17.0.2-ea"
<AnchorPane prefHeight="350.0" prefWidth="600.0" stylesheets="@main.css" xmlns="http://javafx.com/javafx/17.0.2-ea"
xmlns:fx="http://javafx.com/fxml/1" fx:controller="xyz.wbsite.jmacro.JMainController"> xmlns:fx="http://javafx.com/fxml/1" fx:controller="xyz.wbsite.jmacro.JMainController">
<children> <children>
<Separator layoutY="-1.0" opacity="0.5" prefWidth="200.0" AnchorPane.leftAnchor="0.0" <Separator layoutY="-1.0" opacity="0.5" prefWidth="200.0" AnchorPane.leftAnchor="0.0"
@ -38,27 +37,11 @@
</VBox.margin> </VBox.margin>
</HBox> </HBox>
<HBox alignment="CENTER_LEFT" prefHeight="25.0" prefWidth="200.0">
<children>
<Label contentDisplay="CENTER" prefHeight="25.0" text="开始后自动最小化"/>
<CheckBox fx:id="autoMini" focusTraversable="false">
<HBox.margin>
<Insets left="5.0"/>
</HBox.margin>
</CheckBox>
</children>
<VBox.margin>
<Insets top="3.0" bottom="3.0"/>
</VBox.margin>
</HBox>
<HBox alignment="CENTER_LEFT" prefHeight="25.0" prefWidth="200.0"> <HBox alignment="CENTER_LEFT" prefHeight="25.0" prefWidth="200.0">
<children> <children>
<Label contentDisplay="CENTER" prefHeight="25.0" text="执行模式"/> <Label contentDisplay="CENTER" prefHeight="25.0" text="执行模式"/>
<RadioButton mnemonicParsing="false" text="循环" selected="true" userData="loop" focusTraversable="false"> <RadioButton mnemonicParsing="false" text="循环" selected="true" userData="loop">
<HBox.margin> <HBox.margin>
<Insets left="5.0"/> <Insets left="5.0"/>
</HBox.margin> </HBox.margin>
@ -66,7 +49,7 @@
<ToggleGroup fx:id="runMode"/> <ToggleGroup fx:id="runMode"/>
</toggleGroup> </toggleGroup>
</RadioButton> </RadioButton>
<RadioButton mnemonicParsing="false" text="定时" toggleGroup="$runMode" userData="timing" focusTraversable="false"> <RadioButton mnemonicParsing="false" text="定时" toggleGroup="$runMode" userData="timing">
<HBox.margin> <HBox.margin>
<Insets left="5.0"/> <Insets left="5.0"/>
</HBox.margin> </HBox.margin>
@ -81,14 +64,14 @@
<HBox fx:id="modeLoop" alignment="CENTER_LEFT" prefHeight="25.0" prefWidth="200.0"> <HBox fx:id="modeLoop" alignment="CENTER_LEFT" prefHeight="25.0" prefWidth="200.0">
<children> <children>
<Label text="每"/> <Label text="每"/>
<TextField fx:id="interval" alignment="CENTER" prefWidth="35.0" promptText="时间" text="60" focusTraversable="false"> <TextField fx:id="interval" alignment="CENTER" prefWidth="35.0" promptText="时间" text="60">
<HBox.margin> <HBox.margin>
<Insets left="3.0" right="3.0"/> <Insets left="3.0" right="3.0"/>
</HBox.margin> </HBox.margin>
</TextField> </TextField>
<Label text="秒执行1次"/> <Label text="秒执行1次"/>
<Label text="共"/> <Label text="共"/>
<TextField fx:id="times" alignment="CENTER" prefWidth="35.0" promptText="次数" text="1" focusTraversable="false"> <TextField fx:id="times" alignment="CENTER" prefWidth="35.0" promptText="次数" text="1">
<HBox.margin> <HBox.margin>
<Insets left="3.0" right="3.0"/> <Insets left="3.0" right="3.0"/>
</HBox.margin> </HBox.margin>
@ -106,7 +89,7 @@
<children> <children>
<Label text="在"/> <Label text="在"/>
<TextField fx:id="timing" prefWidth="150.0" promptText="如8:30:20,9:00" <TextField fx:id="timing" prefWidth="150.0" promptText="如8:30:20,9:00"
text="8:30:20,9:00" focusTraversable="false"> text="8:30:20,9:00">
<HBox.margin> <HBox.margin>
<Insets left="3.0" right="3.0"/> <Insets left="3.0" right="3.0"/>
</HBox.margin> </HBox.margin>
@ -172,7 +155,7 @@
<AnchorPane layoutX="262.0" layoutY="14.0" prefHeight="250.0" prefWidth="400.0" AnchorPane.bottomAnchor="0.0" <AnchorPane layoutX="262.0" layoutY="14.0" prefHeight="250.0" prefWidth="400.0" AnchorPane.bottomAnchor="0.0"
AnchorPane.leftAnchor="204.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0"> AnchorPane.leftAnchor="204.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
<children> <children>
<Label layoutY="4.0" prefHeight="30.0" prefWidth="60.0" text="运行日志" AnchorPane.leftAnchor="0.0" <Label layoutY="4.0" prefHeight="30.0" prefWidth="60.0" text="控制台" AnchorPane.leftAnchor="0.0"
AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0"> AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
<padding> <padding>
<Insets left="10.0" right="10.0"/> <Insets left="10.0" right="10.0"/>
@ -180,7 +163,7 @@
</Label> </Label>
<Separator layoutX="-3.0" layoutY="39.0" opacity="0.5" prefWidth="200.0" AnchorPane.leftAnchor="1.0" <Separator layoutX="-3.0" layoutY="39.0" opacity="0.5" prefWidth="200.0" AnchorPane.leftAnchor="1.0"
AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="30.0"/> AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="30.0"/>
<TextArea fx:id="console" editable="false" layoutX="1.0" layoutY="41.0" prefHeight="320.0" <TextArea fx:id="console" editable="false" layoutX="1.0" layoutY="41.0" prefHeight="270.0"
style="-fx-background-color: transparent; -fx-focus-color: no; -fx-control-inner-background: transparent;-fx-text-fill: #444444;" style="-fx-background-color: transparent; -fx-focus-color: no; -fx-control-inner-background: transparent;-fx-text-fill: #444444;"
wrapText="true" AnchorPane.leftAnchor="1.0" AnchorPane.rightAnchor="0.0" wrapText="true" AnchorPane.leftAnchor="1.0" AnchorPane.rightAnchor="0.0"
AnchorPane.topAnchor="35.0"> AnchorPane.topAnchor="35.0">

Loading…
Cancel
Save

Powered by TurnKey Linux.