S
sy0116
Unregistered / Unconfirmed
GUEST, unregistred user!
我想实现这样一个功能:运行程序后检查看程序是否在C:/windows下,如果不在就将自己复制到C:/windows下再重新运行,可是下面这段代码却有一个奇怪的问题,点击Button1后程序跳出的第一个对话框显示Fail,第二个对话框显示两个不同的路径,可是程序自动重新运行后还是显示Fail,和两个不同的路径,而此时查看C:/windows发现已经有111.exe存在,而且如果手工运行111.exe第一个对话框还是会显示Fail,但第二个对话框却显示的是两个相同的路径。而且对话框会不断地跳出来,除非强制结束进程,请问这是为什么?应该如何解决?<br>procedure TForm1.Button1Click(Sender: TObject);<br>var<br> windirChar;<br>begin<br> GetMem(windir,15);<br> GetWindowsDirectory(windir,15);<br> if PChar(GetCurrentDir)<>windir then<br> begin<br> MessageBox(0,'Fail','111',0);<br> ShowMessage(windir+' '+getcurrentdir);<br> CopyFile(PChar(ParamStr(0)),PChar(windir+'/111.exe'),False);<br> WinExec(PChar(windir+'/111.exe'),SW_NORMAL);<br> Close;<br> end<br> else<br> begin<br> MessageBox(0, 'OK', '111',<br> MB_OK + MB_ICONSTOP + MB_TOPMOST);<br> end;<br>end;