写一个NT服务程序,其中用了响应系统关机等几个消息,这下可好,在弹出的界面中
EDIT框不能输入了,界面可以响应鼠标消息,就是不能用键盘输入!请高人帮看一下,也许难者不会,会者不难..... procedure TrayIconMessage(var Msg: TMessage); message WM_TrayIcon;
procedure SysButtonMsg(var Msg: TMessage); message WM_SYSCOMMAND;
procedure HandleWinExit(var Msg: TMessage); message WM_QUERYENDSESSION;...
procedure TFrmMain.TrayIconMessage(var Msg: TMessage);
begin
if (Msg.LParam = WM_LBUTTONDBLCLK) then
Show()
else
inherited;
end;procedure TFrmMain.SysButtonMsg(var Msg: TMessage);
begin
if (Msg.wParam = SC_CLOSE) or
(Msg.wParam = SC_MINIMIZE) then Hide
else inherited; // 执行默认动作
end;procedure TFrmMain.HandleWinExit(var Msg: TMessage);
begin
//截系统关机消息
// inherited;
// if msg.WParam = WM_QUERYENDSESSION then {用了这两句,也不行,而且系统关机,服务关不了,不能关机,非要手工停下服务后才行}
Msg.Result:=1;
end;
EDIT框不能输入了,界面可以响应鼠标消息,就是不能用键盘输入!请高人帮看一下,也许难者不会,会者不难..... procedure TrayIconMessage(var Msg: TMessage); message WM_TrayIcon;
procedure SysButtonMsg(var Msg: TMessage); message WM_SYSCOMMAND;
procedure HandleWinExit(var Msg: TMessage); message WM_QUERYENDSESSION;...
procedure TFrmMain.TrayIconMessage(var Msg: TMessage);
begin
if (Msg.LParam = WM_LBUTTONDBLCLK) then
Show()
else
inherited;
end;procedure TFrmMain.SysButtonMsg(var Msg: TMessage);
begin
if (Msg.wParam = SC_CLOSE) or
(Msg.wParam = SC_MINIMIZE) then Hide
else inherited; // 执行默认动作
end;procedure TFrmMain.HandleWinExit(var Msg: TMessage);
begin
//截系统关机消息
// inherited;
// if msg.WParam = WM_QUERYENDSESSION then {用了这两句,也不行,而且系统关机,服务关不了,不能关机,非要手工停下服务后才行}
Msg.Result:=1;
end;
解决方案 »
- 如何 获得 自身程序 的 版本号 ???? 急!!!!!!!!!!!!
- 有关mdi窗体的小问题,谁抢先会得会的,在线等,调试成功,马上给分!
- 一个投资一千多万的项目,三年了还未上线应用,这样做下去还有价值吗?
- Borland总部和开发团队的一些图片,很漂亮:P
- 反编译问题
- listbox问题?
- sql server2000 numeric字段自动进位
- 一家公司出6000请我,但不能背信弃义,怎么办?
- 一个使用了TTable的简单数据库程序改成使用ADO容易吗?
- 请君帮忙!!!!!
- 各位知道大庆怎么样吗?要到那去了,郁闷:(
- 请问各位高手服务器windows2000server启动后但未登陆再这种情况下怎样才能将让客户端连接中间层?
Application.CreateForm(TFrmMain, FrmMain);//加这句键盘可输入!!
{但有上句就变成双图标了....}ServiceStart(Sender: TService; var Started: Boolean);
begin
Started := True;
Svcmgr.Application.CreateForm(TFrmMain, FrmMain);//这句去掉又不行
...
end;郁闷啊....
让这句引导在内存,不使用即可.