用CreateProcess打开了一个程序(不是自己写的),想在关闭主程序的时候关闭这个进程,请问如何 *** 作

用CreateProcess打开了一个程序(不是自己写的),想在关闭主程序的时候关闭这个进程,请问如何 *** 作,第1张

声明一个"进程信息"变量,将其地址传给CreateProcess,作为最后一个参数,创建成功后

用pihProcess结束就行

PROCESS_INFORMATION pi;  

 CreateProcess(0,"路径",0,0,FALSE,CREATE_SUSPENDED

  ,0,0,0,&pi);

 TerminateProcess(pihProcess,0);

如果需要教学或交流,请Q:394659281

我们可以利用CreateProcess API函数来创建相应的进程,该函数的原型如下:

CreateProcess(

LPCWSTR lpszImageName, //指向可执行的模块的指针

LPCWSTR lpszCmdLine, //指向可执行命令行字符串的指针

LPSECURITY_ATTRIBUTES lpsaProcess, //CE 不支持

LPSECURITY_ATTRIBUTES lpsaThread, //CE 不支持

BOOL fInheritHandles, //CE 不支持

DWORD fdwCreate, //创建标志

LPVOID lpvEnvironment, //CE 不支持

LPWSTR lpszCurDir, //CE 不支持

LPSTARTUPINFOW lpsiStartInfo, //CE 不支持

LPPROCESS_INFORMATION lppiProcInfo //指向进程信息结构体的指针

);

该函数最重要的两个参数是lpszImageName和lpszCmdLine,下面的几个应用也主要是通过设置这两个参数来达到目的。(以下的程序在Pocket PC 2003 SE上通过测试)

1、打开指定的URL

TCHAR szAppName[_MAX_PATH] = TEXT("iexploreexe");//IE浏览器程序

TCHAR szCmdLine[_MAX_PATH] = TEXT("");

CreateProcess(szAppName,szCmdLine, NULL, NULL,FALSE, 0, NULL, NULL, NULL, NULL);

2、打开指定的文件夹

TCHAR szAppName[_MAX_PATH] = TEXT("fexploreexe");//资源管理器程序

TCHAR szCmdLine[_MAX_PATH] = TEXT(\\Windows\\);

CreateProcess(szAppName,szCmdLine, NULL, NULL,FALSE, 0, NULL, NULL, NULL, NULL);

3、打开帮助文件

PROCESS_INFORMATION pi;

TCHAR szAppName[_MAX_PATH] = TEXT("peghelpexe");//系统帮助程序,PC上是在c:\WINDOWS目下的winhlp32exe

TCHAR szCmdLine[_MAX_PATH] = TEXT("myhelphtml");//自己制作的帮助文档,甚至是系

//统原有的帮助文件,如wincehtm、bluetoothhtm等等。myhelphtml应该放在\Windows目录下

CreateProcess(szAppName,szCmdLine, NULL, NULL,FALSE, 0, NULL, NULL, NULL, &pi);

通过以上的方式,可以在自己的应用程序里打开相应的帮助文件。

从以上的3种应用可以看出,只要知道系统自带的应用程序名,就可以通过设定szAppName和szCmdLine相应的值,来调用相应的程序,来达到自己想要的目的。只要认真挖掘,一定可以发现更多的应用。

1、首先打开processOn应用程序,进入到编辑的页面中,登陆自己的账号,然后点击打开头像中的“下载”选项。

2、然后在出现的界面中,选中想要下载流程图双击进入编辑界面,点击左上角‘文件’,在出现的菜单栏中选择“下载为”选项。

3、然后在出现的下载格式界面中,选择“文件”或者“PDF文件”这两个文件格式,点击确定。

4、然后下载完成,到Word文档中打开就会保持原格式了。

用ShellExecute(NULL,"open","Readmetxt",NULL,NULL,SW_SHOWNORMAL);

头文件为shellapih

BOOL CreateProcess(

LPCTSTR lpApplicationName,//程序名

LPTSTR lpCommandLine, // 参数

LPSECURITY_ATTRIBUTES lpProcessAttributes, // 进程安全属性

LPSECURITY_ATTRIBUTES lpThreadAttributes, // 线程安全属性

BOOL bInheritHandles, // 安全属性能否被继承

DWORD dwCreationFlags, // 多个常数的组合,常用CREATE_SUSPENDED使进程悬挂,设置优先权等级

LPVOID lpEnvironment, // 环境变量,一般继承父进程即可设为NULL

LPCTSTR lpCurrentDirectory, // 子进程的当前工作目录

LPSTARTUPINFO lpStartupInfo, // 很大的结构体,用来设定窗口的标题、位置与大小

LPPROCESS_INFORMATION lpProcessInformation // 该结构体四个成员分别为进程、线程的ID、HANDLE

);

第二个参数 应该就是要打开的文件了,好久没用了

以上就是关于用CreateProcess打开了一个程序(不是自己写的),想在关闭主程序的时候关闭这个进程,请问如何 *** 作全部的内容,包括:用CreateProcess打开了一个程序(不是自己写的),想在关闭主程序的时候关闭这个进程,请问如何 *** 作、怎样用createprocess运行另外一个程序、processOn 如何使用word打开并保持绘图格式等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址:https://54852.com/zz/9809308.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存