我的程序已经在任务列表中隐藏,可使用tab键切换任务的时候还是可以看见,为什么?(42分)

  • 主题发起人 主题发起人 fanren945
  • 开始时间 开始时间
F

fanren945

Unregistered / Unconfirmed
GUEST, unregistred user!
我的程序已经在任务列表中隐藏(ctrl +alt +del看不见),可使用tab键切换任务的时候还是
可以看见,为什么?源代码如下:
procedure hideself;
begin
setwindowlong(application.Handle,Gwl_exstyle,ws_ex_toolwindow);
if (Win32MajorVersion <= 5) and (Win32Platform = VER_PLATFORM_WIN32_WINDOWS) then
begin
RegisterServiceProcess(GetCurrentProcessID,1);
end;
form1.BorderStyle:=bsnone;
form1.Width:=0;
form1.Height:=0;
end;
有没有解决的方法,将我全部家当奉上我是穷人。[:(]
 
使用tab键切换任务当然可以看见你的应用程序了;
最好的方法就是屏蔽Alt+Tab键,只能看见你的程序,而不能切换到其他的程序。
好像与你说的相反,^_^

将Form的FormStyle属性设为fsStayOnTop
将Form的WindowState属性设为wsMaximized
在Form的OnCreate事件处理过程中为Windows发送一个屏幕保护程序正在运行的消息
当程序结束时清除屏幕保护程序运行标志。 ; ;

procedure TForm1.FormCreate(Sender: TObject);
var
; temp: Integer;
begin
; SystemParametersInfo(SPI_SCREENSAVERRUNNING, 1, @temp, 0);
end;

procedure Form1.OnClose(Sender: TObject; var Action: TCloseAction);

var
; temp: Integer;
begin
; SystemParametersInfo(SPI_SCREENSAVERRUNNING, 0, @temp, 0);
end;
 
我的程序是一直在后台运行的,并不屏蔽其他程序的运行,
我也不想禁用系统热键(alt+tab),可有解法?
 
application.ShowMainForm :=False;
 
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.ShowMainForm:=false;//Add code
Application.Run;
 
不好意思,问题解决了到现在才给分,我忘了:)
 

Similar threads

后退
顶部