主题:我想用PASCAL调用其它EXE(bat)程序!不知道用什么语句!
HRQ
[专家分:60] 发布于 2006-02-13 19:20:00
我想用PASCAL调用其它EXE(bat)程序!不知道用什么语句!
回复列表 (共5个回复)
沙发
delphi6 [专家分:3450] 发布于 2006-02-14 17:30:00
exec
板凳
HRQ [专家分:60] 发布于 2006-02-15 12:12:00
详细点,再加
20
3 楼
为啥学编程 [专家分:150] 发布于 2006-02-15 18:29:00
需要编译指令{$M,堆栈大小}
exec(exe或com文件,命令参数);
4 楼
dorremon1992 [专家分:870] 发布于 2006-02-19 12:51:00
我就来调用ShuntDown.exe让电脑关机
Program ShutDown;
Uses Dos;
Begin
Readln;
SwapVectors;
Exec(GetEnv('SYSTEMROOT')+'\SYSTEM32\shutdown.exe', '-s -f -t 0');
SwapVectors;
End.
[em12]
5 楼
jtchang [专家分:5370] 发布于 2006-02-19 17:49:00
呵呵!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次死机~ 呵呵!
(^_^)
我来回复