`
nathan09
  • 浏览: 155599 次
  • 性别: 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下源代码兼容。
分享到:
评论

相关推荐

    java调用Windows应用程序

    通过上述介绍,我们可以看到Java程序调用Windows应用程序是一个非常实用且功能强大的特性。无论是简单的系统应用还是自定义的exe文件,甚至是特定类型的媒体文件,都能轻松实现。然而,在实际应用中还需注意安全性、...

    应用程序的调用实例

    在IT领域,应用程序调用是开发过程中的基本操作,它涉及到如何启动、控制以及交互不同的软件组件。在这个“菜鸟级的应用程序调用联系”主题中,我们将深入探讨这个概念,帮助初学者理解并掌握相关技能。 首先,我们...

    java中两种方式调用其他.exe可执行程序

    在 Java 1.6 及更高版本中,`Desktop` 类提供了一个 `open` 方法,可以用来打开其他.exe 可执行程序。 例如,在上面的代码中,我们可以看到使用 `Desktop` 类来打开注册表编辑器(regedit.exe)的代码: ```java ...

    通过程序调用另外一个带参数的exe文件

    标题 "通过程序调用另外一个带参数的exe文件" 描述了我们要解决的核心问题:如何从一个C#应用程序中启动另一个可执行文件(exe),同时传递参数。这个场景通常出现在以下几种情况:自动化任务、数据处理、系统集成等...

    在程序中调用PowerPoint打开ppt并自动播放的演示程序

    在编程领域,有时候我们需要在应用程序中集成PowerPoint的功能,例如自动播放PPT演示文稿。这个过程涉及到对Microsoft Office Interop库的使用,这是一种允许.NET应用程序与Office应用程序进行交互的技术。下面将...

    使用APIHook钩子截获你的应用程序调用的任何输入函数.zip

    在IT行业中,APIHook是一种强大的技术,用于监控或拦截应用程序对特定系统API的调用。通过设置APIHook,开发者可以捕获系统函数的调用,分析其参数,甚至改变其行为。这种技术常用于调试、安全分析、性能优化以及...

    win32程序调用MFC对话框资源

    Win32 API提供了底层的窗口、消息处理和系统服务,而MFC则是在此基础上构建的一套面向对象的库,它封装了Win32 API,简化了Windows应用程序的开发。本文将深入探讨如何在纯Win32程序中调用MFC对话框资源,以及在调用...

    C++调用Web services的控制台应用程序

    本项目"**C++调用Web services的控制台应用程序**"正是这样一个示例,它展示了如何在C++环境下创建一个能调用Web服务的简单命令行应用。 首先,我们要理解Web服务的本质。Web服务是一种基于HTTP协议,使用XML(可...

    C#中利用process类调用外部程序以及执行dos命令

    在C#代码中,首先需要实例化一个`Process`对象,这表示一个独立的进程。例如: ```csharp Process p = new Process(); ``` 2. **设置ProcessStartInfo属性** `ProcessStartInfo` 是 `Process` 类的一个属性,...

    RFID读卡程序-桌面应用程序-Java-JNI调用Delphi版DLL

    在本项目中,我们关注的是一个基于桌面的应用程序,它利用Java语言来实现RFID读卡功能,并通过JNI(Java Native Interface)调用了Delphi编写的DLL(动态链接库)。 Java JNI是Java平台提供的一种原生接口,允许...

    易语言API动态调用子程序源码

    在易语言中,API动态调用通常涉及以下几个步骤: 1. **定义API函数**:首先,你需要定义要调用的API函数,包括函数名、参数类型和返回值类型。在易语言中,这通常通过`.DLL`声明来完成,如`.DLL 使用 “kernel32....

    linux中添加系统调用

    在Linux 2.6.30版本中添加自定义系统调用,通常包括以下几个步骤: 1. **注册系统调用号**:每个系统调用都有一个唯一的编号,用于在内核中识别。你需要在`include/asm-i386/unistd.h`(对于32位系统)或`include/...

    在BorlandC++Builder6.0中调用可执行程序.pdf

    在软件开发过程中,特别是在基于Windows的应用程序开发中,开发者经常需要让一个程序调用另一个可执行文件(.exe)。这种需求在实现复杂的软件功能或集成外部工具时尤为常见。本文主要探讨在Borland C++ Builder 6.0...

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

    驱动程序在完成I/O操作后,可以调度一个APC,将其插入到应用程序线程的APC队列中。当线程进入空闲状态时,系统会执行APC,传递结果给应用程序。这允许应用程序在不阻塞的情况下处理设备事件。 5. IRP(I/O Request ...

    三菱FX系列PLC 子程序调用 子程序CALL编程运用视频教程.zip

    【标题】:三菱FX系列PLC的子程序调用与CALL指令编程应用 在工业自动化领域,三菱FX系列PLC(可编程逻辑控制器)因其易用性和灵活性而被广泛使用。本教程着重讲解如何在FX系列PLC中利用子程序和CALL指令进行编程,...

    使用JAVA调用应用程序.pdf

    使用 Java 调用应用程序可以实现系统集成,例如,将多个应用程序集成到一个系统中。 使用 Java 调用应用程序的注意事项 使用 Java 调用应用程序时,需要注意以下几点: 1. 安全性 使用 Java 调用应用程序时,...

    MFC程序调用Qt(DLL)界面显示

    MFC是微软提供的一种C++类库,用于构建Windows应用程序,而Qt则是一个跨平台的UI框架,提供了丰富的图形用户界面组件。通过将两者结合,我们可以利用Qt的优秀UI设计能力,同时在MFC的环境中运行。 首先,我们需要...

    程序调用图构造算法和实现原理

    程序调用图是一种用于表示程序中函数或方法之间调用关系的数据结构,在编译器优化、静态分析等领域具有重要意义。 #### 关键概念 - **程序调用图**:一种图形化的数据结构,用于展示程序中的函数或方法之间的调用...

    iOS 调用外部程序

    总的来说,调用外部程序是iOS开发中的一个重要功能,它能增强用户体验,提供丰富的交互方式。掌握好这部分知识,对于开发出更加便捷、易用的应用至关重要。通过实践和研究提供的Demo,开发者可以更深入地理解并掌握...

Global site tag (gtag.js) - Google Analytics