アプリ版:「スタンプのみでお礼する」機能のリリースについて

初歩的な質問ですみません

exeファイルを実行する時に
ダブルクリックだとformAを表示。
shiftキーを押しながらダブルクリックだとformBを表示。

と、起動方法によってフォームを切り替える方法を
教えてください。
よろしくお願いします。


環境:WinXP VB6 SP4

A 回答 (2件)

GetAsyncKeyStateを利用したらよいです。



Private Declare Function GetAsyncKeyState Lib "USER32" (ByVal vKey As Long) As Integer

Private Sub Main()
  If GetAsyncKeyState(vbKeyShift) Then
    MsgBox "SHIFT"
  Else
    MsgBox "NO-SHIFT"
  End If
End Sub
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
理想どおりに動作しました。

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

お礼日時:2006/06/28 15:49

可能ですが実用的ではありません。



何でも良いので、普通のexeファイルをShiftキーなどの特殊キーと一緒にダブルクリックしてみて下さい。

Altキー+ダブルクリック:起動しないでプロパティが出てしまう。

Ctrlキー+ダブルクリック:何もしないか、何回か続けてダブルクリックしないと起動しない。起動してもウィンドゥが最背面になって起動するので、別画面に隠れて見えないまま起動する。

Shiftキー+ダブルクリック:起動するけどウィンドゥが最背面になって起動するので、別画面に隠れて見えないまま起動する。

このように「フォームは切り替わるけど非実用的」になります。

それよりも、ショートカットアイコンを2つ作り、実行するショートカットの片方を「実行時引数付き」にして、exeでは引数の有無によってフォームを切り替えるようにした方が良いです。

また、引数の内容に意味を持たせ、exeの中で引数の内容によって動作を変えれば、バリエーションが広がります。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!