

delphi7执行windows程序的一些方法
1. 直接执行带参加的命令
WinExec('shutdown -a', SW_SHOW);
2. 调用cmd来执行
WinExec('cmd /k ipconfig/all' ,SW_SHOW); // /k表支持不关闭cmd,/c表运行后关闭
WinExec('cmd /c %systemroot%\system32\scrnsave.scr /s' ,SW_SHOW); // /k表支持不关闭,/c表运行后关闭
3. 使用API的执行
ShellExecute(handle, 'open', 'eventvwr.msc', '/c:System /f:*[System[(EventID=6005)]]', '', SW_SHOWNORMAL);
ShellExecute(self.Handle, 'open', 'C:\T6SOFT\Desktop\Portal.exe', nil, nil, SW_NORMAL)
4. 使用系统默认软件打开edit3中指定的任意类型的文件
ShellExecute(0, 'open', PChar(Edit3.Text), nil, nil, SW_SHOWNORMAL); //注:这里的PChar(Edit3.Text)外不能有单引号,开始出错在这时
问题1:系统的osk.exe无论用那种方法也运行不起来,只能手动在开启运行里执行
C:\Windows\System32\osk.exe