按钮属于window中的一个系统窗口类,窗口类名为button。所以我们可以直接通过CreateWindow创建一个按钮。可以在Window的WM_CREATE事件中创建一个按钮作为窗口的子窗体。void CreateBtn(HWND parent) { btnHwnd = CreateWindow(L"button", L"按钮控件", WS_CHILD | WS_VISIBLE | BS_
按钮属于window中的一个系统窗口类,窗口类名为button。所以我们可以直接通过CreateWindow创建一个按钮。可以在Window的WM_CREATE事件中创建一个按钮作为窗口的子窗体。void CreateBtn(HWND parent) { btnHwnd = CreateWindow(L"button", L"按钮控件", WS_CHILD | WS_VISIBLE | BS_
消息1、WM_NCCREATE:调用CreateWindow函数的时候,会首先发送WM_NCCREATE消息给窗口过程函数,即NC,也就是No-Client(标题栏、窗体边框、最大化按钮、最小化按钮、滚动条等输入No-Client区域)。如果应用程序需要处理这个消息,那么需要返回TRUE来继续往下创建窗口。如果WM_NCCREATE返回FALSE的话,窗口创建将被终止,直接返回一个NULL句柄。#
注册Window窗体类:RegisterClass//定义窗口类WNDCLASS wndClass;//窗口类样式wndClass.style = CS_HREDRAW | CS_VREDRAW;//窗口过程函数wndClass.lpfnWndProc = MyWndDef;//窗口类无扩展wndClass.cbClsExtra = 0;//窗口实例无扩展wndClass.cbWndExtra =
当我们在IIS中新建一个站点之后,默认情况下,文件上传的最大字节是30000000,也就是30M.具体的查看方法如下:1、选择站点,点击配置管理器2、在配置管理器界面选择system.webServer/security/requestFiltering ,查看maxAllowedContentLength的值,我们可以看到默认是30000000。当我们打开配置管理器的时候,IIS会在我们的站点目
相信做过IIS服务器的都应该知道,Web站点部署之后,首次加载会很慢。这个是因为Web站点首次启动需要时间。通过如果一段时间IIS没有访问的话,再次访问Web页面还是会很慢,这是因为IIS的程序池每隔一段就会回收内存,今天就来告诉大家如何配置以解决这个问题。步骤一:点击应用程序池,选中指定的应用程序之右键,然后选择高级设置。步骤二:常规-启动模式设置为 AlwaysRunning 步骤三:回收-禁
当我们点击win10系统搜索框的时候,输入名称 ,win10会帮助我们匹配到对应的应用。这里搜索框实际上就是windows系统的开始菜单。接下来我们随便找一个应用,右键,然后点击 打开文件位置,我们来看下这个EveryThing的具体位置。 我们会看到搜索框中看到的EveryThing是一个快捷方式,统一存放在系统的开始菜单目录下,windows系统的开始菜单有两个:一个是全局的开始菜单,位于
什么是Http的断点上传和下载断点上传:在向服务商上传大文件的时候,将一个大的文件拆分成多个小的文件,每个文件通过单独的Http请求上传给服务器。断点下载:在向服务器请求下载一个大的资源文件的时候,不是一次Http请求返回所有的资源文件内容。而是先通过Head请求,拿到资源文件的大小(单位:字节)。然后每次请求只请求一部分字节的数据,将请求到的数据在本地进行拼接。断点上传和下载的优点1、避免网络中
今天来介绍一个C#自带的类ZipFile,这个类主要负责压缩和解压。它有两个非常简单的方法CreateFromDirectory和ExtractToDirectory。CreateFromDirectory:负责将一个文件夹压缩成一个压缩文件。ExtractToDirectory :负责将一个压缩文件解压到指定的目录。以上两个方法并不能实时显示压缩的进度,如果压缩的文件比较小,对进度没有要求,可以
JSON.NET是C#开发中必不可少的一个序列化和反序列化工具,我个人是非常喜欢用这个工具的。它不仅仅是可以序列化和反序列化。其实对于内存深拷贝的操作,我也非常喜欢用反序列化直接在内存中copy出一个全新的对象。不过今天给大家记录一个JSON.NET反序列化成dynamic[]对象导致内存暴涨的问题。首先我们声明一个Person 对象,它是我们最终反序列化的对象。class Person{
.NET Core配置文件发生变更的时候,程序如何接受.NET Core配置文件发生变更的时候,程序如何接受.NET Core配置文件发生变更的时候,程序如何接受.NET Core配置文件发生变更的时候,程序如何接受
弃元符号是什么弃元符号在C#中只是一个下划线 _,当程序员不想关注某些变量的时候,可以使用这个符号。用法一:忽略方法的返回值当C#中某个方法有返回值,但是这个返回值对程序来说没有用处,同时不想在后面的代码中使用这个变量的时候,可以使用弃元符号放弃这变量。_ = Method1(); 用法二:忽略异步方法的返回值当程序中有异步方法的时候,一般都需要await关键字。但是如果希望程序以异步方式
整数类型传递:byte、short、int、long等整数传递对于普通的整数来说,C#和C++的内存结构并没有太大的差异,其实对于绝大部分的语言来说,整数在内存中的结构,基本都是相同的。举个例子,如果如果想把C#中的int类型传递给C++,只需要在C++的函数上定义一个int类型,在C#的定义中也使用一个int类型就可以了。下面是整数类型传递C++和C#的案例。C++定义如下:_declspec(
## P/Invoke简介 简单点说,P/Invoke就是一种可以使本地语言(C++)和高级语言(C#、Java、Python)等其他语言相互调用的技术。我们拿Windows下最熟悉的C#技术来说,通过P/Invoke技术,我们可以实现使用C#调用C++,也可以实现C++调用C#。 下面的介绍我们就都以C#为例来说明。 ## 微软为什么要发明P/Invoke这个技术。 windows系统提供了大量......
#RegOpenKeyEx 打开注册表void RegTest() { HKEY key; LSTATUS res = RegOpenKeyEx(HKEY_CURRENT_USER, L"EUDC", 0, KEY_READ, &key); if (res != ERROR_SUCCESS) { return; } //获取注册表的详细信息 FILETIME ...
lambda表达式的发展史 internal class Program{ public delegate void TestDel(int a, int b); static void Main(string[] args) { TestDel test = new TestDel(Test); test = new TestDel(delegat
猫霸,一个热爱windows c++开发和dotnet开发的骨灰程序员