- PR -

EXE起動時に押されているキーコードを取得したい

1
投稿者投稿内容
satoko
常連さん
会議室デビュー日: 2004/11/17
投稿数: 23
投稿日時: 2006-01-07 21:32
いつもお世話になっています。

<開発環境>
WindowsXP SP2
.NET C#でWindowsフォームアプリケーション

マクロ登録をしているAccessを開くときのイメージで、
exeの起動時に表示する画面を分けたいのですが
どのような実現方法があるでしょうか。

<やりたいこと>
普通にexeを起動 → 画面Aを起動
Shiftキーを押しながら起動 → 画面Bを起動

起動時にどのキーが押されているかが分かればいいと思うのですが・・。
実現方法をご存知の方がいらっしゃいましたらご教授下さい。

じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-01-07 23:15
引用:

satokoさんの書き込み (2006-01-07 21:32) より:

<やりたいこと>
普通にexeを起動 → 画面Aを起動
Shiftキーを押しながら起動 → 画面Bを起動


.NET 的には、Control クラスの Static な ModifierKeys プロパティが使えます。
ダメならば、GetAsyncKeyState API を使いましょう。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-01-08 09:51
心配だったので、試してみました。

コード:

    [System.STAThread()]
    private static void Main() {
        if ((Control.ModifierKeys & Keys.Shift) == Keys.Shift) {
            Application.Run(new Form1());
        } else {
            Application.Run(new Form2());
        }
    }


こんな感じで、大丈夫そうですね。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
satoko
常連さん
会議室デビュー日: 2004/11/17
投稿数: 23
投稿日時: 2006-01-10 18:09
じゃんぬねっとさん、御礼が遅くなってしまって
大変申し訳ありませんでした。

おっしゃるように、ModifierKeysを使って出来ました。
ありがとうございました。
もっと勉強します・・・。

ありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)