关于进程问题

liuharris 2009-04-01 09:59:14
1.我用CreateProcess创建一个进程,比如
CreateProcess(Aplicationpath,szCmdLine,&ProcAttr,NULL,FALSE,NORMAL_PRIORITY_CLASS,NULL,NULL,&si,&pi);
Aplicationpath存放的是应用程序ASUM.EXE的路径,szCmdLine存放的是输入的命令行,ASUM.EXE是自己编的一个统计软件,我想在我的程序中使用这个软件的功能
现在我的ASUM.EXE是放在D盘的,而我这个源程序代码是放在F盘,我应该如何去搜索ASUM.EXE的路径,才能让打包完程序后在别的电脑安装时(别的电脑没有ASUM.EXE程序)
也能调用ASUM.EXE.(30分)


2.如果我把ASUM.EXE拷贝到源程序所在的目录,请问应该怎样设定其搜索的路径?请举例!(20分)



3.怎样去终止该进程,若用TerminateProcess终止进程应如何获取该进程的句柄,进程退出代码是什么?(30)
我是新手,刚接触进程这块,概念很模糊。希望高手们指点指点
...全文
89 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
kaer_zhong 2009-04-02
  • 打赏
  • 举报
回复
up
oyljerry 2009-04-02
  • 打赏
  • 举报
回复
1,既然ASUM.EXE是你自己的程序,你可以安装的时候自己控制它的位置,比如放在同你的程序同一个目录,这样就可以方便的找到文件了,
2.GetModuleFileName()获得你程序当前路径,然后截取文件名就是当前目录,然后加上ASUM.exe就是它的路径了
3.OpenProcess()等查找对应程序的handle,就可以TerminateProcess了
dch4890164 2009-04-02
  • 打赏
  • 举报
回复
1.通过配置环境变量,添加path路径到你所要调用的程序即可,总之这个方法很多。
2.通过GetEnvironmentVariable函数获得你所使用程序的路径,之后CopyFile即可
==============================================================================
其实1,2无非就是路径问题,这个能做的方法非常多吧,注册表什么的都可以
==============================================================================

3.MSDN上就有关于Creating Processes之后怎么结束进程的例子,这个应当你自己做功课
unknown712000 2009-04-02
  • 打赏
  • 举报
回复
up
fox000002 2009-04-01
  • 打赏
  • 举报
回复
1 要么给定一个配置选项,设定路径后再读取到 Aplicationpath,可以用注册表或配置文件

要么不给路径,在系统的 PATH 里添加 ASUM.EXE 的路径

2 如果与调用它的程序所在的路径相同,可以不设定路径

3 进程句柄是 CreateProcess 时保存 PROCESS_INFORMATION pi 这个结构体参数中的

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧