wParam的高16位是键盘状态,包括ctrl,alt,shift的状态,具体数值自己查一下,然后根低16位组合后发送就可以了,我记得alt应该是0x0001.
PostMessage(this.objIntPtr,WM_CHAR,new IntPtr(0x01 << 16 + 0x41),new IntPtr(0));

解决方案 »

  1.   

    [DllImport("user32.dll", EntryPoint="SetForegroundWindow")]
    public static extern int SetForegroundWindow (
    int hwnd
    );来获得焦点PostMessage不用焦点吗 ?
    你发给谁 ?
      

  2.   

    当然是有handle的应用程序窗口了,
    下面这个没有焦点就可以发给应用程序窗口,PostMessage(this.objIntPtr,WM_CHAR,new IntPtr(0x41),new IntPtr(0));我想给没有焦点的应用程序发送组合键而不是单键,有焦点我也会
      

  3.   

    回复人: mmcgzs(毛毛虫:告诉你们一个秘密,我也是爬行动物!) ( postmessage是不行的--------
    哪个API可以?
      

  4.   

    给你一个C#的代码,我测试过,可以用
    private void button1_Click(object sender, System.EventArgs e)
    {
    char strWindow;
    IntPtr hParent = IntPtr.Zero;
    IntPtr hNext=IntPtr.Zero;
    timer1.Enabled=false;
    string sClassName = "TestSendKey"; //要关闭的窗口标题
    hNext=NativeWIN32.FindWindowEx(hParent,hNext,IntPtr.Zero,sClassName);
    if(hNext.ToInt32()>0)
    {
    NativeWIN32.SetForegroundWindow(hNext.ToInt32());//置顶显示
    NativeWIN32.ShowWindow(hNext.ToInt32(),NativeWIN32.nCmdShow.SW_SHOWMINNOACTIVE); //显示窗口

        System.Windows.Forms.SendKeys.Send("%{F4}");


    }
    }
    }
    public class NativeWIN32
    {
    [DllImport("user32.dll", CharSet=CharSet.Auto)]
    public static extern IntPtr FindWindowEx(IntPtr parent /*HWND*/, 
    IntPtr next /*HWND*/, 
    IntPtr sClassName,  
    string sWindowTitle);
    [DllImport("user32.dll", CharSet=CharSet.Auto)]
    public static extern void SetForegroundWindow(int hwnd); [DllImport("user32.dll")]
    public static extern bool ShowWindow(int hWnd, nCmdShow nCmdShow); [DllImport("user32.dll", CharSet=CharSet.Auto)]
    public static extern int SendMessage(IntPtr hWnd, int msg, int wParam, int lParam); //SendMessage(Handle2, WM_GETTEXT, 1024, Integer(@Buf)); public enum nCmdShow:uint
    {
    SW_FORCEMINIMIZE=0x0,
    SW_HIDE=0x1,
    SW_MAXIMIZE=0x2,
    SW_MINIMIZE=0x3,
    SW_RESTORE=0x4,
    SW_SHOW=0x5,
    SW_SHOWDEFAULT=0x6,
    SW_SHOWMAXIMIZED=0x7,
    SW_SHOWMINIMIZED=0x8,
    SW_SHOWMINNOACTIVE=0x9,
    SW_SHOWNA=0xA,
    SW_SHOWNOACTIVATE=0xB,
    SW_SHOWNORMAL=0xC,
    WM_CLOSE=0x10,
    } }