var StartupInfo:TStartupInfo;
ProcessInfo:TProcessInformation;
commandLine: string;
begin
commandLine := 'mode com1 9600,n,8,1';
FillChar(StartupInfo,Sizeof(StartupInfo),#0);
StartupInfo.cb := Sizeof(StartupInfo);
StartupInfo.dwFlags := STARTF_USESHOWWINDOW;
StartupInfo.wShowWindow := 1;
StartupInfo.lpReserved := nil;
StartupInfo.lpReserved2 := nil; CreateProcess(nil,
commandLine,
nil,
nil,
false,
0,
nil,
nil,
StartupInfo,
ProcessInfo);
end;想执行一个DOS程序,但好象没有什么反映呢,连个COPY命令都不好使
不太会用这个函数
ProcessInfo:TProcessInformation;
commandLine: string;
begin
commandLine := 'mode com1 9600,n,8,1';
FillChar(StartupInfo,Sizeof(StartupInfo),#0);
StartupInfo.cb := Sizeof(StartupInfo);
StartupInfo.dwFlags := STARTF_USESHOWWINDOW;
StartupInfo.wShowWindow := 1;
StartupInfo.lpReserved := nil;
StartupInfo.lpReserved2 := nil; CreateProcess(nil,
commandLine,
nil,
nil,
false,
0,
nil,
nil,
StartupInfo,
ProcessInfo);
end;想执行一个DOS程序,但好象没有什么反映呢,连个COPY命令都不好使
不太会用这个函数
解决方案 »
- 如何在Excel中插入一行
- 倾家荡产解决报表显示问题,解决后再散100分.在线急等!!!!!!!!!!!!!!!!!!!!!!!!
- 求救:帮忙想想毕业设计的课题!~~~
- 导出问题
- EMS QuickExport 怎么用?
- com+页中的Call Syncronization 和 Transaction Model是什么区别?
- 在DBGRID中,每类明细下面,生成一条小计,用查询怎么实现?
- ******DSPACK播放远程站点上的视频文件的问题,请高手进来指点!******
- 老鱼,你还在吗?偶不钻牛角尖了,那个存储过程偶先放一放,如果这会你还有时间,讨论一下哪个login窗体的bug吧
- 有谁知道USSD协议?????HELP! 哈欠(halfdream)急需
- 传输接收问题
- 用delphi7自带的install shell打包的时候,出现代号1324的错误。高分相送!
并且commandLine := 'mode com1 9600,n,8,1';改成
commandLine := 'c;\\winnt\\system32\\mode.exe com1 9600,n,8,1';
也不行!!!我算是没折了
见原码得 {$EXTERNALSYM _STARTUPINFOA}
TStartupInfo = _STARTUPINFOA;
STARTUPINFO = _STARTUPINFOA;StartupInfo:TStartupInfo;等同于C中的StartupInfo:STARTUPINFO;
commandline="test.bat";
应该就可以了
var StartupInfo:TStartupInfo;
ProcessInfo:TProcessInformation;
commandLine: string;
begin
commandLine := 'Rundll32.exe Shell32.dll,ShellExec_RunDLL mode com1 9600,n,8,1';
FillChar(StartupInfo,Sizeof(StartupInfo),#0);
StartupInfo.cb := Sizeof(StartupInfo);
StartupInfo.dwFlags := STARTF_USESHOWWINDOW;
StartupInfo.wShowWindow := 1;
StartupInfo.lpReserved := nil;
StartupInfo.lpReserved2 := nil; if CreateProcess(nil,
PChar(commandLine),
nil,
nil,
false,
0,
nil,
nil,
StartupInfo,
ProcessInfo) = true then
showmessage('ok');
end;
以上只能在winnt以上系统下才能使用。:)
WINEXEC就可以了
谢谢了,NT下运行DOS命令是否都要加上Rundll32.exe, shell32.exe, shellexec_rundll呢?
那为什么象COPY那种的命令则可以直接运行呢?而MODE这个也是exe的文件则必须要加上外壳才好使呢
mode com1 9600,n,8,1这些都是参数来的,copy是函数。
拜托也帮我看看这个帖子~~是DEPHI下的浮点如何比较?