ホーム > ダウンロード > Magic xpaツールライブラリ > Magicツールライブラリ Magic V10

サイト内検索

メッセージフック UDP WinHook Ver 0.9

ツール詳細

名 称 メッセージフック UDP WinHook Ver 0.9
制作者名 マジックソフトウェア・ジャパン株式会社
種 類 Free
動作環境 Magic V10.1 および V9.4
転載条件 下記をご覧ください。

詳細説明

ファイル内容
WinHk09.LZH を解凍すると以下のファイルがあります。
  • WinHookW.DLL : DLL 本体(Unicode版)
  • WinHookA.DLL : DLL 本体(ANSI版)
  • WinHook.TXT : この文書
  • WHA.101.xml : WinHookW の使用例となるアプリケーションのリポジトリ出力結果(Ver10.1 SP4x用)
  • WHA.940.exp : WinHookA の使用例となるアプリケーションのリポジトリ出力結果(Ver9.4 SP6x用)
  • QUESTION.TXT : 質問およびトラブル報告用のフォーマット
WinHook の使用方法
WinHook は Magic から呼び出すことのできる UDP であり、Magic または Windows に対するメッセージをフックします。
UDP の一般的な内容については Magic に添付のドキュメントを参照して下さい。
使用方法につきましては、添付のプログラムをリポジトリ入力して実行して頂くことで、より理解していただけると思います。
はじめに、Magic Ver10.1 のプロジェクト(またはキャビネット)フォルダ、または Magic Ver9.4 の作業フォルダに WinHookx.DLL をコピーしてから実行してください。
WinHook.DLL には以下のような関数があります。
  • MouseDis:マウスのメッセージを無効にする
  • MouseEna:マウスのメッセージを有効にする
  • WheelDis:マウスホイールの垂直スクロールのメッセージを無効にする
  • WheelEna:マウスホイールの垂直スクロールのメッセージを有効にする
  • SWTipEna:マウスをステータスバーに移動するとツールチップを表示する
  • SWTipDis:マウスをステータスバーに移動してもツールチップを表示しない
  • SWLogEna:ステータスバーのメッセージを記録する
  • SWLogDis:ステータスバーのメッセージを記録しない
  • PrevwEna:プレビューウィンドウの倍率の変更を有効にする
  • PrevwDis:プレビューウィンドウの倍率の変更を無効にする
  • PrevwZom:プレビューウィンドウの倍率を切り替える
  • PrevwPct:プレビューウィンドウの倍率を任意の値に設定する
(1) マウスメッセージの無効
MouseDis (コマンド)
コマンド A を含まない場合、Magic のみを処理対象とする
A を含む場合、全ての Window を処理対象とする(文字型)

マウスメッセージを無効にした場合、対象となる Window 上ではマウスカーソルは見えなくなり、マウスによる操作ができなくなります。一時的にカーソルが表示されることがありますが、動作上は問題はないと思われます。

右クリックを行うと、その Window にのみ十字カーソルが表示されます。

タイトルバーをクリックした場合、マウスメッセージを無効にしていてもその操作が有効になることがあります。これはマウスのメッセージに先んじて WM_NCHITTEST というマウスメッセージとは異なるメッセージが送信されることがあるためです。
このメッセージは Magic 内部においてウィンドウヒットイベントに置換えられます。そのため、この現象を防止したい場合、プログラムにおいてウィンドウヒットハンドラ(伝播は No、処理コマンドはなし)を作成してください。

(2) マウスメッセージの有効
MouseEna ()
(3) マウスホイールの垂直スクロールのメッセージの無効
WheelDis (コマンド)
コマンド A を含まない場合、Magic のみを処理対象とする
A を含む場合、全ての Window を処理対象とする(文字型)

Windows API の仕様により、Windows9x では 98 以降、WindowsNT では 4.0 以降の場合のみ実行可能です。

(4) マウスホイールの垂直スクロールのメッセージの有効
WheelEna ()
(5) ツールチップの表示
SWTipEna ()

ツールチップには、Magic のステータスバーのテキストを30秒間表示します。

(6) ツールチップの非表示
SWTipDis ()
(7) メッセージの記録開始
SWLogEna ()

ログファイル名は、「WinHook.スレッドID.Log」となります。
ログファイルの文字コードは、WinHookW では UTF-16、WinHookA では Shift_JIS になります。
同一のメッセージが連続して表示されたときにも記録されます。
"dbMAGIC"、"Magic"、"開発:"、"実行:"から始まるメッセージは記録されません。

(7) メッセージの記録開始
SWLogEna ()

ログファイル名は、「WinHook.スレッドID.Log」となります。
ログファイルの文字コードは、WinHookW では UTF-16、WinHookA では Shift_JIS になります。
同一のメッセージが連続して表示されたときにも記録されます。
"dbMAGIC"、"Magic"、"開発:"、"実行:"から始まるメッセージは記録されません。

(8) メッセージの記録終了
SWLogDis ()
(9) プレビューウィンドウの倍率の変更の有効
PrevwEna (左辺位置, 上辺位置, 幅, 高さ, アイコン名)
  • 左辺位置 :プレビューウィンドウの左辺位置(数値型)
  • 上辺位置 :プレビューウィンドウの上辺位置(数値型)
  • 幅 :プレビューウィンドウの幅 (数値型)
  • 高さ :プレビューウィンドウの高さ (数値型)
  • アイコン名 :アイコンファイルの名前 (Unicode型/文字型)

プレビューのウィンドウの倍率を変更する関数を使用できるようにします。
同時に新規に作成するプレビューのウィンドウの位置およびサイズを指定できます。

内部的にはプレビュー以外のウィンドウの作成も監視しており、その中からプレビューのウィンドウか否かを判定しています。そのため、この関数は印刷の開始直前に実行して、印刷の終了直後に PrevwZom(または PrevwPct)、PrevwDis を実行されることをお勧めします。

今後の Magic のバージョンアップにより、プレビューの画面構成が変更された場合、動作しなくなることがあります。

Magic Ver10.1 では、Windows のタスクの切替ダイアログにおいて指定したアイコンが表示されません。

(10) プレビューウィンドウの倍率の変更の無効
PrevwDis ()
(11) プレビューウィンドウの倍率を切り替え
PrevwZom (ページ数)

ページ数 :表示ページ数(数値型)

印刷プレビューの初期状態では、用紙全体が表示できる倍率になりますが、この状態においてこの関数を実行すると、倍率が100%になります。再度この関数を実行すると、初期状態の倍率に戻ります。

PrevwPct より処理は軽いですが、倍率を任意の値に変更した場合、何ページ表示できる倍率かによって動作しないことがあります。
表示されるページ数が1ページでない場合、ページ数のパラメータに表示するページ数を設定してみてください。通常はこのパラメータは「0」を設定してください。

PrevwEna が実行されている必要があります。
入出力ファイルがクローズされた後に実行する必要があります。

(12) プレビューウィンドウの倍率を任意の値に設定
PrevwPct (倍率)

倍率 :倍率(数値型)

印刷プレビューの初期状態では、用紙全体が表示できる倍率になりますが、この状態においてこの関数を実行すると、指定された倍率になります。

PrevwEna が実行されている必要があります。
入出力ファイルがクローズされた後に実行する必要があります。

Ver 0.8 -> Ver 0.9 の変更点

(1)Unicode API の使用
  • WinHookA では、ANSI API を使用しています。
  • WinHookW では、Unicode API を使用しています。
  • WinHookW では、SWLogEna のログファイルの文字コードは、UTF-16 になります。
(2)スレッドID の使用
SWLogEna のログファイル名にスレッドID を使用するように変更しました。
(3)関数の追加
  • PrevwEna ()
  • PrevwDis ()
  • PrevwZom ()
  • PrevwPct ()
(4)MouseDis、WheelDis のオプションの削除
  • Sオプション
  • ウィンドウハンドル指定
(5)Magic Ver9.4より前のバージョンでの扱い
Unicode API 対応などにより全体の変更を行なったため、Magic Ver9.4より前のバージョンは動作対象外とします。これ以前のバージョンにおいて使用したい場合、WinHook Ver0.8 をご利用願います。
以下の関数は存在しますが、動作対象外となります。
  • WUpDnEna/WUpDnDis
  • SBTipEna/SBTipDis

Ver 0.7 -> Ver 0.8 の変更点

  1. MouseDis () 関数の変更
    ハンドル値パラメータを追加
    (この関数を使用している箇所ではパラメータを追加する必要がある)
  2. WheelDis () 関数の追加
  3. WheelEna () 関数の追加
  4. WUpDnEna () 関数の追加
  5. WUpDnDis () 関数の追加

Ver 0.6 -> Ver 0.7 の変更点

  1. SWLogxxx () 関数の追加
  2. コンパイラを Visual C++ 6.0 に変更
使用条件
このプログラムは、「フリーソフトウェア」です。次の条件を守っていただける限り、無償でこのプログラムの使用および配布を許諾します。
【著作権】
本ファイルに対しての著作権は、マジックソフトウェア・ジャパン株式会社が保有します。
【転載・配布条件】
本アーカイブ中のプログラムソース、オブジェクト、実行形式のコード、あるいはドキュメント等のファイルの全て、ないしは一部をマジックソフトウェア・ジャパン株式会社の許可無く単独の形で、転載あるいは再配布を行うことは一切禁止します。
ただし、Magic で開発されたアプリケーションに、組込ユーティリティとして同梱配布、利用することは自由に行って頂いてかまいません。
配付先でのサポートは、配布者が責任を持って行って下さい。
【免責】
マジックソフトウェア・ジャパン株式会社は、上記プログラムの使用に関連して発生するいかなる損害についても責務を負いません。また、バグの修正やバージョンアップの責務も負いません。
【サポート】
マジックソフトウェア・ジャパン株式会社は、上記プログラムに関するサポートは致しません。
No内 容ファイル名 (サイズ/バイト)ダウンロード
1 メッセージフック UDP WinHook Ver 0.9 WinHk09.lzh (49,971) HTTP

ダウンロード

  • マジックソフトウェア・ジャパンのホームページへ
  • お問い合わせ Contact Us