通过进程ID获得该进程主窗口的句柄
admin | Windows api | 2014-03-18
一个进程可以拥有很多主窗口,也可以不拥有主窗口,所以这样的函数是不存在的,所幸的是,相反的函数是有的。所以我们可以调用EnumWindows来判断所有的窗口是否属于这个进程。
typedef struct tagWNDINFO
…{
DWORD dwProcessId;
HWND hWnd;
} WNDINFO, *LPWNDINFO;
BOOL CALLBACK YourEnumProc(HWND hWnd,LPARAM lParam)
…{
DWORD dwProce... [阅读全文]
Windows 8.1 DPI 改进
admin | 取词 | 2014-03-17
8.1 修改了一下几点:
增加了 Per-Monitor DPI Virtualization,允许不同显示器拥有不同的比例;引入 WM_DPICHANGED 消息通知软件「DPI 变化」。
可以根据显示器的信息自动识别出各显示器的密度,不用手工调了。
改进了跨窗口操作时座标变换,现在 LogicalToPhysicalPoint 以及 PhysicalToLogicalPoint 没必要添加了(这俩 API 也失效了,换成了 Logic... [阅读全文]
运行时库 静默安装
admin | 开发问题 | 2014-03-15
C++
Unattended install
This option will run setup and display a progress dialog but requires no user interaction.
vcredist_x86.exe / q: a
Unattended install with no cancel button
This option is the same as the previous option, except that the user will not have the option to press cancel du... [阅读全文]
删除占用文件
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... [阅读全文]
机械键盘和薄膜式键盘的区别
admin | 闲扯 | 2014-03-14
机械键盘采用类似金属接触式开关,工作原理是使触点导通或断开,具有工艺简单、噪音大、易维护的特点。机械式键盘是最早被采用的结构,一般类似金属接触式开关的原理使触点导通或断开,具有工艺简单、维修方便、手感一般、噪声大、易磨损的特性,大部分廉价的机械键盘采用铜片弹簧作为弹性材料,铜片易折易失去弹性,使用时间一长故障率升高,现在已基... [阅读全文]
兼谈如何写 DPI-Aware 的 windows 程序
admin | 取词 | 2014-03-13
我在知乎上这篇关于 AlwaysMouseWheel 的文章说过,AWM 不支持高 dpi,使用有 bug。为什么我会发现呢?因为我有一个笔记本换上了 1080p 的屏幕,然后把 dpi 改成了 1.25x。Windows 从 vista 开始引入了 DPI 虚拟化技术,让 dwm 有权力直接放大窗口,而为了确保兼容性,许多 API——包括 GetCursorPos 和WindowFromPoint——都做了一些处理。
具体表现就是,... [阅读全文]
自制苹果酒
admin | 美食 | 2014-03-13
材料
苹果(我用了四个)、糖(我用的是白糖,很多人都说冰糖会比较好)、玻璃缸
做法
1.洗干净玻璃缸,晾干水分。
2.将苹果洗干净,然后沥干苹果表皮水分。
3.把苹果去核,切成薄薄的一片片,不用去皮(一定)。
4.一层糖一层苹果地放进玻璃缸里。(我是比较喜欢这样放!^_^)一定要塞满哦,如果是切成一片一片的话,因为苹果在之后会萎缩起来的哦,... [阅读全文]