« ■December 2007 Update | トップページ | ☆ファイルの所属するフォルダ名を取得 »

☆スクリーンショットを無効にする。

会社のパソコンでスクリーンショットが撮れず、いろいろ調べた結果、自作のソフトが原因だとわかりました。 もう何年も昔に作ったもので、スクリーンショットを無効にするような機能を実装していたなんてすっかり忘れていました。プログラム中にPC-98用、DOS/V用なんてコメントもあってなんか懐かしかったです。
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs;

type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
  private
    procedure WMHotKey(var Msg : TWMHotKey); message WM_HOTKEY;
  public
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

const
  SnapShot1 = 1;
  SnapShot2 = 2;
  SnapShot3 = 3;
  SnapShot4 = 4;

procedure TForm1.WMHotKey(var Msg: TWMHotKey);
begin
  if Msg.HotKey in [SnapShot1, SnapShot2, SnapShot3, SnapShot4] then
  begin
    Msg.Msg :=0;
    Msg.HotKey :=0;
    Msg.Unused :=0;
    Msg.Result :=0;
    ShowMessage('スクリーンショットは無効です');
  end;
  inherited;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  RegisterHotkey(Handle, SnapShot1, 0          , VK_SNAPSHOT);
  RegisterHotkey(Handle, SnapShot2, MOD_SHIFT  , VK_SNAPSHOT);
  RegisterHotkey(Handle, SnapShot3, MOD_CONTROL, VK_SNAPSHOT);
  RegisterHotkey(Handle, SnapShot4, MOD_ALT    , VK_SNAPSHOT);
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  UnRegisterHotkey(Handle, SnapShot1);
  UnRegisterHotkey(Handle, SnapShot2);
  UnRegisterHotkey(Handle, SnapShot3);
  UnRegisterHotkey(Handle, SnapShot4);
end;

end.

|

« ■December 2007 Update | トップページ | ☆ファイルの所属するフォルダ名を取得 »