zoukankan      html  css  js  c++  java
  • C++中使用多线程

    使用的函数是CreateThread和CloseHandle相互配合。

    举个简单的例子:

    申明类变量 HANDLE hThread; DWORD ThreadID;

    在需要创建线程的地方使用:

    hThread=CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)ThreadFunc,NULL,0,NULL);

    CloseHandle(hThread);

    其中 ThreadFunc是一个回调函数,当然我试了,不管申明的是普通函数,还是类成员函数(需要使用static关键字,否则调用会报错),都不能直接操作窗体的控件,最后还的求助于消息映射SendMessage。不知道有没有方便一点的操作,大家有说是为了进程的安全机制,使得访问有点麻烦。复杂的操作,大家就使用自定义的消息映射吧。

    提供我常用的思路:

    CString str = "设置文本值";
    HWND hWnd = ::FindWindow(NULL,"thread"); //thread为窗体标题
    HWND hEdit = ::GetDlgItem( hWnd,IDC_EDIT1 );//根据控件Id
    CEdit * editTest =(CEdit*) FromHandle(hEdit); //直接通过句柄转换为相应的控件,就可以直接操作控件了,这种还是很方便实用的。
    editTest->SetWindowTextA(str);

  • 相关阅读:
    python_levenshtein 的安装和使用
    接口测试困难
    pycharm修改windows的IP
    Excel读取,修改,新建
    appium混合应用的处理
    冒泡排序
    选择排序
    插入排序
    python中两种退出方式os._exit(),sys.exit()
    二分查找
  • 原文地址:https://www.cnblogs.com/ShalenChe/p/3617272.html
Copyright © 2011-2022 走看看