application.ShowMainForm := False;
解决方案 »
- edit.text写入数据库问题?
- 请给初学计算机(主攻写程序)的指引一条稳健的学习之路!
- delphi多线程异常退出的问题
- 我想写一个过程,传入文件名,然后把文件用二进制方式读取传出,应该怎么做呢?
- TreeView中怎么传递一个唯一标示符??
- 关于Create.
- 一个sql语句:查话题连续的三天?或是三年的数据
- 如何在windows2000编程关机?急急.................
- 再次求教,ADO如何让数据库分页显示(每页显示10条)(61尽献各位)
- TREEVIEW如何动态的加入字节点和父节点,或者从一个表中导入一列字段??指教!
- 急!急!!急!!!请教高手一个关于打印的问题
- 如何打开网页?
是可以。
但是任务栏,托盘区,Ctrl_Alt_Del,Alt_Tab。全都没了。程序想结束都没法结束了。怎么办?
你那程序是运行在在windows2000下,还是运行在windows98下,
用ctrl+alt+delete屏蔽程序?
你那要是运行在windows2000下,可在任务栏中隐藏程序,请把原代码贴上来看看如何?
begin
RxTrayIcon1.Icon :=Application.Icon;
ShowWindow(Application.Handle,SW_HIDE);
end;procedure TFormLoad.FormCreate(Sender: TObject);
const
RSP_SIMPLE_SERVICE=1;
RSP_UNREGISTER_SERVICE=0;
var
dwID,regserv:DWORD;
begin
// application.ShowMainForm :=False;
{*******将程序的窗口样式设为TOOL窗口,可避免在任务条上出现*********************}
SetWindowLong(Application.Handle, GWL_EXSTYLE, WS_EX_TOOLWINDOW);{*******用未公开函数RegisterServiceProcess可避免在Ctrl+Alt+Del中出现***********}
//该函数存在于Kernel32.dll中.Process指向进程的ID,Type表示是否向系统注册该进程,是1,否0.
//下面代码为隐藏
dwID:=GetCurrentProcessId();
regserv:=RegisterServiceProcess(dwID,RSP_SIMPLE_SERVICE);
end;
怎样在Alt_Tab中隐藏?
在FORMCREAT中添加:
RegisterHotKey(Handle,0,MOD_ALT or MOD_CONTROL ,VK_F10);//设定热键为ALT+CTRL+F10
添加:
procedure TForm1.wmhotkey(var message:Tmessage);
begin
FORM1.Visible :=NOT FORM1.Visible ;//按下热键切换!!
end;
运行实验一下就知道了!!
procedure wmhotkey(var message:Tmessage);
message wm_hotkey;
就可以了!
form的Visible属性已经设置了:False;
在Alt_Tab中还是能看见应用程序的图标。
另外:
我不是想改变热键,而是想让应用程序只在右下角出现,其他地方如:Alt_Tab,Ctrl_Alt_Del,任务栏等均看不见它的影子。
procedure TForm1.FormCreate(Sender: TObject);
var tmp,Flag :integer;
begin
tmp := 0;
Flag := 1;
//屏蔽 Alt-Tab
SystemParametersInfo( SPI_SETFASTTA-SKSWITCH, Flag, @tmp, 0);
end;
我不是想屏蔽掉Alt_Tab,我是想不在Alt_Tab中出现。