iCAx开思工具箱

标题: 【求助】菜鸟求助: [打印本页]

作者: mrliuli    时间: 2004-8-6 10:09
标题: 【求助】菜鸟求助:

在C语言中用什么函数调用现有的.exe文件,或.dll文件
请大家不吝赐教不要笑话啊
作者: mrliuli    时间: 2004-8-6 12:34
靠!!
连这个都没人回复!
是都太强了???!!!
作者: huashanyjj    时间: 2004-8-6 13:25
_spawnl, _wspawnl
Create and execute a new process.
  
int _spawnl( int mode, const char *cmdname, const char *arg0, const char *arg1, ... const char *argn, NULL );
  
int _wspawnl( int mode, const wchar_t *cmdname, const wchar_t *arg0, const wchar_t *arg1, ... const wchar_t *argn, NULL );
作者: tari    时间: 2004-8-6 13:31
哦,楼上可是C语言高手,我两个函数一个都没见过,呵呵
作者: huashanyjj    时间: 2004-8-6 13:51
见笑了,只是偶然碰到。
  
下面也可以
_execl, _wexecl
Load and execute new child processes.
  
int _execl( const char *cmdname, const char *arg0, ... const char *argn, NULL );
  
int _wexecl( const wchar_t *cmdname, const wchar_t *arg0, ... const wchar_t *argn, NULL );
作者: mrliuli    时间: 2004-8-6 14:45
多谢huashanyjj了!!
但我还是不太会用,实在是基础太差了,能粗略讲一下几个参数的用法吗?
另外,调用前需要包含哪一个头文件呢? process.h吗?
在用C编程时,通常就用这种方法调用已有可执行文件的吗?
  先谢过了!!!
作者: huashanyjj    时间: 2004-8-6 16:02
包含process.h
执行记事本
_execl("C:\\WINDOWS\\NOTEPAD.EXE",  
"C:\\WINDOWS\\NOTEPAD.EXE", NULL);
  
执行记事本打开已有文件
_execl("C:\\WINDOWS\\NOTEPAD.EXE",  
"C:\\WINDOWS\\NOTEPAD.EXE", "c:\\response.txt", NULL, NULL);
作者: mrliuli    时间: 2004-8-6 17:41
谢了!大虾!哈哈
不过,还有一点问题没有解决,好象这一类调用进程函数,包括C++中的
System(),LoadLibrary(),都只能调用默认的三种路径下(工程所在目录,winnet,及dos的path路径下)的可执行文件,
而用户输入路径不能起效。
这是怎么会事呢??





欢迎光临 iCAx开思工具箱 (https://t.icax.org/) Powered by Discuz! X3.3