如何控制外部程式無法自己關閉 |
答題得分者是:hagar
|
懷舊的人
高階會員 發表:28 回覆:152 積分:141 註冊:2003-01-08 發送簡訊給我 |
|
懷舊的人
高階會員 發表:28 回覆:152 積分:141 註冊:2003-01-08 發送簡訊給我 |
引言: 謝謝 hanger 你已經提供一個很好的方法了,我可以自己找到答案了,不過其怪的是,你的文章怎麼不見了,幸虧我看見了,謝謝。 下面的例子是在書上找到的範例(Win32ShellAPI) procedure TForm1.CheckBox1Click(Sender: TObject); var WindowStyle: Longint; // holds the window style begin {get the current styles used by this window} WindowStyle := GetWindowLong(Form1.Handle, GWL_STYLE); {toggle the WS_CAPTION style} if (CheckBox1.Checked) then WindowStyle := WindowStyle OR WS_CAPTION else WindowStyle := WindowStyle AND NOT WS_CAPTION; {toggle the WS_BORDER style} if (CheckBox2.Checked) then WindowStyle := WindowStyle OR WS_BORDER else WindowStyle := WindowStyle AND NOT WS_BORDER; {toggle the WS_SYSMENU style} if (CheckBox3.Checked) then WindowStyle := WindowStyle OR WS_SYSMENU else WindowStyle := WindowStyle AND NOT WS_SYSMENU; {toggle the WS_MAXIMIZEBOX style} if (CheckBox4.Checked) then WindowStyle := WindowStyle OR WS_MAXIMIZEBOX else WindowStyle := WindowStyle AND NOT WS_MAXIMIZEBOX; {toggle the WS_MINIMIZEBOX style} if (CheckBox5.Checked) then WindowStyle := WindowStyle OR WS_MINIMIZEBOX else WindowStyle := WindowStyle AND NOT WS_MINIMIZEBOX; {make the window use the new styles} SetWindowLong(Form1.Handle, GWL_STYLE, WindowStyle); {this little trick forces the entire window to redraw, including non-client areas} SetWindowPos(Handle, 0, 0, 0, 0, 0, SWP_DRAWFRAME or SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE or SWP_NOZORDER); {display the current styles used by this window} Label1.Caption := 'Current Style: ' IntToStr(WindowStyle); end; |
hagar
版主 發表:143 回覆:4056 積分:4445 註冊:2002-04-14 發送簡訊給我 |
|
Justmade
版主 發表:94 回覆:1934 積分:2030 註冊:2003-03-12 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |