读书人

一个简单有关问题却把小弟我搞糊涂了

发布时间: 2012-03-26 15:46:56 作者: rapoo

一个简单问题却把我搞糊涂了,请帮我找出原因!谢谢!
我启动一个程序A 之前需要判断程序B是否运行,如果没有运行,则先运行B,通过B来运行A

A程序的program中是这样写的,
Application.Initialize;
if FindWindow(nil,Pchar( 'Fm_angle '))=0 then
begin
APPlication.Terminate;
winexec(pANsichar(fm_main.pathStr+ 'UpdateRoom.exe '),SW_Show);
end
else begin
Application.CreateForm(Tfm_Main, fm_Main);
Application.CreateForm(TDM, DM);
Application.CreateForm(Tfm_login, fm_login);
Application.CreateForm(Tfm_msg, fm_msg);
Application.CreateForm(Tfm_PKMsg, fm_PKMsg);
fm_login.Showmodal;
end;
Application.Run;
B程序明明没有启动,这里却总是认为找到了不启动! 这是怎么回事?
我确定B程序的主窗口的caption为 'Fm_angle ',name也是 'Fm_angle '
另外绝对没有和这个窗口相同名称的程序或窗口在运行! 求教!

[解决办法]
FindWindow(nil,Pchar( 'Fm_angle ')) <> 0
[解决办法]
是不是在设计期间啊,如果你正在设计你的b程序, 'Fm_angle '也是可以找到的
[解决办法]
Fm_angle应该是标题而不是窗口名.
[解决办法]
反了
APPlication.Terminate;
winexec(pANsichar(fm_main.pathStr+ 'UpdateRoom.exe '),SW_Show);

Terminate后面的代码不会执行
[解决办法]
APPlication.Terminate;
winexec(pANsichar(fm_main.pathStr+ 'UpdateRoom.exe '),SW_Show);

是不是倒了阿

读书人网 >.NET

热点推荐