焦急等待大侠出手!!!(195分)

  • 主题发起人 主题发起人 wxb761014
  • 开始时间 开始时间
W

wxb761014

Unregistered / Unconfirmed
GUEST, unregistred user!
我遇到一个问题:<br>&nbsp; 我做的一个项目需要定时调用一个程序。但这个程序编的较早,运行于WIN32环境下。<br>这个程序有个两个特点,<br>(1)当我在WIN98环境下进入模拟DOS环境时,运行起来没有问题。<br>(2)但如果在资源管理器中双击执行时,却总是报错。<br>&nbsp; &nbsp; 我在我的程序中使用Winexec调用此程序时报错的症状与(2)相同。<br>这个问题如何解决,请各位大侠指教。<br>谁能解决,我将现有的分全部送上。我等待您的回答!!!
 
什么错误提示?详细点<br>可能因为你那个dos的程序比较早<br>由于在98下进入模拟dos环境时command.com会初始化一些东西<br>而直接执行没有初始化<br>你可以先winexec('command.com',sh_show)<br>再在里面执行你那个程序
 
右击该程序设置一下设置项吧。
 
winexec('command.com /c "你的程序名", SW_SHOW);
 
还是用winexec('command.com /c "你的程序名", SW_HIDE);的好,在Windows中出现个DOS<br>窗口不好看。<br>
 
各位回答的如此迅速,非常感谢,由于现在没有调试环境,我<br>&nbsp; 无法验证各位的方法,我的想法是先集思广义,等到现场环境时在集中调试。<br>欢迎各位继续指教,谁有这方面的经验,请谈谈。<br>另外,各位能否说的详细些。<br>&nbsp; &nbsp;程序报的错误我具体记的不清楚了,好象是说是无效的空指针什么的。
 
来的晚不要紧,说的有理分照给。
 
呵呵,原来你在这里也开了个帖子.<br>他们说得很对啊<br>我那的VB程序也是很容易翻成DELPHI的<br>我主要就建了一个call.bat双重保险罢了<br>
 
各位的意见我都试过了,没有问题。<br>但我在调试过程中发现了一个现象,就是用winexec调用程序每次必然会成功,<br>但如果改用createprocess则有时成功,有时失败,不知是什么原因。<br>下面是cbc的部分源码,大家给找找原因!!!<br>AnsiString CommandLine1,CurrentDirectory1;<br>TStartupInfo *StartupInfo1=new TStartupInfo;<br>TProcessInformation *ProcessInfo1=new TProcessInformation;<br>CommandLine1="command.com /c /"ind2.exe/"";<br>CurrentDirectory1=GetCurrentDir();<br>StartupInfo1-&gt;cb=sizeof(TStartupInfo);<br>StartupInfo1-&gt;dwFlags=STARTF_USESHOWWINDOW;<br>StartupInfo1-&gt;wShowWindow=SW_SHOW;<br>if(ww=CreateProcess(NULL,CommandLine1.c_str(),NULL,NULL,false,<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;CREATE_NEW_CONSOLE|NORMAL_PRIORITY_CLASS,NULL,NULL,StartupInfo1,<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ProcessInfo1)) &nbsp; &nbsp;{<br>&nbsp; &nbsp;WaitForSingleObject(ProcessInfo1-&gt;hProcess,INFINITE);<br>&nbsp; &nbsp;//GetExitCodeProcess(ProcessInfo-&gt;hProcess,NULL);<br>&nbsp; &nbsp;}
 
多人接受答案了。
 
后退
顶部