功 能: 装入并运行其它程序的函数
用 法: 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编程的基础知识再来做这些程序吧,不要太好高骛远了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)