我有一个delphi应用程序,在启动时检查一个进程是否已在运行,如果它正在运行,我将数据传递到该进程并终止当前进程。问题:在终止当前进程时,应用程序的窗口在终止前瞬间闪烁。所有的代码都在应用程序初始化中,甚至在创建主窗体之前,所以我不明白它如何在瞬间显示窗体。我尝试过无数东西,比如让窗户看不见,似乎什么都不起作用。有什么我做错了吗?终止前的显示窗口
Q
终止前的显示窗口
1
A
回答
2
你显然不会很快终止。我会做这样的事情
program Project1;
uses
Forms,
Windows,
Unit1 in 'Unit1.pas' {Form1};
{$R *.res}
function PrevInstance: boolean;
begin
...
end;
procedure PassData;
begin
...
end;
begin
if PrevInstance then
begin
PassData;
Exit;
end;
Application.Initialize;
Application.MainFormOnTaskbar := True;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
更新:我相信你做这样的事情
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;
type
TForm1 = class(TForm)
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure MyInitProc;
begin
if true then Application.Terminate;
end;
initialization
InitProc := @MyInitProc;
end.
这将不的工作,因为Application.Terminate
不会立即终止应用程序。相反,它只是posts a WM_QUIT
message。此消息将在所有初始化完成后收到并执行。
+0
我想你也可以用'Halt'来代替'Application.Terminate',但我认为这很糟糕(过于激进)。 – 2013-02-28 13:54:37
相关问题
- 1. 终止ShellExecuteEx终止“错误的”窗口
- 2. 如何防止显示“程序意外终止”窗口?
- 3. NSWindow - 显示将始终位于当前窗口顶部的新窗口
- 4. 如何在显示主窗口之前显示登录窗口
- 5. 关闭窗口之前显示提示
- 6. 显示主窗口前的登录窗口
- 7. 显示绘图窗口不止一次
- 8. 防止显示Windows安全窗口
- 9. Android:停止显示LogCat窗口
- 10. 显示窗口
- 11. 高亮显示当前活动窗口
- 12. 在当前/新窗口中显示xml
- 13. 在InitializeComponent之前显示子窗口
- 14. 如何阻止窗口,就好像显示对话框窗口
- 15. 终止在Javascript中的确认窗口
- 16. 在主窗口运行之前显示一个弹出窗口
- 17. 在浏览器窗口关闭前显示jQuery弹出窗口
- 18. 如何在新窗口显示后关闭当前窗口
- 19. 在C/C++窗口终止进程
- 20. C++终止窗口过程形成
- 21. kivy - 无法获得窗口,终止
- 22. WPF显示窗口
- 23. 更改代码并保存后,调试器显示终止窗口
- 24. 防止命令窗口显示何时编译窗口窗体应用程序
- 25. 窗口不显示在窗口菜单
- 26. Telerik的窗口不显示
- 27. opencv的highgui显示窗口
- 28. 我可以在MAC登录窗口之前显示我的登录窗口
- 29. FireFox不会显示窗口前的任何警告对话窗口事件
- 30. 如何显示隐藏前一个窗口的新模态窗口?
由于您的问题依赖于此,请向我们展示代码。 – jachguate 2013-02-28 16:13:43
> *“有什么我做错了吗?”*>很可能。 – 2013-02-28 18:23:20