您好,欢迎来到[编程问答]网站首页   源码下载   电子书籍   软件下载   专题
当前位置:首页 >> 编程问答 >> Delphi >> 在WINDOWS中程序需要被另外的一个EXE调用,请问程序启动时怎样知道是另一个EXE调用的?

在WINDOWS中程序需要被另外的一个EXE调用,请问程序启动时怎样知道是另一个EXE调用的?

来源:网络整理     时间:2016/8/25 23:19:59     关键词:

关于网友提出的“ 在WINDOWS中程序需要被另外的一个EXE调用,请问程序启动时怎样知道是另一个EXE调用的?”问题疑问,本网通过在网上对“ 在WINDOWS中程序需要被另外的一个EXE调用,请问程序启动时怎样知道是另一个EXE调用的?”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题: 在WINDOWS中程序需要被另外的一个EXE调用,请问程序启动时怎样知道是另一个EXE调用的?
描述:

在WIN系统中程序被另外的EXE调用,调用方式是用另外一个EXE文件中的菜单项调用,这个外部EXE有两个菜单来调用本程序,要求程序启动时对每个菜单的调用分别进相应的动作,请问程序启动时怎样知道是外部EXE调用的,怎样知道是哪个菜单选项调用的?能有相应的例子更好,谢谢.


解决方案1:

让他们传个参数,总是可以的吧,他们不会这么不合作吧。
(要让咱干活总得给个消息吧,不然怎么干???)

解决方案2:

学习中.............

解决方案3:

你用ParamStr和ParamCount先各截一遍看看。如果截到的参数一样的话,那就木有办法了。

解决方案4:


 GetCommandLine(),让那个程序调的时候传参数,如果他们不配合的话就骂他们。

解决方案5:

如果2个菜单是以不同的参数来调用你的程序,那可以通过使用ParamStr和ParamCount函数接收参数来判断是通过哪个菜单调用了你的程序。但如果都是不带参数的调用,那就没办法了。

解决方案6:

你可以给你的程序加上参数处理,在程序启动时判断
if ParamCount>1 then
begin
 if ParamStr(1)='menu1' then
    ShowMessage('菜单1')
 esle if ParamStr(1)='menu2' then
    ShowMessage('菜单2')
 else
   ShowMessage('直接运行的');
end;
/////////////////////////////////////////////////////////////////////////////
Delphi调用该程序:
ShellExcute(handle, "open", "程序名","menu1",nil,SW_NORMAL)
VB调用:
ShellExecute Me.hwnd, "open", 程序名,"menu1", vbNullString, 1

解决方案7:

首先要看你的被调用程序的来源了,是自己写的,还是别人写的!

解决方案8:

用一个自定义消息吧

解决方案9:

用你的程序打开外部的EXE,并发送一个自定义的消息过去,然后在该EXE中重载WndProc,判断消息的来源,应该是可以的


以上介绍了“ 在WINDOWS中程序需要被另外的一个EXE调用,请问程序启动时怎样知道是另一个EXE调用的?”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/3593156.html

相关图片

相关文章