如何连接外部程序

Posted

技术标签:

【中文标题】如何连接外部程序【英文标题】:How to connect to external program 【发布时间】:2016-07-09 10:51:07 【问题描述】:

我想使用我的“迷你”项目连接到外部程序,因为我是 Java 新手,所以我想问你最好的方法是什么。 运行我的项目,用户看到必须插入登录名和密码的窗口 - 在这里我想使用与从 .exe 文件运行的外部程序相同的登录名和密码:

我的程序的目的是发送具有不同内容/信息/数据的电子邮件。到目前为止,我已经创建了一个界面,例如,它可以在 Outlook 中生成包含相关信息的电子邮件。但此外,我想在这个外部程序的电子邮件信息中添加(例如在附件中) - 比如说分配给问题的某种指令(例如)。我想做这样的事情,以避免不得不运行两个甚至三个单独的程序。

【问题讨论】:

那是哪个外部程序?您可能需要参考程序/可执行文件的 API 来获取凭据! 这是我工作中使用的某种程序...好的,那怎么做呢? 如何做到这一点?目前很难说。你能否提供更多关于你正在尝试做什么的细节,更多关于你似乎试图驱动的程序,更多关于你试图让自己的代码做什么。细节很重要。 所以我的程序的目的是发送具有不同内容/信息/数据的电子邮件。到目前为止,我已经创建了一个界面,例如,它可以在 Outlook 中生成包含相关信息的电子邮件。但此外,我想在这个外部程序的电子邮件信息中添加(例如在附件中) - 比如说分配给问题的某种指令(例如)。我想做这样的事情,以避免不得不运行两个甚至三个单独的程序。 据我了解,您正试图从外部程序中捕获已保存的凭据。这样您就无需在帮助程序中再次重新输入它。那么,首先,您是否可以访问外部程序的源代码并且能够更改它?我假设没有,那么它在很大程度上取决于外部程序是什么,它如何保存数据(例如在驱动器上的配置文件中),它如何通信等。尝试获取任意数据对于初学者来说绝对不是什么,在这里,我们处于逆向工程、内存操作、注入等领域...... 【参考方案1】:

对于您的邮寄需求,如果是单封邮件发送并且您想要一个简单快速的解决方案,您可以尝试使用一个 java 机器人来打开您的 Outlook 并填充数据。如果你在 Outlook 中有很好的快捷方式,那很容易做到。 然而,由于机器人处理期间与其他窗口事件的潜在交互,该解决方案并不可靠。因此,您应该检查邮件是否正确填写。 如果您想要一个更可靠但更难实现的解决方案,或者您想要发送多个邮件,您可以使用 JavaMail api 发送邮件。

一般而言,在 Java 中,您可以通过多种方式与外部程序进行数据通信,具体取决于您的外部程序可能性:

启动时的程序参数 程序 api(java 与否) 机器人api java

【讨论】:

以上是关于如何连接外部程序的主要内容,如果未能解决你的问题,请参考以下文章

当外部配件通过 BT 配对或插入底座连接器时如何启动 iphone 应用程序

如何让 netcat 接受来自 LAN 外部的连接?

如何在docker容器中连接外部mysql服务器

如何使用 Spring Boot 连接外部/在线 LDAP 服务器?

Android:如何将通过USB连接的外部条形码扫描仪设备集成到Android应用程序[关闭]

将数据从 iOS 应用程序发送到外部连接的非 iOS 设备