pascal的EXEC调用dos程序,要等那个程序完成,才能回到你的语句,要怎么让那个程序没有完成,就回到自己的语句?
比如把windows的“计算器”调出来:
{$M $4000,0,0 }
Uses Dos;
Begin
SwapVectors;
Exec(GetEnv('SYSTEMROOT')+'\SYSTEM32\calc.exe', '');
SwapVectors;
End.
只要计算器是不关掉,程序就不得到下一语句,也不会结束``````
pascal的EXEC调用dos程序,要等那个程序完成,才能回到你的语句,要怎么让那个程序没有完成,就回到自己的语句?
比如把windows的“计算器”调出来:
{$M $4000,0,0 }
Uses Dos;
Begin
SwapVectors;
Exec(GetEnv('SYSTEMROOT')+'\SYSTEM32\calc.exe', '');
SwapVectors;
End.
只要计算器是不关掉,程序就不得到下一语句,也不会结束``````
这个不行的,除非你写汇编
因为PASCAL在DOS下是单一进程的。所以在一条指令结束之前无法进入下一条指令。除非你改用汇编写~