Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Delphi 从Windows任务栏删除firemonkey_Delphi_Delphi Xe2_Firemonkey - Fatal编程技术网

Delphi 从Windows任务栏删除firemonkey

Delphi 从Windows任务栏删除firemonkey,delphi,delphi-xe2,firemonkey,Delphi,Delphi Xe2,Firemonkey,有没有办法从Windows XP/vista/7任务栏中删除firemonkey应用程序?当我在谷歌上搜索时,没有任何信息 问题: 如何从Windows任务栏中隐藏dll中的表单。NB:在问题中回答了他自己的问题,为了清楚起见,我将其移到了这里 您需要获取主窗体句柄(Form1.handle),因为firemonkey中没有Application.handle,然后使用FmxHandleToHWND(FMX.Platform.Win)将其转换为普通窗口句柄。从主机应用程序中,需要检索该句柄(可以

有没有办法从Windows XP/vista/7任务栏中删除firemonkey应用程序?当我在谷歌上搜索时,没有任何信息

问题:

如何从Windows任务栏中隐藏dll中的表单。

NB:在问题中回答了他自己的问题,为了清楚起见,我将其移到了这里

您需要获取主窗体句柄(
Form1.handle
),因为firemonkey中没有Application.handle,然后使用
FmxHandleToHWND
FMX.Platform.Win
)将其转换为普通窗口句柄。从主机应用程序中,需要检索该句柄(可以使用它导出函数),并执行以下操作:

  h := GetHandle();

  ShowWindow(h, SW_HIDE);
  SetWindowLong(h, GWL_EXSTYLE, GetWindowLong(h, GWL_EXSTYLE) or 
      WS_EX_TOOLWINDOW);
  ShowWindow(h, SW_SHOW);
正在检索句柄:

class function TForm1.returnHandle(): integer;
begin
  result := FmxHandleToHWND(Form1.Handle);
end;

当然,
Application.MainFormOnTaskBar
属性需要设置为
true
,以便表单可以处理应用程序


希望它能帮助一些人。

您可以将
Application.MainFormOnTaskBar
设置为
False
。但它对结果应用程序没有影响!你是在写一个真正的FMX应用程序,还是只是在一个更大的VCL应用程序中显示一个FMX表单?@DavidHeffernan:这是一个dll表单,答案在第一篇文章中。无论如何,感谢您的尝试:)请将解决方案部分移动到一个答案,并将其标记为正确。@Talibek避免使用FMX肯定会更容易。您使用的是FMX的什么功能?
Application.MainFormOnTaskBar
似乎被声明为公共字段,然后从不引用,至少在我可以看到的FMX源代码中是这样。