一个简单问题却把我搞糊涂了,请帮我找出原因!谢谢!
我启动一个程序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);
是不是倒了阿