想要实现这样一个效果,按下一个特定的按键,比如说是"G",使程序最小化,当再一次按下该按键时,程序复原,想要问一下,使程序从最小化还原怎么写???

解决方案 »

  1.   

    我也知道showwindow但是程序已经最小化,如何接收消息并响应呢?
      

  2.   

    程序最小化的时候……,你要考虑Windows系统是可以同时运行很多程序的,如果做成你这样的效果(当然可以,比如Hook键盘消息),在别的程序中输入文字的时候按个"G",你的程序就出来……不太好吧。设计程序不仅仅考虑功能,也要考虑是否符合使用习惯,是否和别人的程序兼容。
      

  3.   

    感谢楼上各位的回答,我现在用HOOK写了一个,实现了按下数字"6"就使程序最大化,但是还有一个问题,那就是只有在第一次按下"6"的时候程序自动最大化,再按时就没有用了,请问这是为什么啊???(DLL)代码:#include <windows.h>HHOOK g_hKeyboard=NULL;#pragma data_seg("MySec")
    HWND g_hWnd=NULL;
    #pragma data_seg()
    LRESULT CALLBACK KeyboardProc(
      int code,       // hook code
      WPARAM wParam,  // virtual-key code
      LPARAM lParam   // keystroke-message information
    )
    {
    if(wParam==54)
    {
    ShowWindow(g_hWnd,SW_SHOWMAXIMIZED);

    UnhookWindowsHookEx(g_hKeyboard);
    }
    return 1;
    }void SetHook(HWND hwnd)
    {
    g_hWnd=hwnd; g_hKeyboard=SetWindowsHookEx(WH_KEYBOARD,KeyboardProc,GetModuleHandle("Hook"),0);
    }
      

  4.   

    只有在第一次按下"6"的时候程序自动最大化,再按时就没有用了
    -------------------------------------------------------看看下面你的代码,因为你在响应“6”的处理过程后,UnhookWindowsHookEx,卸载掉了钩子,再按当然就没作用了if(wParam==54)
    {
    ShowWindow(g_hWnd,SW_SHOWMAXIMIZED);UnhookWindowsHookEx(g_hKeyboard);
    }
      

  5.   

    nChar="你设的键"
    ...
    ...
    ...
    干你想干的事.