zoukankan      html  css  js  c++  java
  • 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.

  • 相关阅读:
    转!!MySQL中的存储引擎讲解(InnoDB,MyISAM,Memory等各存储引擎对比)
    转!!left join on and 与 left join on where的区别
    swoole WebSocket 消息推送
    基于swoole搭建聊天室程序
    使用php+swoole对client数据实时更新(下)
    使用php+swoole对client数据实时更新(上)
    swoole实现websocket推送
    PHP只显示姓名首尾字符,隐藏中间字符并用*替换
    微信小程序 tp5上传图片
    thinkphp 调用wsdl接口实例化SoapClient抛出异常
  • 原文地址:https://www.cnblogs.com/Clingingboy/p/2073611.html
Copyright © 2011-2022 走看看