可以关机,重起,注销,详细的看MSDN。

解决方案 »

  1.   

    关机,重起,注销:用ExitWindowEx
    如果要关闭Exploer,
    Please use 'Findwindow', then 'SendMessage' or 'PostMessage';
    Please make sure that you find right window Handl.GetDestopWindow will return the first window that win98 start. and it is
    the parent window of all other windows.
    I hope that will help you.
      

  2.   

    CWnd *pWnd=FindWindow(NULL,"我的电脑");
    ASSERT(pWnd);
    pWnd->PostMessage(WM_CLOSE);
    可以做到。但这样作依赖窗口的标题必须是"我的电脑"
    如果我们进入了一个目录,窗口标题一变就不行了。
      

  3.   

    Find桌面窗口,然后SendMessage试试,应该可以。
      

  4.   

    第一次打开“my computer”时保存窗口HANDLE.
      

  5.   

    API 函数ExitWindowsEx 
      
      

  6.   

    vcbear则么只收回不发表意见哪!
      

  7.   

    我发现了,如sxbyl所说,要用PostMessage(),才可以成功,不能用SendMessage()
    至于为何,不知道谁可以说个明白?
      

  8.   

    我大概发现一个规律:如果目标窗口不是同一个进程的,好像SendMessage就不管用(大多如此),而要用PostMessage,具体原因现在我也不明白。
      

  9.   

    你SendMessage等待人家关闭你才继续?
    人家要关闭又来问你同意不,你说等会,你关闭先,然后我回答你
      

  10.   

    其实不是SendMessage不管用,而是消息在队列中的位置问题,因为SendMessage需要等到返回才执行,而PostMessage就不用,所以SendMessage时会需要将正在等的消息都发完了才可以实现,而PostMessage就不用,系统会正确安排消息在队列中的位置,不会引起消息阻塞。所以,有时用SendMessage来关闭一个窗口时,通常要发好几个消息
      

  11.   

    但问题是为什么那面连个询问对话框都不出来,当我的SendMessage是假的!
      

  12.   

    但问题是为什么那面连个询问对话框都不出来,当我的SendMessage是假的!
      

  13.   

    SendMessage并不把消息发到消息队列中,而是直接到接受函数
    PostMessage是把消息发送到消息队列中的
      

  14.   

    请到http://www.etechbase.net/advsearch.php,将你这个问题输入到检索框,然后选择准确匹配查询,应该可以帮助你解决这个问题的。http://www.etechbase.net/tech.php也许能够帮助你。
      

  15.   

    ::SendMessage(hwnd,WM_COMMAND,SC_CLOSE,0);
    or ::PostMessage(hwnd,WM_COMMAND,SC_CLOSE,0);注:发的消息相当于选“退出”,或点叉,发WM_CLOSE不成,嘿嘿,我试过,音箱“咚咚”,就是不退,更狠的,WM_QUERYENDSESSION
      

  16.   

    我曾经作过一个能关星际等程序的窗口:
     先找到当前运行程序的窗口pWnd,再遍历系统所有窗口,看有没有窗口的TITLE =“我的电脑”
    有则pWnd->postmessage(WM_CLOSE)
      

  17.   

    要用到以下几个API函数:
      BOOL EnumWindows(
        WNDENUMPROC lpEnumFunc, // pointer to callback function
        LPARAM lParam // application-defined value
      );
      枚举窗口列表中的所有父窗口(顶级和被所有窗口)  BOOL PostMessage(
        HWND hWnd, // handle of destination window
        UINT Msg, // message to post
        WPARAM wParam, // first message parameter
        LPARAM lParam // second message parameter
      );
      将一条消息投递到指定窗口的消息队列  int GetWindowText(
        HWND hWnd, // handle to window or control with text
        LPTSTR lpString, // address of buffer for text
        int nMaxCount // maximum number of characters to copy
      );
      取得一个窗体的标题(caption)文字