c语言如何 调用外部程序

c语言如何 调用外部程序,第1张

fe函数名: exec...

功 能: 装入并运行其它程序的函数

用 法: 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=0i<argci++)

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)

}

多看书,多Google,百度,

1. 在调用之前,先声明和定义函数

2. 根据你函数的参数类表来,填入函数调用时所真正用到的参数来进行调用

例如:要在函数 F(){... } 中调用新增的小程序int FA(int a)和 char FC(char c),按照上面讲的:

1.声明和定义

int

FA(int a){ /*函数功能具体的定义*/}

char

FC(char&c){ ... /*函数功能具体的定义*/}

2 根据函数的声明,在F()中加以调用

void

F()

{

... ...

int getA = FA(6)//6为int,如果参数是6.001,则会强制转换成为6

... ...

char getC= FC('a') //a为单个的字符

}

就这样,简单吧,去试试吧 :-)

从你问这个问题来看你是想编写一个一键宏之类的程序吗?看你问这个问题就知道你基础严重缺乏——你需要补充 一些windows编程的基本知识,MFC或者更底层的windows API了解一些这些相关知识之后就不成问题了。

下面具体说一下你问的问题:

首先不同的外部程序接受的键盘信号和鼠标信号是不同的,比如一些游戏,他们的键盘信号底层封装是不易昂的,我接下来讲的方法对这些程序是没用的,更加高级的还有对硬件驱动程序的模拟,这些都是后话 。如果你对程序怎么接受键盘,鼠标信号的机理一点也不了解的话,我把函数告诉你你用着也会头疼的,不过还是说一些,你可以自己去查阅相关的用法,试一试能不能满足你的需求:

VOID keybd_event(BYTE bVk,BYTE bScan,DWORD dwFlags,DWORD dwExtralnfo);

LRESULT SendMessage(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM IParam);

这些是普通层次的键盘模拟的相关函数,你课以查阅一下,但是我相信你会感觉一头雾水的,因为从你问的问题就可以看出你一点相关基础都没有。去补充一下windows编程的基础知识再来做这些程序吧,不要太好高骛远了。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12204181.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存