|
electron用node.js写一段调用EXE的程序,通过命令行调用EXE程序,得到EXE程序的返回值, 这个EXE用DELPHI7写一个示例代码
以下是一个示例代码,演示如何使用Electron中的Node.js调用一个用Delphi 7编写的EXE程序,并获取其返回值:
1. 首先,编写一个用Delphi 7编写的简单的示例EXE程序,该程序将读取命令行参数并返回参数的拼接字符串。保存为 `ExampleApp.exe` 。
- program ExampleApp;
- {$APPTYPE CONSOLE}
- uses
- SysUtils;
- var
- i: Integer;
- ResultStr: string;
- begin
- ResultStr := '';
- for i := 1 to ParamCount do
- begin
- ResultStr := ResultStr + ParamStr(i) + ' ';
- end;
- WriteLn(ResultStr);
- end.
复制代码
2. 然后,编写一个Node.js脚本来调用 `ExampleApp.exe` 并获取其返回值。保存为 `callExe.js` 。
- const { exec } = require('child_process');
- const exePath = 'path_to_ExampleApp.exe'; // 将路径替换为ExampleApp.exe的实际路径
- exec(exePath + ' arg1 arg2', (error, stdout, stderr) => {
- if (error) {
- console.error(`执行错误: ${error.message}`);
- return;
- }
- if (stderr) {
- console.error(`错误信息: ${stderr}`);
- return;
- }
- console.log(`返回值: ${stdout}`);
- });
复制代码
3. 在 `callExe.js` 中,将 `path_to_ExampleApp.exe` 替换为 `ExampleApp.exe` 的实际路径。您可以通过命令行传递参数给 `ExampleApp.exe` ,并获取其返回值。
请确保将 `ExampleApp.exe` 和 `callExe.js` 放在相同的目录下,并在Node.js环境中运行 `callExe.js` 脚本来调用 `ExampleApp.exe` 。
上面的NODE.JS中代码,将返回值赋值给一个变量,并输出变量值
以下是一个示例Node.js代码,调用一个用Delphi 7编写的EXE程序,并将返回值赋值给一个变量,然后输出这个变量的值:
- const { exec } = require('child_process');
- const exePath = 'path_to_ExampleApp.exe'; // 将路径替换为ExampleApp.exe的实际路径
- let resultValue = '';
- exec(exePath + ' arg1 arg2', (error, stdout, stderr) => {
- if (error) {
- console.error(`执行错误: ${error.message}`);
- return;
- }
- if (stderr) {
- console.error(`错误信息: ${stderr}`);
- return;
- }
- resultValue = stdout.trim(); // 将返回值赋给变量并去除首尾空格
- console.log('返回值: ' + resultValue);
- });
复制代码
在这段代码中, `stdout` 保存了从Delphi 7编写的EXE程序返回的值。我们将这个值赋给 `resultValue` 变量,并使用 `console.log` 输出这个变量的值。请确保将 `path_to_ExampleApp.exe` 替换为 `ExampleApp.exe` 的实际路径,并在Node.js环境中运行该代码。
|
|