vb net2005的shell问题

来源:百度知道 编辑:UC知道 时间:2024/05/22 16:20:20
els.exe是一个freepascal编译的dos程序,放在C盘根目录下。但我在vb.net2005中使用
Shell( "c:\els.exe",AppWinStyle.NormalFocus,True )
来调用源码为(如果没学过就不用管这些pascal代码了):
var a:integer;
begin
a:=10;
writeln(a);
readln;
readln;
end.
的pascal程序时根本就不出现应有的dos窗口。
请问各位高手怎样才能使pascal程序的窗口显示出来?在此先谢谢了!!!
这个我可以在VB6.0中做到的!但不知vb2005为什么做不到了。

如果vb6能做到,理论上vb8也能做到的.

而且我也不是没用过来调用calc之类简单的程序.可能是DOS程序的缘故.

那么变通一下.让系统去调用.比如 start c:\els.exe 或者 cmd.exe 去运行这个msdos程序. 实在不行在写一个a.bat 主要是分析一下问题出在什么地方

旧的dos程序是在保护模式下运行的.猜想原因可能是在这里.

除了shell之外,还有process.start还是啥的可以启动这些

dim info as new ProcessStartInfo(Command, parameter)
info.WindowStyle = ProcessWindowStyle.normal????
dim proc as Process = Process.Start(info)

'可以直接用kill来over它.

这个要是也不好用,那么my命名空间里找找,看看有没有合适的

总结一下:
1 start 或者 cmd 尝试
2 bat试试
3 process...
4 my
5 再不行的话,就用WIN32API. Declare function shellexecute.....