我想做一个程序,只要一起动就最小化,并且不在系统栏和任务栏中显示任何图标,不知道该如何写语句
解决方案 »
- 怎样显示DIB
- FastReport 3.0 打印空行的问题 急.....
- 推荐一本delphi网络开发好书,最好有电子的
- SQL Server数据库的问题,用的是ADOQUERY,应该如何操作?急!!!
- 谁能帮我把这个C++的函数变成Delphi的,谢谢!!!!
- 我在主程序里面想包含进一个文件,怎么做
- 我提的这个问题带有普遍性,请进来看看。
- 简单问题!快来,先解决的50分都给!
- 能否获取模拟点击其它程序的一个按钮后所创建窗口的句柄?
- 很菜的问题:oncreatform()事件中加了一句form2。show(),本想在创建窗体之前显示form2,结果运行时提示出错,难道不能加?
- 侠客们上眼了:菜鸟问题大集合
- 有谁知道delphi中 mediaplayer如何进行快速和慢速播放?
Application.Minimize;
放在不同的事件里可能效果不同
但只要放对,绝对符合你的要求!
自己去体会吧,对了解tapplication有帮助
Application.ShowMainForm:=false;
ShowWindowAsync(Application.Handle, SW_HIDE);
win9x,win2000,winNT,应该都看不到了 ,,,不过你还是要设置一下热键,不然你老人家怎么出来用啊?设置热键会吧!!
可以使程序最小化但是你的意思是隐藏。就是没有主窗体的程序。
通常在自己的程序里定义热键,只能在自己的应用窗口范围内使用,未免使用起来受到一定的限制。
如果能在自己的应用程序里定义能被所有窗口访问的热键,应该是比较具有现实意义的。要定义一个全局热键,通常有三个步骤:
1。定义 Windows 的消息 WM_HOTKEY 的 HOOK 链,即 procedure myshortcut(var message: TMessage); message WM_HOTKEY;
2。向 Windows 加入一个全局原子 hotkey : GlobalAddAtom(’hotkey’), 并保留其句柄
3。向 Windows 登记热键链: RegisterHotKey( 应用句柄,全局原子句柄, mod_control ,88 );
其中,RegisterHotKey 函数原形如下
BOOL RegisterHotKey(
HWND hWnd, // 连接热键的窗口句柄
int id, // 全局原子句柄
UINT fsModifiers, // 热键修饰标志
UINT vk // 虚拟键盘码
);
这里,fsModifiers 是指虚拟键盘码 vk 结合何种键一起生成 WM_HOTKEY 的消息,它是下列三值的组合:
MOD_ALT // ALT 键必须按下
MOD_CONTROL // CTRL 键必须按下
MOD_SHIFT // SHIFT 键必须按下
有了这些准备,你就可以定义自己喜欢的方式了。下面是一个范例,当 CTRL + Q 在任何时候被按下时,都会打出 “你好,Crtl + Q 被按下” 的信息。
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
protected
procedure myshortcut(var message: TMessage); message WM_HOTKEY;
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
var
Form1: TForm1;
id:Integer;
implementation
{$R *.DFM}
procedure TForm1.myshortcut(var message: TMessage);
begin
ShowMessage(’你好,Crtl + Q 被按下’);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
id:=GlobalAddAtom(’hotkey’);
RegisterHotKey(handle,id,mod_control,88);
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
UnRegisterHotKey(handle,id); //别忘了在退出时取消定义
end;