最近在看代码的过程中,发现了一个让两个应用程序间传值的方法,就是利用ParamStr函数。
用法很简单,就是在源程序使用 ShellExecute函数调用目标程序,并在ShellEcecute函数的Parameters参数写入想传递的的值(这个参数就是命令行参数,如果有多个值的话,每个值之间用空格隔开)然后在目标程序中用ParamStr函数获取命令行参数,比如想获得第一个参数,就用ParamStr(1)这里的参数序号是从1开始的,如果你使用了ParamStr(0)则返回的是当前程序的绝对路径
例子:(假设源程序和目标程序都放在C盘)
1、源程序:ShellEcecute(Application.Handle,"open”,"C:/gao.exe","value","C:/",0)
目标程序:ParamStr(1) //这里会获得"value"这个字符串
2、在源程序中运行:ParamStr(0) //这里会返回"C:/gao.exe"
注意:在使用ShellEcecute方法时,需要引用ShellAPI单元,即:
uses ShellAPI;
用法很简单,就是在源程序使用 ShellExecute函数调用目标程序,并在ShellEcecute函数的Parameters参数写入想传递的的值(这个参数就是命令行参数,如果有多个值的话,每个值之间用空格隔开)然后在目标程序中用ParamStr函数获取命令行参数,比如想获得第一个参数,就用ParamStr(1)这里的参数序号是从1开始的,如果你使用了ParamStr(0)则返回的是当前程序的绝对路径
例子:(假设源程序和目标程序都放在C盘)
1、源程序:ShellEcecute(Application.Handle,"open”,"C:/gao.exe","value","C:/",0)
目标程序:ParamStr(1) //这里会获得"value"这个字符串
2、在源程序中运行:ParamStr(0) //这里会返回"C:/gao.exe"
注意:在使用ShellEcecute方法时,需要引用ShellAPI单元,即:
uses ShellAPI;