• Visual C++ 2011527


    一.命令消息

    有两个命令

    1.WM_SYSCOMMAND

    这个命令与本身程序有关,如最小化窗体,关闭窗体等

    2.WM_APPCOMMAND

    这个命令可以控制操作系统本身的很多功能,如打开浏览器,邮箱,调节音量等.

    使用非常简单,无须额外的处理

    SendMessage(hwnd,WM_APPCOMMAND, (WPARAM)hwnd, MAKELPARAM(0x0000, APPCOMMAND_VOLUME_UP));  
    

    二.SHDeleteKey,RegDeleteKey

    Deletes a subkey and all its descendants. The function will remove the key and all of the key's values from the registry.

    发现SH开头的函数都是那么的方便

    RegDeleteKey

    Deletes a subkey and its values.

    三.GetWindowThreadProcessId

    获取创建该窗体线程的进程

    //获得应用程序指针
    CDemoApp* pApp = (CDemoApp*)AfxGetApp();
    //获得主窗口指针
    CWnd* pMainWnd = pApp->m_pMainWnd;
    DWORD word=::GetCurrentProcessId();
    DWORD pword;
    GetWindowThreadProcessId(pMainWnd->GetSafeHwnd(),&pword);
    ASSERT(word==pword);
    

    四.SendMessageTimeout

    If the specified window was created by the calling thread, the window procedure is called immediately as a subroutine. If the specified window was created by a different thread, the system switches to that thread and calls the appropriate window procedure. Messages sent between threads are processed only when the receiving thread executes message retrieval code. The sending thread is blocked until the receiving thread processes the message. However, the sending thread will process incoming nonqueued messages while waiting for its message to be processed. To prevent this, use SendMessageTimeout with SMTO_BLOCK set.

    五.LoadImage && CopyImage

    Loads an icon, cursor, animated cursor, or bitmap.

         wndclass.hIcon=LoadImage(hInstance,MAKEINTRESOURCE (IDI_ICON),IMAGE_ICON,32,32,LR_DEFAULTCOLOR);
         //wndclass.hIcon         = LoadIcon (hInstance, MAKEINTRESOURCE (IDI_ICON)) ;
    

    可以理解为LoadImage为LoadIcon、LoadCursor、LoadBitmap的一个全局函数,但是销毁资源时候还是需要用到DestoryIcon,DestoryCursor等

    HANDLE CopyImage(      
                    HANDLE 
                hImage,
        UINT 
                uType,
        int 
                cxDesired,
        int 
                cyDesired,
        UINT 
                fuFlags
    );
    

    同理CopyImage也可以复制原有的Icon、Cursor、Bitmap等资源

    六.GetInputState

    The GetInputState function determines whether there are mouse-button or keyboard messages in the calling thread's message queue.

    七.SendInput

    The SendInput function synthesizes keystrokes, mouse motions, and button clicks.

    http://baike.baidu.com/view/3638567.htm

    模拟鼠标,键盘事件

    八.AttachThreadInput

    Windows created in different threads typically process input independently of each other. That is, they have their own input states (focus, active, capture windows, key state, queue status, and so on), and they are not synchronized with the input processing of other threads. By using the AttachThreadInput function, a thread can attach its input processing to another thread. This also allows threads to share their input states, so they can call the SetFocus function to set the keyboard focus to a window of a different thread. This also allows threads to get key-state information. These capabilities are not generally possible.

  • 相关阅读:
    自动清除firefox缓存
    2013年02月24日
    java Class类
    Learning by doing——获黄色领骑衫之感
    2017《面向对象程序设计》课程作业八
    2017《面向对象程序设计》课程作业七
    2017《面向对象程序设计》课程作业六
    2017《面向对象程序设计》课程作业五
    2017《面向对象程序设计》课程作业四
    2017《面向对象程序设计》课程作业三
  • 原文地址:https://www.cnblogs.com/Clingingboy/p/2073611.html
Copyright © 2020-2023  润新知