Windows 8.1 DPI 改进
admin | 取词 | 2014-03-17
8.1 修改了一下几点:
增加了 Per-Monitor DPI Virtualization,允许不同显示器拥有不同的比例;引入 WM_DPICHANGED 消息通知软件「DPI 变化」。
可以根据显示器的信息自动识别出各显示器的密度,不用手工调了。
改进了跨窗口操作时座标变换,现在 LogicalToPhysicalPoint 以及 PhysicalToLogicalPoint 没必要添加了(这俩 API 也失效了,换成了 Logic... [阅读全文]
删除占用文件
admin | win32 | 2014-03-15
C++
BOOL DeleteLockedFile(DWORD dwProcessID, HANDLE hFile)
{
TCHAR szTargetName[MAX_PATH] = { 0 };
HANDLE hTargeFile = INVALID_HANDLE_VALUE;
HANDLE hProcess = NULL;
BOOL bResult = FALSE;
do
{
hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, dwProcessID);
... [阅读全文]
AfxOleInit()和::CoInitialize(NULL)区别
admin | Windows api | 2014-03-15
OLE是建立在COM之上的技术,层次比COM要高。AfxOleInit()调用的是OleInitialize(),而OleInitialize()除了调用CoInitializeEx()来初始化COM库外,还进行一些其它的操作,这些操作对OLE应用来说是必须的,这些OLE应用包括:
(1)Clipboard;
(2)Drag and drop;
(3)Object linking and embedding(现在的OLE,已不再仅仅是Object linking a... [阅读全文]
兼谈如何写 DPI-Aware 的 windows 程序
admin | 取词 | 2014-03-13
我在知乎上这篇关于 AlwaysMouseWheel 的文章说过,AWM 不支持高 dpi,使用有 bug。为什么我会发现呢?因为我有一个笔记本换上了 1080p 的屏幕,然后把 dpi 改成了 1.25x。Windows 从 vista 开始引入了 DPI 虚拟化技术,让 dwm 有权力直接放大窗口,而为了确保兼容性,许多 API——包括 GetCursorPos 和WindowFromPoint——都做了一些处理。
具体表现就是,... [阅读全文]
关于Windows高DPI的一些简单总结
admin | 取词 | 2014-03-11
我们知道,关于高DPI的支持, Windows XP时代就开始有了, 那时关于高DPI的支持比较简单, 但是从Vista/Win7 到现在Win8 /Win8.1, Windows关于高DPI的支持已经发生了很大的变化, 下面我们依次简单介绍下。
如果说以前XP时代我们还有理由不关注高DPI, 那么在移动设备时代和大显示器的高分辨率时代, 我们就没有理由不关注高DPI了, 比如Surface Pro... [阅读全文]
解决使用CHtmlView后出现的COleException异常
admin | win32 | 2014-03-05
程序中在使用CHtmlView类来实现浏览器功能时,在调整窗口大小时会窗口输出异常警告,例如我的出现的警告如下: Warning: constructing COleException, scode = DISP_E_MEMBERNOTFOUND ($80020003). htmltest.exe 中的 0x7c80bef7 处最可能的异常: Microsoft C++ 异常: 内存位置 0x0012de68 处的 COleException。 Warning: constructing COleException, sco... [阅读全文]
vista下开机启动 简单绕过UAC的方法 .转载
admin | Windows api | 2014-03-04
背景
vista下,如果不开启UAC,那就没有我下面要说的问题了,呵呵。下面说的都是在vista开启UAC的前提下说的,win7也适用。
在vista下,系统开启了UAC,如果你的软件通过manifest进行了提权(提升到管理员权限),那么exe上面会打上一个“小盾”的图标,这种程序启动的时候,会激活UAC保护机制,弹一个全局对话框出来询问用户是否允许启动,这就是微软标... [阅读全文]
windows7中各个dll文件作用和用途
admin | Windows api | 2014-03-03
aaclient.dll 何时何地都可以访问客户端
accessibilitycpl.dll 轻松访问控制面板
acledit.dll 访问控制列表编辑器
aclui.dll 安全描述符编辑器
acppage.dll ... [阅读全文]
判断 本机安装 office 版本
admin | 取词 | 2014-01-24
C++
#include "msword.h"
HRESULT AutoWrap(int autoType, VARIANT *pvResult, IDispatch *pDisp,
LPOLESTR ptName, int cArgs...)
{
// Begin variable-argument list
va_list marker;
va_start(marker, cArgs);
if (!pDisp)
{
_putws(L"NULL IDispatch passed to AutoWrap()");
_exit(0);
r... [阅读全文]
如何识别高级的验证码
admin | 取词 | 2014-01-22
一、验证码的基本知识
1. 验证码的主要目的是强制人机交互来抵御机器自动化攻击的。
2. 大部分的验证码设计者并不得要领,不了解图像处理,机器视觉,模式识别,人工智能的基本概念。
3. 利用验证码,可以发财,当然要犯罪:比如招商银行密码只有6位,验证码形同虚设,计算机很快就能破解一个有钱的账户,很多帐户是可以网上交易的。
4. 也有设计的比较... [阅读全文]