调用可执行文件?????????????

xitsing 2003-01-15 01:05:59
如何在程序中直接调用一个可执行文件?调用时需要加入哪些库文件吗?
打印报表时,若列宽小于所有的字符长度如何处理可以让它自动跳行?
(希望举例说明)
...全文
65 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
痞子酷 2003-01-21
  • 打赏
  • 举报
回复
system
winexec
ShellExecute
ShellExecuteEx
CreateProcess
oak72 2003-01-21
  • 打赏
  • 举报
回复
问个问题?
如果调用的外部程序是个带参数的控制台程序,那么参数对应关系如何?
如:用的函数是execv("CHILD.EXE", argv);
那么被调控制台程序中的argv[1]对应哪个参数?
在命令行下为argv[0],agrv[1],...那么agrv[1]就是第二个。
而在erecv中的第二个参数是"CHILD.EXE"+arg[1]+...
在execl中的第二个参数仍然为argv[0]。
不知我有没有说清这个问题。

zywx 2003-01-20
  • 打赏
  • 举报
回复
ShellExecute(Handle,0,"calc.exe",0,0,0);

WinExec("calc.exe",SW_SHOW);
两个都能启动计算器
oak72 2003-01-20
  • 打赏
  • 举报
回复
用system(char *command)好象也行啊
halibut 2003-01-20
  • 打赏
  • 举报
回复
UP!
xt_nibin 2003-01-20
  • 打赏
  • 举报
回复
最好用CreateProcess();这是微软的建议,另用这函数还可以实现一些特殊的目的,如主程序可以控制被调程序等!
oak72 2003-01-20
  • 打赏
  • 举报
回复
请问Winprocs的类(或结构)是在哪个库中定义的,谢了!
cscer 2003-01-20
  • 打赏
  • 举报
回复
查找窗口名称为“窗体名”的窗口,

获取它的句柄,

向该窗口发送关闭消息
oak72 2003-01-20
  • 打赏
  • 举报
回复
请问如何再把此外部程序关闭?
下面的api函数有谁知道含义,帮帮忙了。

HWnd HWndCalculator;
HWndCalculator = Winprocs->FindWindow(nil, "窗体名");
// close the exist procdure
if (HWndCalculator)
SendMessage(HWndCalculator, WM_CLOSE, 0, 0);
lifehxh 2003-01-15
  • 打赏
  • 举报
回复
当然还有如:WinExec(charname ,SW_RESTORE);CreateProcess();等等你去查一查还会有其它的
lifehxh 2003-01-15
  • 打赏
  • 举报
回复
函数名: execl
功 能: 装入并运行其它程序的函数
用 法: int execl(char *pathname, char *arg0, arg1, ..., argn, NULL);
int execle(char *pathname, char *arg0, arg1, ..., argn, NULL,
char *envp[]);
int execlp(char *pathname, char *arg0, arg1, .., NULL);
int execple(char *pathname, char *arg0, arg1, ..., NULL,
char *envp[]);
int execv(char *pathname, char *argv[]);
int execve(char *pathname, char *argv[], char *envp[]);
int execvp(char *pathname, char *argv[]);
int execvpe(char *pathname, char *argv[], char *envp[]);
程序例:

/* execv example */
#include <process.h>
#include <stdio.h>
#include <errno.h>

void main(int argc, char *argv[])
{
int i;

printf("Command line arguments:\n");
for (i=0; i<argc; i++)
printf("[%2d] : %s\n", i, argv[i]);

printf("About to exec child with arg1 arg2 ...\n");
execv("CHILD.EXE", argv);

perror("exec error");

exit(1);
}


l_clove 2003-01-15
  • 打赏
  • 举报
回复
用这个函数可以调用可执行文件
HINSTANCE ShellExecute(

HWND hwnd, // handle to parent window
LPCTSTR lpOperation, // pointer to string that specifies operation to perform
LPCTSTR lpFile, // pointer to filename or folder name string
LPCTSTR lpParameters, // pointer to string that specifies executable-file parameters
LPCTSTR lpDirectory, // pointer to string that specifies default directory
INT nShowCmd // whether file is shown when opened
);

1,221

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧