执行cmd指令 - ExecuteCmd
函数简介
执行指定的CMD指令,并返回CMD的输出结果。
接口名称
ExecuteCmd
DLL调用
long ExecuteCmd(long ola, string cmd, string current_dir, int time_out);
参数说明
| 参数名 | 类型 | 说明 |
|---|---|---|
| ola | 长整数型 | OLAPlug对象的指针,由 CreateCOLAPlugInterFace 接口生成。 |
| cmd | 字符串 | 要执行的CMD命令。 |
| current_dir | 字符串 | 执行此CMD命令时所在目录。为空表示使用当前目录,如 "" 或 "c:"。 |
| time_out | 整数型 | 超时设置,单位毫秒。0 表示一直等待,大于 0 表示等待指定时间后强制结束,防止卡死。 |
示例
long instance = CreateCOLAPlugInterFace();
long resultPtr = ExecuteCmd(instance, "dir", "c:", 5000);
if (resultPtr != 0) {
// 读取字符串内容
int size = GetStringSize(resultPtr) + 1;
char buffer[1024] = {0};
GetStringFromPtr(resultPtr, buffer, size);
printf("CMD输出: %s\n", buffer);
FreeStringPtr(resultPtr);
}
DestroyCOLAPlugInterFace(instance);
返回值
字符串指针地址:CMD指令的执行结果。返回空表示执行失败。
注意事项
- DLL调用返回字符串指针地址,需要调用 FreeStringPtr 接口释放内存。
