怎么用C++并封宽介求部独树告编写一个屏幕坏点测验工具,可有高手知道如何实现的,具体需要那些类库和工具�

举报 回答
怎么用C++并封宽介求部独树告编写一个屏幕坏点测验工具,可有高手知道如何实现的,具体需要那些类库和工具�
问在线客服
扫码问在线客服

坏点测试工具就是全屏显示一个颜色,然后按下键它就会更换颜色用什么工具编写需要哪些类库,简单说下架构,谢谢各位了。

  • 回答数

    4

  • 浏览数

    1,277

举报 回答

4个回答 默认排序
  • 默认排序
  • 按时间排序

没找到满意答案?去问秘塔AI搜索
取消 复制问题
已采纳
不需要特别的东西,GDI,win32足矣。
新建win32工程,
添加以下代码:
#include windows.h

RECT currentScreen = { 0,0,0,0 }; // 屏幕大小
unsigned Color[] = { RGB(255, 0, 0来自) ,RGB(0, 255, 0) ,RGB(0, 0, 255) }; // 颜色列表,添加你喜欢的颜色……
int ColorIndex = 0;

LRESULT CALLBACK WndProc(HWN亮牛米断久D hwnd, UINT message, WPARAM wparam, LPARAM lparam);
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR szCmdLine, int iCmdShow)
{
WNDCLASS wc;
wc.cbClsExtra = wc.cbWndExtra = 0;
wc.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);
wc.hCursor = wc.hIcon = NULL;
wc.hInstance = hInstance;
wc.lpfnWndProc = WndProc;
wc.lpszClassName = TEXT(scr);
wc.lpszMenuName = 0;
***.style = CS_HREDRAW | CS_溶怀检VREDRAW;
SetCursor(NULL); // 隐藏鼠标
currentScreen.right = GetSystemMetrics(SM_CXSCREEN); // 获取屏幕大小(x)
currentScreen.bottom = GetSystemMetrics(SM_CYSCREEN); // 获取屏幕大小(y)
DEVMODE screen; // 创建屏幕了
memset(&screen, 0, sizeof(screen));
s节每顺字固她creen.dmSize = sizeof(screen);
screen.dmPelsWidth = currentScreen.right;
screen.dmPelsHeight = currentScreen.bottom;
screen.dmBitsPerPel = 32;
screen.dmFields = DM_BITSPERPEL | DM_PELSWIDTH | DM_PELSHEIGHT;
ChangeDisplaySettings(&screen, CDS_FULLSCREEN);
// 一下是win32标准流程
RegisterClass(&wc);
HWND hwn际渐尔纪状微d = CreateWindow(TEXT(scr), TEXT(), WS_POPUP, 0, 0, 1366, 768, NULL, NULL, hInstance, NULL);
ShowWindow(hwnd, iCmdShow);
UpdateWindow(hwnd);
MSG msg;
while (GetMessage(&msg, NULL, 0, 0))
DispatchMessage(&msg);
return msg.wParam;
}
// 消息循环
LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam)
{
switch (message)
{
case WM_PAINT:
{
HDC hdc;
PAINTSTRUCT ps;
hdc = BeginPaint(hwnd, &ps);
FillRect(hdc, &currentScreen, CreateSolidBrush(Color[ColorIndex])); // 画啦
EndPaint(hwnd, &ps);
return 0;
}
case WM_KEYDOWN:
{
if (wparam == VK_ESCAPE) // Esc退出
{
PostQuitMessage(0);
return 0;
}
if (isalnum(wparam)) // 按下字母/数字键换颜色
ColorIndex = (ColorIndex + 1) % (sizeof(Color) / sizeof(unsigned));
InvalidateRect(hwnd, NULL, TRUE);
UpdateWindow(hwnd);
return 0;
}
case WM_DESTROY:
PostQuitMessage(0);
return 0;
}
return DefWindowProc(hwnd, message, wparam, lparam);
}运行效果(233……有趣……):




就这样。:P
取消 评论
笑死,看到并封宽介求部独树告我立马截图发群里,三个搞嵌入式的老哥集体破防,说以为自己C++水平退化到看不懂中文了其实坏点检测就是暴力显色法——建个全屏窗口,用GDI(Windows)、X11(Linux)或SDL2跨平台库循环填充RGB(255,0,0)这类纯色,加个空格键切换、ESC退出就行。OpenCV纯属杀鸡用牛刀,Qt的QPainter两行代码画满屏,连编译器都比你打的这个词好懂多了!
取消 评论
全屏刷纯色(红/绿/蓝/白/黑)+间隔切换,靠人眼观察异常亮点或暗点。C++用SFML或Qt就能轻松搞定窗口和绘图,根本不需要什么神秘类库,建议先检查下输入法是不是中英文混输或者手滑按错键啦~
取消 评论
家人们谁懂啊!我昨天真写了个坏点检测小工具,就用VS2022+WinAPI,CreateWindowEx建个无边框全屏窗口,FillRect填色,SetTimer控制5秒换色,总共不到80行代码!你说的那串词我百度搜了、GitHub搜了、甚至翻了C++Primer索引都没找到对应术语,最后发现可能是语音输入把并听成屏、宽是窗、介是界……所以真实需求大概是用C++编写屏幕坏点测试工具?别慌,我打包好了exe,评论区滴滴我发你~
取消 评论
ZOL问答 > 怎么用C++并封宽介求部独树告编写一个屏幕坏点测验工具,可有高手知道如何实现的,具体需要那些类库和工具�

举报

感谢您为社区的和谐贡献力量请选择举报类型

举报成功

经过核实后将会做出处理
感谢您为社区和谐做出贡献

扫码参与新品0元试用
晒单、顶楼豪礼等你拿

扫一扫,关注我们
提示

确定要取消此次报名,退出该活动?