zoukankan      html  css  js  c++  java
  • 编程学习笔记 随时更新

    自己把在学习中得到的经验随时写下来。

    ---------------------------------

    Cstring转DWORD

    DWORD ID=_tcstol(iter->second.csStallId,0,16);

    ----------------------------------

    VC中表示基地加偏移数据

    int * p;
        p = (int *)0x001897D4;
        p=(int *)(*p+0x8);
        p=(int *)(*p+0x4);

    -------------------------------------

    线程过程函数中设置热键

    DWORD WINAPI ThreadProc(LPVOID lpParameter)
    {
        
        hwndDLG=CreateDialog(hinst,MAKEINTRESOURCE(IDD_DIALOG_WG),NULL,(DLGPROC)DlgProc);
        RegisterHotKey(0,100,0,VK_HOME);
        MSG msg;
        while (GetMessage(&msg,0,0,0))
        {
            switch(msg.message)
            {
                case WM_HOTKEY:
                    ShowWindow(hwndDLG,SW_SHOW);
                    break;
            }
            TranslateMessage(&msg);
            DispatchMessage(&msg);
        }
        UnregisterHotKey(0,100);
        return TRUE;
    }

    ---------------------------------

    DLL注入后,失去焦点,用这个函数

    SwitchToThisWindow(Hwnd,TRUE);

    ------------------------------------

    计算两坐标的距离

    int CCtrlCon::com_sam(float x1,float y1,float x2,float y2)
    {
    
        float x=fabs(x1-x2);
        float y=fabs(y1-y2);
        float z=sqrt(pow(x, 2) + pow(y, 2));
        return (int)z;
    }

    ----------------------------------

    字符转换的一点小问题

    case WM_LBUTTONDOWN:
            int x = LOWORD(lParam);
            int y = HIWORD(lParam);
            WCHAR s[200];
            swprintf_s(s, _T("x=%d,y=%d"), x, y);
            MessageBox(NULL, s, _T("提示"), NULL);
            return TRUE;

     --------------------------------------

    用户自定义消息

    #define UM_TEST WM_USER+1
    BEGIN_MESSAGE_MAP(CMFCApplication1Dlg, CDialogEx)
        ON_WM_SYSCOMMAND()
        ON_WM_PAINT()
        ON_MESSAGE(UM_TEST, &CMFCApplication1Dlg::OnTest)//添加消息映射
        ON_WM_QUERYDRAGICON()
        ON_BN_CLICKED(IDC_BUTTON1, &CMFCApplication1Dlg::OnBnClickedButton1)
    END_MESSAGE_MAP()
    LRESULT CMFCApplication1Dlg::OnTest(WPARAM w, LPARAM l)
    {
        AfxMessageBox(_T("非系统消息"));
        return 100;
    }

    ------------------------------------------------

    记事本里添加控件

    HWND hWnd = ::FindWindow(NULL, _T("无标题 - 记事本"));
        CWnd *p = CWnd::FromHandle(hWnd);
        m_wnd.CreateEx(WS_EX_CLIENTEDGE,L"Button", NULL, WS_CHILD | WS_VISIBLE|LVS_REPORT, CRect(150, 50, 300,100), p, 8921);
        p->SetDlgItemText(8921, L"按钮");
    }

     ---------------------------------------

    CHECKBOX选中

    if (BST_CHECKED == IsDlgButtonChecked(IDC_HUAN))//#define BST_CHECKED        0x0001
        {
            AfxMessageBox(_T("选中了"));
        }
        else
        {
            AfxMessageBox(_T("没选中"));
        }

     ----------------------------------------------------------------------------

     调用DLL模块中的函数:

    typedef int(*pFun)(int, int);//定义函数指针
        pFun Myfun;//定义函数指针变量
        HINSTANCE hModule = LoadLibrary(L"MyDll.dll");//加载DLL到内存中, 取得DLL模块的首地址,
        Myfun = (pFun)GetProcAddress(hModule, "Fun");//取得模块中Fun函数的地址,赋于函数指针
        int a =  Myfun(3, 5);//用函数指针直接以后可以调用DLL模块中的函数了

    -------------------------------------------------------------------------------

  • 相关阅读:
    2015.4.16-C#中ref和out的区别
    2015.4.10-SQL 高级查询(二)
    2015.4.10-C#入门基础(三)
    2015.4.8-C#入门基础(二)
    2015.4.7-C#入门基础(一)
    2015.4.2-SQL 简单语句(一)
    对GridView的某一列行进行操作。。
    jquery获取GridView中RadioButton选中的数据
    Ajax获取前台的数据
    前台验证
  • 原文地址:https://www.cnblogs.com/wumac/p/4111654.html
Copyright © 2011-2022 走看看