我有一个Windows程序,我们称其为“ MyApp”,它是用Delphi编写的,在某些选项卡上具有嵌入式铬。我使用CEF4Delphi时遇到问题。
当我使用“ MyApp”并且嵌入式浏览器处于活动状态时,我可以激活另一个程序(使用Alt-Tab或单击任务栏中的图标)。那没问题。 但是当我想再次激活“ MyApp”时,它不会显示或显示在最前面。我看不到“ MyApp”。其他程序仍然可见,但是任务栏中的图标突出显示。要使用“ MyApp”,我将必须最小化其他程序,因此我将再次看到它。
仅当激活“ MyApp”中的嵌入式浏览器时,才会出现此问题。
铬以不同的过程运行,并且按照文档https://www.briskbard.com/index.php?lang=en&pageid=cef#usage
中的建议进行创建dpr看起来像这样:
program MyApp;
{$R *.dres}
// uses files
{$SetPEFlags IMAGE_FILE_RELOCS_STRIPPED or IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP or IMAGE_FILE_NET_RUN_FROM_SWAP}
{$SetPEOptFlags IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE}
{$SetPEFlags IMAGE_FILE_LARGE_ADDRESS_AWARE}
begin
NullStrictConvert := System.false;
GlobalCEFApp := TCefApplication.Create;
if GlobalCEFApp.StartMainProcess then
begin
PauseMadExcept;
Application.Initialize;
// ... create forms ...
Application.Run;