[リストへもどる]
一括表示

投稿時間:2004/07/07(Wed) 16:13
投稿者名:ふくおか
Eメール:
URL :
タイトル:
キー(Alt等)が押されているかの確認
いつも参考にさせていただいています。

プログラムが立ち上がるときに、
すでに押されているキーを検出することは可能でしょうか?
具体的には
 subMainから立ち上げ、そのときに"Alt"キーが押されていれば、
 設定用のフォームを立ち上げる。
ということがしたいのですが…

開発環境はWIN2000、VB6 sp6です。
よろしくお願いします。

投稿時間:2004/07/07(Wed) 16:39
投稿者名:花ちゃん
Eメール:
URL :http://www.bcap.co.jp/hanafusa/ypcs/
タイトル:
Re: キー(Alt等)が押されているかの確認
> プログラムが立ち上がるときに、
> すでに押されているキーを検出することは可能でしょうか?

可能ですが。

>  subMainから立ち上げ、そのときに"Alt"キーが押されていれば、

Alt キーを押しながらEXEファイルをクリックするとプロパティが表示されるように
なっており、起動そのものができないかと思います。
それとも Windows2000 ではAlt キーを押しながらEXEファイルを起動できるのですか?

投稿時間:2004/07/07(Wed) 17:16
投稿者名:ふくおか
Eメール:
URL :
タイトル:
Re^2: キー(Alt等)が押されているかの確認
すばやい回答ありがとうございます。

> > プログラムが立ち上がるときに、
> > すでに押されているキーを検出することは可能でしょうか?
> 可能ですが。

すみません、質問が言葉足らずでした。
どのようにすれば検出できるのでしょうか?

下記にご指摘がありましたので"shift","ctrl",その他のキーを押しながら
ということでお願いします。

> >  subMainから立ち上げ、そのときに"Alt"キーが押されていれば、
>
> Alt キーを押しながらEXEファイルをクリックするとプロパティが表示されるように
> なっており、起動そのものができないかと思います。
> それとも Windows2000 ではAlt キーを押しながらEXEファイルを起動できるのですか?

花ちゃんさんのご指摘どうり起動できませんでした。知識不足で申し訳ありません。

投稿時間:2004/07/07(Wed) 18:05
投稿者名:nanashi
Eメール:
URL :
タイトル:
Re^3: キー(Alt等)が押されているかの確認
> > > プログラムが立ち上がるときに、
> > > すでに押されているキーを検出することは可能でしょうか?
> > 可能ですが。
>
> すみません、質問が言葉足らずでした。
> どのようにすれば検出できるのでしょうか?

APIのGetKeyboardStateで取得できます。

投稿時間:2004/07/07(Wed) 18:10
投稿者名:花ちゃん
Eメール:
URL :http://www.bcap.co.jp/hanafusa/ypcs/
タイトル:
Re^3: キー(Alt等)が押されているかの確認
ここの逆引きヘルプの 特殊キーの現在の状態を取得する・タブキーの押下を取得する
にも書いてありますが。 

Option Explicit
Private Declare Function GetKeyState Lib "user32" _
    (ByVal nVirtKey As Long) As Integer
Private Const VK_SHIFT = &H10
Private Const VK_CONTROL = &H11
Private Sub Form_Load()
    If GetKeyState(VK_CONTROL) < 0 Then
        MsgBox "Ctrl キーが押されています"
    End If
End Sub

投稿時間:2004/07/08(Thu) 14:42
投稿者名:ふくおか
Eメール:
URL :
タイトル:
ありがとうございました。
nanashiさん、花ちゃんさん、
すばやい回答ありがとうございました。
参考にさせていただきます。

花ちゃんさん
逆引きヘルプ内を探しきれず、お手数をおかけしました。