1

Delphiでform\applicationの最小化を禁止することは可能ですか?

私は次のコードを見つけました:

procedure TForm1.WMShowWindow(var Msg: TWMShowWindow);
begin
  if not Msg.Show then
    Msg.Result := 0
  else
    inherited;
end;

しかし、Windowsキー+MまたはWindowsKey+ Dを押すと、それでも最小化されます。これを防ぐ方法はありますか?

4

3 に答える 3

11

BorderIcons.bsMinimized を false に設定する (セットから削除する) と、WindowsKey + M に対しては機能しますが、WindowsKey + D は停止しません。これは理にかなっていると思います。この 2 つの違いは、1 つ目はすべてのウィンドウを最小化するよう要求することであり、2 つ目はユーザーがデスクトップを表示するように明示的に要求することです。後者をオーバーライドすると、おそらくユーザーを悩ませるでしょう (自分自身を強制的にフォーカスするのと同様)。

于 2009-06-03T08:35:19.527 に答える
2

または、キーボードフックを配置して、winkey+dまたはwinkey+mをキャッチし、フォームを最大化しておくことができます。

于 2009-06-03T09:11:46.083 に答える
0

このようなコードをonShowイベントのフォームに入力するだけです。

  WindowState:=wsMaximized;

そしてこれをOnCanResizeに:

  if (newwidth<width) and (newheight<height) then
    Resize:=false;
于 2012-08-08T14:57:32.953 に答える