C++
xgrdszdx
这个作者很懒,什么都没留下…
展开
-
通过Windows进程ID获取窗口句柄
通过Windows进程ID获取窗口句柄方法一:使用EnumWindows的方式///< 枚举窗口参数typedef struct{ HWND hwndWindow; // 窗口句柄 DWORD dwProcessID; // 进程ID}EnumWindowsArg;///< 枚举窗口回调函数BOOL CALLBACK EnumWindowsProc(...转载 2018-07-09 14:25:53 · 14363 阅读 · 3 评论 -
ShellExecuteEx提升子进程权限
首先说下ShellExecuteEx是如何提升权限的,ShellExecuteEx函数只有一个参数,就是SHELLEXECUTEINFO结构体,不过是指针类型的,这无所谓,关键是这个结构体中有一个参数lpVerb,它的作用就是指定如何操作文件lpFile,提升权限就是设置lpVerb为“runas”。将lpVerb设定为”open”或NULL的时候,创建的子进程继承了主进程的权限,当主进程使用管理...转载 2018-07-12 18:21:37 · 433 阅读 · 0 评论 -
VC 屏蔽双击打开程序,只能被第三方程序调起
实现如下功能Axx.exe:双击不能运行,只能被Bxx.exe调起解决方案:通过命令行参数判断,如果等于Bxx.exe设置的参数信息,则运行,否则不运行。Axx.exeBOOL CAxxApp::InitInstance(){//获取命令行参数 如果不是调用程序特定传入的参数“-XXXX”,则停止运行 2010/1/17 //////////////////////////////////////...原创 2018-07-06 17:00:56 · 413 阅读 · 0 评论 -
mfc 对话框显示PNG
使用GDI+可以轻松实现首先在CxxApp.cpp中加载GDI+BOOL CxxApp::InitInstance(){ // 如果一个运行在 Windows XP 上的应用程序清单指定要 // 使用 ComCtl32.dll 版本 6 或更高版本来启用可视化方式, //则需要 InitCommonControlsEx()。否则,将无法创建窗口。 INITCOMMONCONTR...原创 2018-07-19 16:30:11 · 1607 阅读 · 0 评论 -
GDI+ 从资源文件读取自定义图片
BOOL ImageFromIDResource(UINT nID, LPCTSTR sTR, Image * & pImg){ HINSTANCE hInst = AfxGetResourceHandle(); HRSRC hRsrc = ::FindResource (hInst,MAKEINTRESOURCE(nID),sTR); // type if (!hRsrc) ...原创 2018-07-31 10:14:55 · 884 阅读 · 0 评论 -
GetWindowRect和GetClientRect的区别详解
一:关于坐标 MFC中绘图时经常涉及到坐标计算,GetWindowRect和GetClientRect这两个函数,是获取逻辑坐标系中窗口或控件(其实也是窗口)大小和坐标的常用函数了,有什么不一样的?先说说什么叫逻辑坐标?讲到逻辑坐标,它相对的一个概念是设备坐标,是为了屏蔽掉不同设备属性差别而设置的抽象坐标系,说白了,就是独立于设备坐标的统一接口,程序员不需要去在具体的设备上进行绘图操作,...转载 2018-09-06 15:11:28 · 232 阅读 · 0 评论 -
OnEraseBkgnd、OnPaint与画面重绘(很好的说明其调用实现关系)
问题背景:窗体在重绘时,由于过频的刷新会引起闪烁现象——窗体在刷新时,总要有一个擦除原来图象的过程OnEraseBkgnd,它利用背景色填充窗体绘图区,然后在调用新的绘图代码进行重绘,这样一擦一写造成了图象颜色的反差。当WM_PAINT的响应很频繁的时候,这种反差也就越发明显。绘制过程:当窗口整体需要重绘时,系统依次发送WM_NCPAINT、WM_ERASEBKGND、WM_PAINT...转载 2018-09-07 09:25:06 · 336 阅读 · 0 评论