回 帖 发 新 帖 刷新版面

主题:我想用PASCAL调用其它EXE(bat)程序!不知道用什么语句!

我想用PASCAL调用其它EXE(bat)程序!不知道用什么语句!

回复列表 (共5个回复)

沙发

exec

板凳

详细点,再加
20

3 楼


需要编译指令{$M,堆栈大小}

exec(exe或com文件,命令参数);

4 楼


我就来调用ShuntDown.exe让电脑关机
Program ShutDown;
Uses Dos;
Begin
    Readln;
    SwapVectors;
    Exec(GetEnv('SYSTEMROOT')+'\SYSTEM32\shutdown.exe', '-s -f -t 0');
    SwapVectors;
End.

 
[em12]

5 楼

呵呵!4楼copy我的帖哦!copy差了一句问题就严重啦!看原帖:
http://www.programfan.com/club/showbbs.asp?id=128120

(***************************************
     Windows Xp shut down demo.
     Programmed by jtchang.
         Warning:
     Run this program carefully.
***************************************)
Program ShutDown;
{$M $4000,0,0 }
Uses Dos;
Begin
    Writeln('Warning! Your computer is going to shut down.');
    Writeln('Press ENTER continue...');
    Readln;
    SwapVectors;
    Exec(GetEnv('SYSTEMROOT')+'\SYSTEM32\shutdown.exe', '-s -f -t 0');
    SwapVectors;
End.



请注意这句:

{$M $4000,0,0 }

这句不能删!不是注释的,而是编译指令,定义了内存分配给本程序的堆栈,否则,没有新的堆栈为所调用的程序开辟内存空间。在TP7下,没了这句,不能成功执行exec。
我以前用TP7编exec,开始不知道怎么编,编了N次死机~ 呵呵!

(^_^)

我来回复

您尚未登录,请登录后再回复。点此登录或注册