我有个程序,每天开机都会自动运行,但只是指定某些天才需要执行它,其他时间不执行此程序。
现在这些都实现了,但是每天自动运行时都会闪一下才不见,领导希望连闪都不要闪,大家有什么好的解决办法没?我先说说我的代码;
g_NowDate := DateToStr(Date());
s_Day := StrToInt(Copy(g_NowDate, 9, 2));
if s_Day in [10..15] then
Button1Click(nil)
else
FrmMain.Close;试过将这段代码放在show或create事件里都一样会闪一下才关掉。
现在这些都实现了,但是每天自动运行时都会闪一下才不见,领导希望连闪都不要闪,大家有什么好的解决办法没?我先说说我的代码;
g_NowDate := DateToStr(Date());
s_Day := StrToInt(Copy(g_NowDate, 9, 2));
if s_Day in [10..15] then
Button1Click(nil)
else
FrmMain.Close;试过将这段代码放在show或create事件里都一样会闪一下才关掉。
在工程文件中,对里面创建和显示窗体的代码进行修改。一般是
application.create(tform1,form1);
form1.show;
将form1.show;去掉即可。这样窗体只会创建不显示。代码也执行了。
begin
Self.WindowState := wsMinimized;
Self.Visible := False;
end;
Application.ShowMainForm:= False;
Forms,
Main in 'Main.pas' {Form1};{$R *.res}begin
Application.Initialize;
Application.ShowMainForm:=false;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
MutexText = '{4E8CD702-0430-4335-B0DC-2E6AB8C37C50}';var
hMutex: HWND;begin
hMutex := OpenMutex(MUTEX_ALL_ACCESS, false, MutexText);
if hMutex =0 then
begin
hMutex := CreateMutex(nil, false, MutexText);
Application.Initialize;
Application.Title := '标题栏';
Application.CreateForm(TfrmMain, frmMain);
Application.Run;
ReleaseMutex(hMutex);
end;
end.就是说,在创建窗体前进行判断是否应当创建。