判断当前进程是否是64位的

判断当前进程是否是64位的,可以用到一个内核函数 IsWow64Processhttps://docs.microsoft.com/en-us/windows/win32/api/wow64apiset/nf-wow64apiset-iswow64process在用户层调用时这个函数需要自己从 kernel32.dll 中 导出#include "stdafx.h" #include <windows.h> #inc ...

生成屏幕截图,并在截图上面加上文字戳

前两天有一个需求,需要进行屏幕截图留存,截图上还需要有“文字戳”,这个用 GDI+ 来实现非常简单,GetDC(  HWND  ) , 我们可以把想截取的窗口的句柄传入,如果想截整个桌面直接传入 NULL ;  获取 HDC (  设备上下文 ) 后,余下的工作交给 CImage 处理即了,CImage 非常强大,有兴趣可以慢慢研究。#include "stdafx. ...

改良 OutputDebugString 使之可以像 printf 一样支持参数打印

在写服务程序、注入的DLL 或内核程序时,并不是很方便进行源码级的断点调试,所以有时候我们会直接在控制台打印日志信息,一些JAVA 程序员也有使用 System.out.println( "*****" )  打印执行步骤的习惯;我在采用 printf 打印时通常都会加上详细的参数;c 标准的 printf 也支持 fromt 格式化输出:比如  printf(&nb ...

Windows 下CLion + Qt 开发环境的搭建

以前总只以为Qt 仅是 C 开发图形界面程序时的界面库,使用一段时间后发才发觉它的确是非常牛叉,不仅自身集成并扩展了大量的类库而是跨平台。但是Qt 自带的Qt Creator 集成开发环境总让觉得有点闹着玩似的。CLion 是JB 全家桶中C  集成开发工具,应该是除了VS 之外大家的最爱。今天花了时间尝试在CLion 集成Qt  ,记录如下:在Windows 下使用 CLio ...

Windows API 大全

1. API之网络函数 WNetAddConnection 创建同一个网络资源的永久性连接 WNetAddConnection2 创建同一个网络资源的连接 WNetAddConnection3 创建同一个网络资源的连接 WNetCancelConnection 结束一个网络连接 WNetCancelConnection2 结束一个网络连接 WNetCloseEnum 结束一次枚举操作 WNetConnect ...

CFileDialog 构造函数

CFileDialog文件选择对话框的使用:首先构造一个对象并提供相应的参数,构造函数原型如下:CFileDialog::CFileDialog( BOOL bOpenFileDialog,  LPCTSTR lpszDefExt = NULL,  LPCTSTR lpszFileName = NULL,  DWORD dwFlags =&n ...

使用sprintf()和swprintf()函数来实现宽字节字符串与多字节字符串的转换

利用微软提供的系统API函数MultiByteToWideChar()和WideCharToMultiByte()可以方便的实现宽字节字符串与多字节字符串的转换。然后以上两个API函数参数太多,实际使用起来并不怎么方便。其实可以使用用sprintf()和swprintf()函数来实现同样的功能。#include "stdafx.h" #include <windows.h> int _tmain(int&nbs ...