WINDOWS
奈何小洪
我奋斗,我青春
展开
-
VC编译选项 /ML /MLd /MT /MTd /MD /MDd之间的区别
VC编译选项 /ML /MLd /MT /MTd /MD /MDd之间的区别VC编译选项 多线程(/MT)多线程调试(/MTd)多线程 DLL (/MD)多线程调试 DLL (/MDd)C 运行时库 库文件Single thread(static link) ML libc.libDebug single thread(static link) MLd libcd.li转载 2015-01-29 11:16:19 · 1391 阅读 · 0 评论 -
使用ICON动态修改exe文件图标
前言:这两天为exe文件做一个随机图标的功能,要求每次运行后图标都动态改变,在网上找了很多代码,都有一部分缺陷,参考了一些文档后进行了修改,现在在此进行总结:一个icon资源(可以是*.ico文件,也可以是windows资源节区里的icon group),可以包含多张图片。这些图片有着各自的size或者颜色深度,这些图片可以是bmp格式或者png格式(vista之后支持,一般256*256时使原创 2017-09-29 16:42:04 · 5943 阅读 · 0 评论 -
利用CLSID在WINDOWS桌面 创建系统图标
利用CLSID在Windows Explorer里创建像我的电脑那样的系统图标今天突然想到在桌面新建一些有功能的特殊图标* 玩玩。不懂什么意思?恶意软件的那些讨人厌的删不掉的桌面图标有印象吧?原理就是在CLSID里插项写数值,然后把ID放到注册表对应的NameSpace里面。恶意软件们玩剩的把戏,其实对于我们来说还是有用的。(自己脑补用处吧噗噗。。)首先要使用 Guidgen.转载 2017-10-23 14:32:03 · 1532 阅读 · 0 评论 -
vc创建注册表协议,使用协议启动进程
下面是创建注册表协议的方法,及隐藏协议启动进程时的警告对话框#pragma once#include #include #include // 创建注册表项BOOL CreateSubkey(HKEY hKey, LPCWSTR lpszSubkey, HKEY& hResult){ DWORD dwDisposition = REG_CREATED_NEW_KEY; if原创 2017-10-24 15:45:17 · 513 阅读 · 0 评论 -
MFC中使用COM组件更改桌面壁纸或图标
需要包括的头文件方法如下所示:一、在 stdafx.h 文件中添加如下头文件:#pragma once#ifndef VC_EXTRALEAN#define VC_EXTRALEAN // 从 Windows 头中排除极少使用的资料#endif#include "targetver.h"#define _ATL_CSTRING_EXPLICIT_CON转载 2017-10-26 15:42:43 · 661 阅读 · 0 评论 -
注册表添加策略方法及实现,添加桌面右键菜单
Windows Registry Editor Version 5.00//////////////////////注册表添加协议方法///////////////////////////[HKEY_CLASSES_ROOT\destoplancher]@="destoplancher Protocol""URL Protocol"=""[HKEY_CLASSES_ROOT\dest原创 2017-12-21 10:02:15 · 524 阅读 · 0 评论 -
win7消息放行或消息移除 - ChangeWindowMessageFilter
调用ChangeWindowMessageFilter函数,放行WM_DROPFILES消息和WM_COPYGLOBALDATA消息,以解决Win7系统中文件拖放失效的问题由于Win7的安全机制,导致与文件拖放的WM_DROPFILES消息和WM_COPYGLOBALDATA消息被系统拦截了,从而导致了文件拖放失效的问题。解决问题的办法就是,调用ChangeWindowMessag...转载 2018-08-15 20:42:49 · 3737 阅读 · 0 评论 -
VS添加数据断点-用于监控某个地址数据变化
作用:调试时如果不知道打断点的位置,可以对某个变量的地址进行监控,使用数据断点来监控这个地址内数据变化使用方法:1.Ctrl+Alt+B 打开断点窗口,点击左上角New Data BreakPoint添加地址断点2.如果是全局变量,或者同一类的变量被多次调用,则需要同时打多个数据断点用于监控多端对这个变量修改的行为3.如果要监控int m_a变量,则添加的方式是&m_a,或...原创 2019-05-14 17:27:55 · 4944 阅读 · 0 评论 -
Shell_NotifyIcon 修改托盘图标失败的问题
最近需要完成托盘图标闪烁的功能,但是一直没有达到效果,使用Shell_NotifyIcon 一直返回1460的错误。后面找了很多资料发现问题;NOTIFYICONDATA结构只能在NIM_ADD里面定义一次,多次定义会导致修改托盘图标失败。NOTIFYICONDATA m_nc;//定义在全局,只定义一次void CFrameWnd::AddToTray(){ m_nc.cbSiz原创 2017-08-29 10:56:01 · 2521 阅读 · 0 评论 -
vc下文件下载的两种方法
文章中有使用到libcurl相关文件,请自行到官网下载编译后导入使用:下面示例仅供参考#include "stdafx.h" #include #include #include #include "curl/curl.h"#include "resource.h" #include #include #include "HttpClient.h"#include #原创 2017-08-18 11:52:00 · 1848 阅读 · 1 评论 -
替换桌面快捷方式图标
给桌面快捷方式替换图标#include #include bool ChangeLinkIcon(const CString &strLnkName, const CString &strIconPath){ if (strLnkName.IsEmpty() || strIconPath.IsEmpty()) { return false; } HRESULT hres;转载 2017-07-20 11:59:56 · 2003 阅读 · 0 评论 -
WaitForSingleObject函数用法
用户模式的线程同步机制效率高,如果需要考虑线程同步问题,应该首先考虑用户模式的线程同步方法。 但是,用户模式的线程同步有限制,对于多个进程之间的线程同步,用户模式的线程同步方法无能为力。这时,只能考虑使用内核模式。 Windows提供了许多内核对象来实现线程的同步。对于线程同步而言,这些内核对象有两个非常重要的状态:“已通知”状态,“未通知”状态(也有翻译为:受信状态,未受信状态)转载 2015-03-10 10:25:32 · 876 阅读 · 0 评论 -
WaitForSingleObject函数的使用
WaitForSingleObject 的用法:DWORDWaitForSingleObject( HANDLE hHandle, DWORD dwMilliseconds );函数解析:参数 hHandle 是一个事件的句柄,第二个参数原创 2015-04-15 15:46:11 · 3980 阅读 · 0 评论 -
vc读写注册表实例
//获取HKEY_CURRENT_USER\\Software\\UI_Repeater表下面的值,并且修改HKEY hKey;std::unique_ptr AccChg_value(new BYTE[80]);DWORD dwType = REG_DWORD;DWORD sizedwType = 80;CString m_strOwner;//打开注册表long原创 2015-02-05 17:14:12 · 770 阅读 · 0 评论 -
GDI图像基本操作
GDI图像基本操作:借鉴自:http://blog.csdn.net/harvic880925/article/details/9129011实例:void CMFC_GDI_TESTDlg::OnLoadImg(){ // 基本变换 CDC* cdc = GetWindowDC(); Gdiplus::Graphics graphics(cdc->GetSafeHdc());原创 2017-01-18 11:58:59 · 1318 阅读 · 0 评论 -
windows消息机制
参考自:http://blog.csdn.net/sshhbb/article/details/60761561.消息是windows系统发送给应用程序的一个通告,它告诉应用程序某个事件发生了,最终处理消息的是应用程序的窗口函数,如果不处理,系统会默认处理。2.从数据结构讲,消息是一个MSG的结构体,包含了消息的类型标识符和一些附加信息。typedef struct原创 2017-03-01 15:09:25 · 412 阅读 · 0 评论 -
作业(Job)内核对象
Windows提供了一个作业(job)内核对象,它允许你将进程组合在一起并创建一个"沙箱"来限制进程能够做什么.最好将作业对象想象成一个进程容器.但是,即使作业中只包含一个进程,也是非常有用的,因为这样可以对进程施加平时不能施加的限制.1、CreateJobObject功能:创建一个新的作业内核对象(若该作业已经存在,则返回一个指向该作业的句柄)函数定义:HANDLE WI转载 2017-06-21 15:21:20 · 1217 阅读 · 0 评论 -
VC 使用MSXML2创建SVG文档中的新结点时出现xmlns="" 属性解决方法
博文借鉴:https://blog.csdn.net/lujunql/article/details/6989571https://www.cnblogs.com/mq0036/p/3564955.html由于最近有需求需要把素材下载到P2介质中,相关的xml文件需要自己写入,在写入xml时遇到了根结点下第一个子结点会自动添加xmlns=""属性。上网一查才发现是MXSML原本存在...原创 2019-08-16 14:32:48 · 655 阅读 · 0 评论