VC++获取屏幕大小第一篇 像素大小GetSystemMetrics

VC++实战:屏幕信息枚举与全局鼠标钩子开发指南 在Windows桌面应用开发中,系统信息获取与全局事件监听是两项基础且关键的技术。其核心原理在于通过操作系统提供的原生API,如GetSystemMetrics、EnumDisplayMonitors等,精确枚举多显示器环境下的屏幕尺寸、分辨率及DPI等参数;同时利用SetWindowsHookEx等钩子机制,实现对鼠标移动、点击等全局输入事件的底层捕获。掌握这些技术对于开发需要精准屏幕适配的自动化测试工具、高精度屏幕取色器、以及全局快捷键管理等应用具有重要价值。本文以VC++与原生Win32 API为例, 阅读详情

    《VC++获取屏幕大小第一篇 像素大小 GetSystemMetrics》和《VC++获取屏幕大小第二篇物理大小GetDeviceCaps 上》和《VC++获取屏幕大小第三篇物理大小GetDeviceCaps下》这三篇文章主要讲解在VC++下获取屏幕大小。这个功能非常简单,也比较实用。

 

    要获取屏幕的像素大小要使用GetSystemMetrics函数。下面就来看看这个函数的用法:

函数功能:用于得到被定义的系统数据或者系统配置信息

函数原型:

// By MoreWindows( http://blog.youkuaiyun.com/MoreWindows )  

int WINAPIGetSystemMetrics(

       int nIndex

);

参数说明:

这个函数只有一个参数,不过这个参数可以取很多值。在WINUSER.H中有:

/*

 * GetSystemMetrics() codes

 *// MoreWindows( http://blog.youkuaiyun.com/MoreWindows )  

 */

#define SM_CXSCREEN             0

#define SM_CYSCREEN             1

#define SM_CXVSCROLL            2

#define SM_CYHSCROLL            3

#define SM_CYCAPTION            4

#define SM_CXBORDER             5

#define SM_CYBORDER             6

#define SM_CXDLGFRAME           7

#define SM_CYDLGFRAME           8

#define SM_CYVTHUMB             9

#define SM_CXHTHUMB             10

#define SM_CXICON               11

#define SM_CYICON               12

#define SM_CXCURSOR             13

#define SM_CYCURSOR             14

#define SM_CYMENU               15

#define SM_CXFULLSCREEN         16

#define SM_CYFULLSCREEN         17

#define SM_CYKANJIWINDOW        18

#define SM_MOUSEPRESENT         19

#define SM_CYVSCROLL            20

#define SM_CXHSCROLL            21

#define SM_DEBUG                22

#define SM_SWAPBUTTON           23

#define SM_RESERVED1            24

#define SM_RESERVED2            25

#define SM_RESERVED3            26

#define SM_RESERVED4            27

#define SM_CXMIN                28

#define SM_CYMIN                29

#define SM_CXSIZE               30

#define SM_CYSIZE               31

#define SM_CXFRAME              32

#define SM_CYFRAME              33

#define SM_CXMINTRACK           34

#define SM_CYMINTRACK           35

#define SM_CXDOUBLECLK          36

#define SM_CYDOUBLECLK          37

#define SM_CXICONSPACING        38

#define SM_CYICONSPACING        39

#define SM_MENUDROPALIGNMENT    40

#define SM_PENWINDOWS           41

#define SM_DBCSENABLED          42

#define SM_CMOUSEBUTTONS        43

 

#if(WINVER >= 0x0400)

#define SM_CXFIXEDFRAME           SM_CXDLGFRAME  /* ;win40 name change */

#define SM_CYFIXEDFRAME           SM_CYDLGFRAME  /* ;win40 name change */

#define SM_CXSIZEFRAME            SM_CXFRAME     /* ;win40 name change */

#define SM_CYSIZEFRAME            SM_CYFRAME     /* ;win40 name change */

 

#define SM_SECURE               44

#define SM_CXEDGE               45

#define SM_CYEDGE               46

#define SM_CXMINSPACING         47

#define SM_CYMINSPACING         48

#define SM_CXSMICON             49

#define SM_CYSMICON             50

#define SM_CYSMCAPTION          51

#define SM_CXSMSIZE             52

#define SM_CYSMSIZE             53

#define SM_CXMENUSIZE           54

#define SM_CYMENUSIZE           55

#define SM_ARRANGE              56

#define SM_CXMINIMIZED          57

#define SM_CYMINIMIZED          58

#define SM_CXMAXTRACK           59

#define SM_CYMAXTRACK           60

#define SM_CXMAXIMIZED          61

#define SM_CYMAXIMIZED          62

#define SM_NETWORK              63

#define SM_CLEANBOOT            67

#define SM_CXDRAG               68

#define SM_CYDRAG               69

#endif /* WINVER >= 0x0400 */

#define SM_SHOWSOUNDS           70

#if(WINVER >= 0x0400)

#define SM_CXMENUCHECK          71   /* Use instead of GetMenuCheckMarkDimensions()! */

#define SM_CYMENUCHECK          72

#define SM_SLOWMACHINE          73

#define SM_MIDEASTENABLED       74

#endif /* WINVER >= 0x0400 */

#if (WINVER >= 0x0500) || (_WIN32_WINNT >= 0x0400)

#define SM_MOUSEWHEELPRESENT    75

#endif

#if(WINVER >= 0x0500)

#define SM_XVIRTUALSCREEN       76

#define SM_YVIRTUALSCREEN       77

#define SM_CXVIRTUALSCREEN      78

#define SM_CYVIRTUALSCREEN      79

#define SM_CMONITORS            80

#define SM_SAMEDISPLAYFORMAT    81

#endif /* WINVER >= 0x0500 */

 

#if (WINVER < 0x0500) && (!defined(_WIN32_WINNT) || (_WIN32_WINNT < 0x0400))

#define SM_CMETRICS             76

#else

#define SM_CMETRICS             83

#endif

//http://blog.youkuaiyun.com/morewindows/article/details/8502583

 

呵呵,够多吧,不用记,要用的时候查下MSDN就好了。由MSDN可以知道传入SM_CXSCREEN和SM_CYSCREEN就得到屏幕的宽和高。详见代码:

//   获取屏幕大小 像素大小
// By MoreWindows( http://blog.youkuaiyun.com/MoreWindows )
#include <stdio.h>
#include <windows.h>
int main()
{
	printf("    获取屏幕大小 像素大小\n");        
	printf(" -- By MoreWindows( http://blog.youkuaiyun.com/MoreWindows ) --\n\n");   

	int nScreenWidth, nScreenHeight;
	nScreenWidth = GetSystemMetrics(SM_CXSCREEN);
	nScreenHeight = GetSystemMetrics(SM_CYSCREEN);

	printf("屏幕大小(像素) 宽:%d 高:%d\n", nScreenWidth, nScreenHeight);
	return 0;
}

运行结果如下:

 

后面二篇《VC++获取屏幕大小第二篇物理大小GetDeviceCaps上》和《VC++获取屏幕大小第三篇物理大小GetDeviceCaps下》将介绍使用GetDeviceCaps函数来获取屏幕的物理大小,欢迎继续浏览。

地址1:http://blog.youkuaiyun.com/morewindows/article/details/8502592

地址2:http://blog.youkuaiyun.com/morewindows/article/details/8610891

 

转载请标明出处,原文地址:http://blog.youkuaiyun.com/morewindows/article/details/8502583

欢迎关注微博:http://weibo.com/MoreWindows


 

基于VC++与MFC的远程控制软件核心架构与实现详解 客户端/服务器(C/S)架构是网络应用程序的经典模型,其核心原理在于定义明确的角色分工与通信协议,以实现可靠的数据交换与任务协同。在Windows平台开发中,这种架构的技术价值尤为突出,它要求开发者深入理解系统底层API、高效网络通信以及资源管理。通过Socket编程实现稳定连接,并运用多线程或异步I/O模型处理并发,是构建响应迅速、资源可控的应用基础。这些技术广泛应用于远程桌面、文件传输、系统管理等需要实时交互与远程操控的场景。本文聚焦于一个具体的远程控制软件实现,深入剖析了其采用**WSAAsyncSe 阅读详情

相关推荐

VC++实现低延迟远程屏幕传输:Win32原生抓屏与RLE+Huffman压缩

远程屏幕传输本质上是实时图像流的采集、编码、网络投递与同步渲染过程,其核心挑战在于低延迟、帧序一致性与系统资源可控性。基于Win32 GDI的原生抓屏(如BitBlt/PrintWindow)相比高层框架具备更小的API开销和确定性时序,而轻量级无损压缩(如RLE与Huffman混合编码)在屏幕内容高重复性场景下显著优于JPEG等有损方案。该技术路径广泛应用于工业HMI远程调试、教育机房集中管控及嵌入式远程协议验证等对稳定性与零依赖要求严苛的工程场景。本文详解VC++环境下Client/Server双端协同

weixin_29189363的博客 175

获得屏幕大小

API: 要取得屏幕大小,可以用下面几个函数: int cx =GetSystemMetrics(SM_CXFULLSCREEN);int cy =GetSystemMetrics(SM_CYFULLSCREEN); 通过上边两个函数获取的是显示屏幕的大小,但不包括任务栏等区域。 int cx= GetSystemMet...

403

VC++远程监控源码实战:GDI截屏与TCP传输核心解析

远程控制技术在企业运维、远程协助和安防监控中应用广泛,其核心链路是屏幕捕获、图像编码与网络传输。屏幕捕获通常基于GDI接口,通过BitBlt和GetDIBits将桌面像素转换为原始数据;图像编码则常借助GDI+将RGB数据压缩为JPEG流以降低带宽消耗;传输层基于TCP协议自定义帧格式,确保数据有序到达。在VC++环境下,MFC工程可同时实现被控端与主控端,但实际开发中常遇到粘包、半包、黑屏、内存泄漏等工程问题。本文以一份典型VC++远程监控源码为切入点,拆解模块划分、截屏编码选型、通信协议设计,并给出编译

weixin_29192141的博客 225

C C++最全GetSystemMetrics详解_wpf getsystemmetrics,2024年最新2024最新腾讯C C++面试分享

SM_CXFRAME,SM_CYFRAME 等同于SM_CXSIZEFRAME and SM_CYSIZEFRAME。SM_CYBORDER 返回以像素值为单位的Windows窗口边框的宽度和高度,如果Windows的为3D形态,则。SM_CYDLGFRAME 等同与SM_CXFIXEDFRAME and SM_CYFIXEDFRAME。SM_CXICON,SM_CYICON 系统缺省的图标的高度和宽度(一般为32*32)SM_CXEDGE,SM_CYEDGE 以像素值为单位的3D边框的宽度和高度。

2401_84978645的博客 1020

基于vc++改变屏幕分辨率

基于vc++改变屏幕分辨率,附带源代码,欢迎交流.

【蓝桥杯——单片机学习笔记】十三.点阵(STC15F2K60S2)

一.点阵内部图 点阵的有两种,分为共阴和共阳(与数码管类似,后续代码根据共阳点阵编写)。点阵的控制主要是每行和每列电平的控制。如图,以共阳为例:若要使左上角的灯亮,则第一行输出高电平(其他行均为低电平),第一列输出低电平(其他列均为高电平)。 二.原理图 与数码管共用接口,所以数码管和点阵的显示只能选一个使用! 原理图中点阵的接口R5即代表第5行(Row),C8即代表第8列(Column)。通...

默默无闻小菜鸡的博客 2011

vc获得屏幕大小

DoubleSnake vc获得屏幕大小  //获取的是显示屏幕的大小,及不包括任务栏等区域  int with   = GetSystemMetrics(SM_CXFULLSCREEN);  int height = GetSystemMetrics(SM_CYFULLSCREEN);  //两个函数获取的是真正屏幕的大小  int with  =  GetS

luckyboyPB的专栏 653

告别‘小爱同学’:用ESP32-S3和esp-sr SDK,从零打造一个离线语音助手(含完整代码)

本文详细介绍了如何利用ESP32-S3芯片和esp-sr SDK从零构建一个离线语音助手,涵盖硬件选型、声学设计、SDK配置及低功耗优化等关键步骤。通过实战案例和完整代码,帮助开发者实现自定义唤醒词和命令词,打造低成本、高隐私的本地语音控制解决方案。

weixin_29041195的博客 371

C++获取屏幕分辨率(屏幕窗口大小),屏幕显示比例(DPI)几种方法

获取屏幕的分辨率的几种方法 #include &lt;Windows.h&gt; #include &lt;iostream&gt; int main(void) { HWND hd = GetDesktopWindow(); // 方法一 RECT rect; // 只获得窗口客户区的大小 GetClientRect(hd, &amp;rect); int client_wid...

yp18792574062的博客 1万+

智能车‘大脑’的诞生:揭秘电磁循迹代码背后的控制论与系统思维

本文深入探讨智能车电磁循迹系统的核心架构与控制原理,揭示了其作为精密闭环系统如何通过模块化设计、信号处理、PID控制算法及电机驱动实现自主导航。重点分析了电磁信号采集与处理流程框架,为开发者提供从理论到实践的全面指南。

arduino9maker的博客 531

头歌操作系统 课后作业4.3:段页式内存管理 答案 无解析

头歌操作系统 课后作业4.3:段页式内存管理 答案 无解析

kercii的博客 7352

GetSystemMetrics()函数的用法

可以用GetSystemMetrics函数可以获取系统分辨率,但这只是其功能之一,GetSystemMetrics函数只有一个参数,称之为「索引」,这个索引有75个标识符,通过设置不同的标识符就可以获取系统分辨率、窗体显示区域的宽度和高度、滚动条的宽度和高度。为了使使GetSystemMetrics的功能,我们以获取系统分辨率为例,并将其中的两个值用TextOut输出到窗体中。第一步:用GetSystemMetrics获取屏幕的宽度和高度int x, y; x = GetSystemMetrics(SM_C

YanJinrong的专栏 1037

[QMT量化交易小白入门]-九十五、多因子选股和趋势择时股票量化交易策略,年化收益率40.61%

本策略采用“双层过滤”机制:第一层基于多维度财务指标进行股票池筛选(多因子选股),第二层运用均线系统和MACD指标实施动态择时(趋势跟踪)。这种设计既保证了组合的质量下限,又能灵活应对市场波动。因子配置科学性:涵盖估值、成长、盈利、动量四大类因子风险控制精细化:设置动态止损与仓位管理机制信号验证严格性:多重条件交叉验证提升胜率。

木头大左的博客 799

C++检测多显示器并把窗口显示在不同显示器上(完整源码)

C++检测多显示器并把窗口显示在不同显示器上

编程之道在明明德在亲民在止于至善 2938

大疆 2021 嵌入式笔试题

在深圳做嵌入式,大疆公司绝对是 Top 级别的,大疆的技术栈也很深。

qq_38769551的博客 2496

基于深度学习的涂胶缺陷类型检测:数据集处理与YOLOv8模型实现

本文提出了一种基于YOLOv8深度学习的涂胶缺陷检测系统,针对断胶、溢胶、缺胶、气泡及胶条宽度异常等常见缺陷类型,实现了从数据采集到模型部署的完整解决方案。系统采用工业相机采集涂胶图像,通过多形态数据增强策略解决样本稀缺问题,利用YOLOv8框架实现高效检测。相比传统人工目检和规则式机器视觉方法,该系统在检测精度(mAP达97.5%)和实时性(单图检测耗时0.038秒)方面表现优异,可满足智能制造场景下的涂胶质量检测需求。

huanghm88的专栏 271

信息函数GetSystemMetrics函数参数nIndex的定义

  GetSystemMetrics函数参数nIndex的定义 SM_ARRANGE  返回是否预备最小化.SM_CLEANBOOT 返回系统启动方式:   0 正常启动   1 安全模式启动   2 网络安全模式启动SM_CMOUSEBUTTONS 返回值为系统支持的鼠标键数,返回0,则系统中没有安装鼠标。SM_CXBORDER,SM_CYBORDER 返回以相素值为单位的Windows窗口

prodicom的专栏 714

AgentScope 实战训练营-构建元规划智能体(Meta Planner Agent)—— 从 0 到 1 完整实现

本文介绍了基于AgentScope框架开发的元规划智能体(Meta Planner Agent)系统。该系统通过任务拆解和子代理编排机制,实现复杂任务的自动化处理。核心架构分为用户层、规划器层和子代理层,其中规划器作为"项目经理"负责任务分解、创建子代理并协调执行流程。关键技术包括AgentScope多智能体框架、DashScope大语言模型、PlanNotebook计划管理工具等。

program哲学 359

VC++获取屏幕大小第一篇 像素大小 GetSystemMetrics

《VC++获取屏幕大小第一篇 像素大小 GetSystemMetrics》和《VC++获取屏幕大小第二篇物理大小GetDeviceCaps 上》和《VC++获取屏幕大小第三篇物理大小GetDeviceCaps下》这三篇文章主要讲解在VC++下获取屏幕大小。这个功能非常简单,也比较实用。       要获取屏幕的像素大小要使用GetSystemMetrics函数。下面就来看看这个函数的用

小米的修行之路 1530

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

获取屏幕的大小

《VC++获取屏幕大小第一篇 像素大小 GetSystemMetrics》和《VC++获取屏幕大小第二篇物理大小GetDeviceCaps 上》和《VC++获取屏幕大小第三篇物理大小GetDeviceCaps下》这三篇文章主要讲解在VC++下获取屏幕大小。这个功能非常简单,也比较实用。       要获取屏幕的像素大小要使用GetSystemMetrics函数。下面就来看看这个函数的用

heary29的专栏 427

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

基于VC++与MFC的Windows屏幕保护程序开发实战指南

屏幕保护程序是Windows桌面应用开发中一个经典且综合性的实战项目,它不仅是防止CRT屏幕烧屏的遗留功能,更是深入理解Windows系统编程原理的绝佳载体。其核心原理在于,屏幕保护程序本质上是一个接受特定命令行参数(如`/s`、`/c`、`/p`)的可执行文件,通过解析这些参数,程序能切换至全屏运行、配置对话框或预览模式。从技术价值看,开发一个健壮的屏幕保护程序,要求开发者必须掌握Windows消息循环、GDI/GDI+图形绘制、定时器与多线程协同、系统电源与会话状态管理,以及与Windows Shell

weixin_33800463的博客 364

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

用getDC(0)获得屏幕DC后,如何释放. 得到电脑屏幕的宽和高

用getDC(0)获得屏幕DC后,如何释放. 2007-02-10 15:51starwsk | 分类:其他编程语言 | 浏览6332次 对不起,忘了说了.我学的是VB, 屏幕!!,不是其它场景 我有更好的答案 提问者采纳 检举| 2007-02-13 08:47 After painting with a common device context

autumn20080101的专栏 3284

适应不同分辨率的对话框界面

参考:http://bbs.youkuaiyun.com/topics/370126703 你可以用全屏显示,也可以下面这样 int x = GetSystemMetrics(SM_CXSCREEN);   //获取屏幕X像素 int y = GetSystemMetrics(SM_CYSCREEN);   //获取屏幕Y像素 //然后在通过MoveWindow来固定位置和大小 MoveWi

2084
上一篇: 【OpenCV入门指南】第十三篇 人脸检测
下一篇: VC++获取屏幕大小第二篇 物理大小GetDeviceCaps 上
MoreWindows
MoreWindows 《白话经典算法》、《秒杀多线程》作者 《白话经典算法》、《秒杀多线程》作者 领域专家: 操作系统技术领域 领域专家: 操作系统技术领域
博客等级 码龄15年 2万+粉丝 157原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值