`
nathan09
  • 浏览: 144810 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

怎样在一个程序中调用另外几个应用程序?

 
阅读更多

摘自:怎样在一个程序中调用另外几个应用程序?


---------------------------------------------------------------

如果你在win32环境下面的话,建议你使用线程函数就可以了。
HANDLE CreateThread(
LPSECURITY_ATTRIBUTES lpThreadAttributes, // SD
DWORD dwStackSize, // initial stack size
LPTHREAD_START_ROUTINE lpStartAddress, // thread function
LPVOID lpParameter, // thread argument
DWORD dwCreationFlags, // creation option
LPDWORD lpThreadId // thread identifier
);
BOOL TerminateThread(
HANDLE hThread, // handle to thread
DWORD dwExitCode // exit code
);

---------------------------------------------------------------

当然你要是使用mfc的话,那就更好办。
CWinThread封装的还不错的,使用就可以了。

---------------------------------------------------------------

还可以使用
UINT WinExec(LPCSTR lpCmdLine, UINT ucmdShow);
---------------------------------------------------------------

ShellExecute(MyWin , "open","C://Program Files//Internet Explorer//iexplore.exe",NULL,NULL,SW_SHOW);
---------------------------------------------------------------

PROCESS_INFORMATION pi;
STARTUPINFO si;
si.cb = sizeof(STARTUPINFO);
si.lpReserved = NULL;
si.lpDesktop = NULL;
si.lpTitle = NULL;
si.dwFlags = 0;
si.cbReserved2 = 0;
si.lpReserved2 = NULL;
BOOL bres = CreateProcess(NULL,"test a.txt b.txt",NULL,NULL,false,
NORMAL_PRIORITY_CLASS,
NULL,NULL,&si,&pi);
if(bres==false)
{
AfxMessageBox("CreateProcess failed");
}
else
{
CloseHandle(pi.hThread);
CloseHandle(pi.hProcess);
}
---------------------------------------------------------------

TerminateProcess
The TerminateProcess function terminates the specified process and all of its threads.

BOOL TerminateProcess(
HANDLE hProcess, // handle to the process
UINT uExitCode // exit code for the process
);
友好的方法是找到那几个程序的main window, send WM_CLOSE message to them.
---------------------------------------------------------------

CreateProcgress 或者windexe函数
---------------------------------------------------------------

强烈建议用exec系函数,windows和linux下源代码兼容。
分享到:
评论

相关推荐

    DELPHI专题文档-程序应用

    在DELPHI应用程序中使用DLL 为DELPHI应用程序制作安装程序 用注册表对Delphi程序进行加密 在Delphi程序中操作注册表 鼠标和键盘控制 如何为Delphi程序添加事件和事件处理器 在Delphi应用程序中拖动控件 用...

    DELPHI专题--程序应用

    在DELPHI应用程序中使用DLL 为DELPHI应用程序制作安装程序 用注册表对Delphi程序进行加密 在Delphi程序中操作注册表 鼠标和键盘控制 如何为Delphi程序添加事件和事件处理器 在Delphi应用程序中拖动控件 用...

    建立一个名为Student的类,该类有以下几个私有成员变量:学生姓名、学号、性别、年龄。还有以下两个成员函数:一个用于初始化学生姓名、学号、性别和年龄的构造函数,一个用于输出学生信息的函数。编写一个主函数。声明一个学学生对象。然后调用成员函数在屏幕输出学生信息。

    题目:建立一个名为Student的类,该类有以下几个私有成员变量:学生姓名、学号、性别、年龄。还有以下两个成员函数:一个用于初始化学生姓名、学号、性别和年龄的构造函数,一个用于输出学生信息的函数。编写一个...

    浅析设备驱动程序通知应用程序的几种方法

    在目前流行的Windows操作...它将应用程序与硬件细节屏蔽开来,使软件不依赖于硬件并且可在多个不同的平台之间移植。本文介绍了5种设备驱动程序通知应用程序的方法,其中前3种方法主要用于VxD中,后2种方法主要用于WDM。

    Windows中DLL文件基本原理及修改方法

    DLL是Dynamic Link Library的缩写,意为动态链接库。在Windows中,许多应用程序并不是一个完整的可执行文件...一个应用程序可有多个DLL文件,一个DLL文件也可能被几个应用程序所共用,这样的DLL文件被称为共享DLL文件。

    在VB中调用CHM 帮助的几种方法

    一个应用程序不论编制得如何完美,在很多情况下用户还是会对如何使用它提出问题。 Visual Basic 提供了对两种不同帮助系统的支持:传统的 Windows 帮助系统 (WinHelp)和新的 HTML 帮助(CHM帮助)。当我们制作好帮助...

    打开、修改、调用和编辑dll文件的方法

    怎么打开和修改dll文件的?如何调用和编辑?...一个应用程序可有多个DLL文件,一个DLL文件也可能被几个应用程序所共用,这样的DLL文件被称为共享DLL文件。DLL文件一般被存放在C:WindowsSystem目录下

    远程过程调用RPC生成工具

    RPC(Remote Procedure Call,远程过程调用)是一种计算机通信协议,它允许一个程序请求另一个地址空间(通常是远程计算机上的程序)执行代码,并等待结果返回。RPC使得程序能够像调用本地函数一样调用位于远程...

    ocx调用Demo

    OCX是一个activex控件。是第3方开发的特有的控件。ocx文件只能通过调用才能使用,不能直接运行。 其他介绍:对象链接和嵌入用户控件(OCX)是一种可以由在微软的Windows系统中运行的应用软件创建使用的特殊用途的...

    C 程序指导书及实践指导

    2、 编写并调试一个求(n为整数)的递归函数,希望能在程序运行过程中动态地显示递归函数被调用的轨迹。 [分析讨论] 1、 针对以上实验内容写出相应的参数传递过程并分析结果。 2、 讨论参数的传递的几种形式。 ...

    教你如何c语言编写程序

    有学生也尝试了不少方法:如把多个需要返回的值作相应的处理后变成一个可以用return语句返回的数据,再在主调函数中拆开返回的数据使之变成几个值;或者把需要返回多个值的一个函数分开几个函数去实现多个值的返回。...

    java程序设计阅读程序写结果题22道

    《java程序设计》课程的题库资料,由贺州学院整理,可供学生期末课程复习使用...该程序首先编写了一个Shape的类,然后又编写一个类Circle去继承Shape类。由于子类拥有父类所有的属性和方法,所以输出的是ShappeCircle。

    C#特性Attribute的实际应用之:为应用程序提供多个版本

    基于如下的几个理由,需要为应用程序提供多个版本: 1:应用程序有体验版和完整功能版; 2:应用程序测试过程中需要完成一些自动化的操作;

    计算机常用数值计算算法与程序 c++版

    <br> 为了方便读者实际应用书中所介绍的算法程序,本光盘专门预创建了VC++6.0的工程,以每一章建立一个工程,一共有16个工程,对应着书中的16章。全部工程包含在一个目录(文件夹)——NumComp下,该目录下一共有...

    语言程序设计课后习题答案

    作用域是一个标识符在程序正文中有效的区域。局部变量,一般来讲就是具有块作用域的变量;全局变量,就是具有文件作用域的变量。 2-16 已知x、y两个变量,写一条简单的if语句,把较小的的值赋给原本值较大的变量。 ...

    MFC的程序框架剖析

    ”因此所有窗口类的窗口过程函数都是DefWindowProc,这一点在后面的跟踪中可以看到,每次生成窗口之后都会调用几次DefWindowProc函数。也就是说MFC都是让我们采用默认的窗口过程函数,这并不是说我们因此就不能使用...

    Windows 程序设计(第5版)(上、下册)--详细书签版

    6.4.4 unicode怎么样? 6.4.5 truetype和大字体 6.5 插入符(不是光标) 6.5.l 插入符函数 6.5.2 typer 程序 第七章 鼠标 7.1 鼠标基础 7.1.1 一些简单的定义 7.2 客户区鼠标消息 7.2.l ...

    《计算机常用数值计算算法与程序 C++版》17章源码

    为了方便读者实际应用书中所介绍的算法程序,本光盘专门预创建了VC++6.0的工程,以每一章建立一个工程,一共有16个工程,对应着书中的16章。全部工程包含在一个目录(文件夹)——NumComp下,该目录下一共有17个子目录...

    VC++常用的共用函数100多页

    ◆在调试中怎么样MESSAGEBOX一个数字◆ 16 ◆如何控制控件的焦点◆ 16 ◆如何对析构函数中对象进行释放◆ 16 ◆如何关闭一个模态窗口◆ 17 ◆如何将一个提示的声音发到声卡上◆ 17 ◆如何得到打开exe的带的参数◆ 17...

    Android程序技术:自动完成文本框.pptx

    在Android中AutoCompleteTextView组件类继承自EditText类,所以EditText组件所支持的属性,AutoCompleteTextView组件类都可以进行直接的调用。 自动完成文本框 AutoCompleteTextView AutoCompleteTextView支持的XML...

Global site tag (gtag.js) - Google Analytics