模拟按下向下箭头键是postmessage(from1.handle,wm_keydown,vk_down,0)
那么模拟按下Alt+Down键应将vk_down改为什么时候呀?

解决方案 »

  1.   

    postmessage(edit1.handle,wm_keydown,vk_down,$20000000)
      

  2.   

    postmessage(form1.handle,wm_keydown,vk_down,$20000000)
      

  3.   

    $20000000是一个32位值,
    $20000000;表示在按键的同时有alt
    类似的:
    Ctrl : $10000000;
    Shift: $08000000;
    以下来自win32 sdk的帮助lKeyDataValue of lParam. Specifies the repeat count, scan code, extended-key flag, context code, previous key-state flag, and transition-state flag, as shown in the following table: Value Description
    0-15 Specifies the repeat count. The value is the number of times the keystroke is repeated as a result of the user holding down the key.
    16-23 Specifies the scan code. The value depends on the original equipment manufacturer (OEM).
    24 Specifies whether the key is an extended key, such as the right-hand ALT and CTRL keys that appear on an enhanced 101- or 102-key keyboard. The value is 1 if it is an extended key; otherwise, it is 0.
    25-28 Reserved; do not use.
    29 Specifies the context code. The value is always 0 for a WM_KEYDOWN message.
    30 Specifies the previous key state. The value is 1 if the key is down before the message is sent, or it is 0 if the key is up.
    31 Specifies the transition state. The value is always 0 for a WM_KEYDOWN message.