在编写国际化的应用程序里,经常要使用不同语言的字符串。比如中文菜单里叫做“文件”,而在英语里叫做“File”。开发这种软件的功能是一样的,只是界面上显示的文字不一样而已。为了方便这种软件的开发,在Windows里经常使用的方法就是替换掉显示的字符串,比如指定在中文里就显示“文件”,在英语里就显示“F ...
在开发软件的过程里,经常需要把数据保存到当前执行文件路径下面,或者读取当前执行文件路径下的一些配置信息。这时就需要从当前模块里获取所在的目录路径,以便进行固定的位置操作文件。要解决这个需求,就需要调用API函数GetModuleFileName来获取模块所在的路径。 函数GetModuleFileN ...
从上面这段程序就可以看到,_tWinMain是应用程序的入口函数,这里是使用它的宏,定义在tchar.h头文件里,为什么要这样作宏定义的呢?由于Windows的应用程序要适应UNICODE和以前单字符的应用程序,由于Windows这两个API的定义是不一样的,如下: UNICODE的定义: #def ...
多个线程操作相同的数据时,一般是需要按顺序访问的,否则会引导数据错乱,无法控制数据,变成随机变量。为解决这个问题,就需要引入互斥变量,让每个线程都按顺序地访问变量。这样就需要使用EnterCriticalSection和LeaveCriticalSection函数。 函数EnterCriticalS ...
对话框是比较常用的窗口,比如当你想让用户输入一些参数时就可以使用对话框。或者提示一些警告的信息,都是可以使用对话框的。比如当你拷贝文件时,Windows就会提示一个拷贝文件的进度对话框。对话框的使用范围比较广,并且它在设计时就可以看到运行的结果模样,这样方便设计。但对话框又分为两类,一种对话框运行后 ...
当大家打开Windows任务管理器时,就会看到每个进程使用内存的分布情况,往往会发现有一些进程占用大量的内存,在这种情况也是一种异常情况,可以作为是否恶意软件的标志之一。下面就来使用API函数GetProcessMemoryInfo来获取内存的使用情况。 函数GetProcessMemoryInfo ...
在Windows系统里,使用完成端口是高性能的方法之一,比如把完成端口使用到线程池和网络服务器里。现在就通过线程池的方法来介绍怎么样使用完成端口,高性能的服务器以后再仔细地介绍怎么样构造它。其实完成端口是一个队列,所有的线程都在等消息出现,如果队列里有消息,就每个线程去获取一个消息执行它。先用函数C ...
https://docs.microsoft.com/en-us/aspnet/aspnet/overview/owin-and-katana/owin-oauth-20-authorization-server The OAuth 2.0 framework enables a third-par ...
在软件开发里,大家一直对着这个问题是执着的,那是“复用”。总想自己写出来的代码,可以适应性很强,到那里都可以落地生根。因此,面向对象的语言就层出不穷,每个都坚称可以最大地复用代码。在面向对象里,C++是非常强大的。下面就来用C++把上面介绍的程序封装起来,这样可以复用,或者说条理更加清晰。 #001 ...
为了显示提示信息给用户,Windows是提供了一个非常方便的API函数MessageBox给用户使用,使用这个API函数可以显示简单的文字信息出来,提醒或提示用户进行下一步操作。 函数声明如下: WINUSERAPI int WINAPI MessageBoxA( __in_opt HWND hWn ...
a.html b.html 空页面 c.html 服务端 a.js b.js ...
经常碰到这样的需求,比如你需要保存一个文件到一个目录里去,这个目录或许是用户指定的目录,那么你就需要确保这个目录是否有效的,这样就需要去测试这个目录是否允许写文件?这个目录是否存在?这个目录是否可写的?或者这个目录是否网络上的目录?要完成这个任务,就得使用函数GetDriveType来完成。GetD ...
在信息爆炸的年代里,把各种信息分类已经是一种非常必要的功能,比如把股票行情数据保存到硬盘里,就需要分开几个目录保存。比如你写LOG到硬盘时,也需要分成几个目录来保存,这样让维护人员很好地找到出错的信息,或者有用的信息。像我在开发银行的信用卡系统时,就需要把所有通过网络传送的数据全部生成文本文件保存到 ...
有一天,用户突然对我说,你这个窗口能不能放到最顶端,这样操作和打开文件就很不方便了。这个功能就需要改变窗口的属性了。比如大家使用QQ时,就有一个功能,设置QQ的窗口在最顶端,不管你选择了什么窗口,QQ的界面永远都在最前面。又像FlashGet的状态查看窗口,一直保持在窗口的最前端,让你看到当前下载的 ...
15年11’乞丐版air装win屏幕花屏,很郁闷,先后找了网上很多方法,最终总结出了一个比较折中的方法,不玩游戏不使用大型3D的可以参考。1 花屏现象2 解决方法2.1 禁用驱动2.2 使用Microsoft基本显示适配器2.2.1 禁用自动安装驱动2.2.2 禁用windows更新3 总结1 花屏... ...
为了可以创建自己的窗口,就需要向Windows操作系统注册窗口类型,以便后面创建窗口时调用。当然,如果使用Windows预先注册的窗口是不需要注册的。 函数声明如下: #if(WINVER >= 0x0400) WINUSERAPI ATOM WINAPI RegisterClassExA( __i ...