ホーム   フォーラム   FAQ
 
メインメニュー
ログイン
ユーザー名:

パスワード:


パスワード紛失

キー入力を無効にする方法

  • このフォーラムに新しいトピックを立てることはできません
  • このフォーラムではゲスト投稿が禁止されています
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2008-11-1 16:00
hiro  長老 居住地: 三重  投稿数: 188
自己レスです。
再度いろいろ考えましたが、mukaさんの方法が一番スッキリと
いきました。

方法としては、mukaさんの言われたタスクを作っておいて
必要なプログラムからコールする様にしました。
コールは呼び出すプログラムの処理終了の直前にしてやれば
違和感無く終わります。
ダミーの画面は文字1桁の項目を1個作って縦横サイズを0に
します。
フォームの縦横サイズも0にしてやるとほとんど気が付きません。

アドバイスありがとうございました。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2008-10-15 17:59
motohira  常連   投稿数: 42
mukaさん

ご教示ありがとうございました!
おっしゃる方法を試したところ、無事にキーバッファは
クリアされました。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2008-10-10 15:57 | 最終変更
hiro  長老 居住地: 三重  投稿数: 188
こんにちは motohiraさん mukaさん
レスありがとうございます。
mukaさんの方法は隠しで画面を出しておいてそこで
キー入力を捕まえてやると言うことでしょうか?

VBで行う場合、user32にあるPeekMessageという
API関数を使うらしいです。
この関数を呼び出すとキーバッファに何があるかチェック
できる様で、この時読み出しと同時に消去する指定が
あるのでそれを使ってキーバッファをクリアするようです。
試しにやってみましたが、何の変化もありませんでした。
使い方が悪いのかも知れません
今のところあきらめています。
では..

補足で質問です。
MSG構造体とやらをMAGICから扱う場合は何か特別な
ことをしないとだめでしょうか?
構造体そのままパラメタの並びに設定しただけですが
この辺が間違っているかも知れません。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2008-10-10 15:03
muka  常連 居住地: 東京都練馬区  投稿数: 69
 目的に合うかどうか分かりませんが、次のようなタスクを作成してテストしてみてはどうでしょうか?

1)オンラインタスクを作成
 バッチではなくオンラインのタスクにします。
 ダミーの項目を定義し、画面に配置します。

2)タイマーイベントを作成
 イベントを定義し、1秒「00:00:01」を指定
 「終了」もしくは「取消終了」等のイベントを実行するように定義します。

3)適当な箇所からコール
 作成したタスクを適当な位置からコールします。

 要は、起動したら1秒後に自動的に終了するタスクを作成するわけです。その間にキーバッファに溜まったものは消費されるという・・・。

 もし、上記の方法でうまくいくようなら、最終的に、作成した画面を目立たないように修正します。
(タイトルバーなし、子ウインドウ、位置サイズ・・・等)

 あまりスマートな方法ではないかもしれませんが・・・。w
投票数:1 平均点:10.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2008-10-10 14:07
motohira  常連   投稿数: 42
私も同じような問題で悩んでいます。
Cで「rewind」というキーバッファをクリアするためだけの外部プログラムを作成し、OSコマンドで呼び出しても駄目で、
今度はUDPのDLLを、同様の機能で作成し、UDPで呼び出しても駄目でした。Magic内で処理する必要があるみたいですね。

どなたかご教示を、私からもお願い申し上げますm(__)m
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 .2 | 投稿日時 2008-9-16 12:01
hiro  長老 居住地: 三重  投稿数: 188
みなさん こんにちは

オペレーションによっては、処理中にキー操作を一切無効に
したいときがあると思いますが、何か方法があるのでしょうか?
例えば、バッチを実行するときに実行確認画面を出力して
終わったら終了確認メッセージを出力するような場合、
実行時に誤ってエンターキーを2度叩くと終了確認がキーバッファ
で一瞬で消えてしまいます。

みなさんはどうされていますか?
アドバイスよろしくお願いします。
投票数:0 平均点:0.00

  条件検索へ


Copyright (C) Magic Software Japan K.K. All Rights Reserved.
個人情報保護方針 会員規約