Prog1在得到UserName和Password之后
ShellExec('Prog2 '+UserName+' '+Password);
Prog2通过命令行参数来获得UserName 和 Password.
ShellExec('Prog2 '+UserName+' '+Password);
Prog2通过命令行参数来获得UserName 和 Password.
解决方案 »
- 请问xor byte数组后如何获取?
- 中英文互换
- ★送分帖,请 dabaicai、xianggang101、xiaokexinger三位朋友进入★
- 有关(sender as TStringGrid)提示Invalid class typecast的问题。
- 查询问题 急 在线等待
- 大家给推荐教材吧
- 关于excel的问题
- 关于数据指针的问题
- 哪里有《离散数学》图论中关于四色填充的源代码(C/C++、Delphi实现)?提供源代码者加高分!!!
- 如何将query的结果输出到新表?
- 程序员们需要什么样的项目管理人,所有程序员都来看!
- 听说好像用ADO编出来的程序,只能在本机上运行,不能到别的机器上运行!这是什么回事,含ADO的程序的移植应注意些什么?
SendData程序向GetData程序发送消息,并传递edit1中的字符串;GetData在收到消息后,把SendData发送的字符串接受下来,并显示在相应的edit1中。
SendData程序:
……varForm1: TForm1;implementation{$R *.DFM}procedure TForm1.Button1Click(Sender: TObject);vards: TCopyDataStruct;hd: THandle;beginds.cbData := Length (Edit1.Text) + 1;GetMem (ds.lpData, ds.cbData ); //为传递的数据区分配内存StrCopy (ds.lpData, PChar (Edit1.Text));Hd := FindWindow (nil, 'Form2'); // 获得接受窗口的句柄if Hd <> 0 thenSendMessage (Hd, WM_COPYDATA, Handle,Cardinal(@ds)) // 发送WM_COPYDATA消息elseShowMessage ('目标窗口没找到!');FreeMem (ds.lpData); //释放资源end;GetData程序:
TForm2 = class(TForm)Edit1: TEdit;private{ Private declarations }publicprocedure Mymessage(var t:TWmCopyData);message WM_COPYDATA;{ Public declarations }end;varForm2: TForm2;implementationprocedure TForm2.Mymessage(var t:TWmCopyData);beginEdit1.text:=StrPas(t.CopyDataStruct^.lpData);//接受数据并显示。end;
TForm2 = class(Tform)Edit1: Tedit;private{ Private declarations }publicprocedure Mymessage(var t:TWmCopyData);message WM_COPYDATA;{ Public declarations }end;varForm2: TForm2;implementationprocedure TForm2.Mymessage(var t:TWmCopyData);beginEdit1.text:=StrPas(t.CopyDataStruct^.lpData);//接受数据并显示。end;
怎么使用命令行参数?能不能再详细一点。to njbudong(午夜游民) & ehom(?!)
不是在两个Form间传递参数,而是两个程序。传递参数的时候,第二个程序根本没有开始运行。如果按照两位的方法,只会出现“目标窗口没有找到”的提示。
你可以单独做两个程序啊,AppTitle='Form1,2'
程序2根本没有开始运行,Hd := FindWindow (nil, 'Form2'); 的返回值只可能是nil。程序2是否运行取决于接受到的参数。
temp.exe a b c
然后在启动后的程序后用
ParamStr(1)取得a
ParamStr(2)取得b
……
程序1:
tempStr='123.exe '+edit1.text;
winexec(pchar(tempStr),SW_SHOWNORMAL);
程序2:
.....FromCreate(....)
begin
if paramstr(1)<>password then Application.terminate;
.....
end.