標題:
[Delphi] Window 處理
[打印本頁]
作者:
admin
時間:
2012-4-23 21:37
標題:
[Delphi] Window 處理
(1) Always on Top
// on the desired form . . .
procedure TForm1.FormShow(Sender: TObject);
begin
SetWindowPos(Form1.Handle,
HWND_TOPMOST,
0, 0, 0, 0,
SWP_NOMOVE or SWP_NOSIZE or SWP_SHOWWINDOW);
end;
(2) 終止程式
// 在程式的任何 form 加入以下一句都可以立即關閉程式
Application.Terminate;
(3) 取消 Alt +F4 關閉程式的功能
首先在 form內把 KeyPreview 特性設定為 "True", 那麼任何按鍵都先經過 Form 才去到form 內的其它物件, 跟著在 OnKeyDown Events中加入以下一句,
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
if (Key = VK_F4) and (ssAlt in Shift) then Key := 0;
end;
如果 F4 及Alt 一起按下, 以上程式就會吞下Alt+F4, 而其它按鍵組合則會傳到 Form 的下一級元件
(4) 重新啟動程式
uses ShellApi;
procedure TfrmMain.butClick(Sender: TObject);
begin
AppRestart(self);
end;
procedure TfrmMain .AppRestart(Sender: TObject);
var AppName : PChar;
begin
AppName := PChar('thisisaprogram.exe') ;
ShellExecute(Handle,'open', AppName, nil, nil, SW_SHOWNORMAL) ;
Application.Terminate;
end;
歡迎光臨 How2Do (http://forum.how2do.com.hk/)
Powered by Discuz! 7.2