微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何从Delphi XE编写的EXE文件中启动Delphi 7?

我正在做一些构建自动化,并希望从我正在使用Delphi XE编写的应用程序中运行Delphi 7 IDE.

我的Delphi 7 IDE位于:

'C:\Program Files\Borland\Delphi7\Bin\delphi32.exe'

还在做:

ShellExecute( Handle,'Open','C:\Program Files\Borland\Delphi7\Bin\delphi32.exe','',sw_Shownormal );

最终进入Delphi 7 IDE,但只有在很多丢失的包错误之后.

这样做:

ShellExecute( Handle,'C:\windows\notepad.exe',sw_Shownormal );

工程文件打开记事本.

我还有一个名为’Delphi7IDE.bat’的批处理文件,当我点击批处理文件时打开Delphi 7,但是:

ShellExecute( Handle,'C:\sys\batch\Delphi7IDE.bat',sw_Shownormal );

产生与上述相同的错误.

我已经尝试使用我的Delphi 7菜单快捷方式中指定的directoy(即调用

ShellExecute( Handle,'C:\Program Files\Borland\Delphi7\Projects\',sw_Shownormal );"

但这会产生相同的错误(这是可以预料到的,因为上面的批处理文件示例没有固定的目录,单击时运行正常).

有多个错误,但一个示例是

我做错了什么?

解决方法

现在我想我明白了.德尔福7很老了. Windows Vista(或7)是新的.您是以管理员身份运行delphi32.exe,为了兼容性,不是吗?也就是说,如果右键单击delphi32.exe(或快捷方式),则在“兼容性”选项卡中选择“以管理员身份运行此程序”.如果您以管理员身份运行delphi32.exe,一切都很好,但如果不这样做,则在启动期间会出现所有这些错误.

现在,当你从Delphi应用程序中运行ShellExecute delphi32.exe时,delphi32.exe继承了你的Delphi应用程序的权限.这很可能在没有任何提升权限的情况下运行,delphi32.exe也是如此.

解决方案:右键单击Delphi应用程序(例如Project1.exe),选择“兼容性”选项卡,然后单击“以管理员身份运行此程序”复选框.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐