自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 资源 (19)
  • 收藏
  • 关注

原创 获取特殊路径

获取特殊路径获取windows下的一些特殊路径,如桌面、我的文档、收藏等路径,使用 SHGetSpecialFolderPath 获取。 原型:BOOL SHGetSpecialFolderPath( HWND hwndOwner, _Out_ LPTSTR lpszPath, _In_ int csidl, _In_ BOOL fCreate)

2017-07-25 17:54:48 479

原创 windows下线程同步

windows下线程同步windows下的一些同步方法,volatile、Interlocke函数、CRITICAL_SECTION、SRWLOCK、Mutex。 - volatile: 变量声明未 volatile 变量,如:volatile int num = 0;Interlocke函数: 该系列函数能实现原子操作:LONG __cdecl InterlockedIncrement(

2017-07-19 16:17:17 382

原创 DLL导出

DLL导出DllMain 类似于main函数或者winmain等入口函数,当加载、卸载、线程启动、线程终止时会调用,可在此申请资源或清理资源等。DLL可以配合头文件和lib使用,或者使用LoadLibrary+GetProcAddress动态加载。代码: DLL: dllmain.cpp 生成DLL项目时会自动生成.#include "stdafx.h"BOOL APIENTRY DllMai

2017-07-16 18:36:58 294

原创 暂停和恢复进程

暂停和恢复进程CreateToolhelp32Snapshot创建线程快照,枚举线程,判断线程PID与选中的PID一致,则使用SuspendThread、ResumeThread暂停和恢复线程,进程的所有线程暂停或恢复,则进程也将会被暂停和恢复。进程被暂停后包括GUI都完全无响应。代码:BEGIN_MESSAGE_MAP(CSuspendProcessDlg, CDialogEx) ON_W

2017-07-16 18:17:03 1413

原创 枚举进程模块

枚举进程模块使用 CreateToolhelp32Snapshot 创建进程快照,第一个参数为 TH32CS_SNAPMODULE 时创建进程模块快照,类似枚举进程时使用的 Process32First、Process32Next,枚举进程模块时使用 Module32First、Module32Next 枚举进程模块。代码: CEnumModuleDlg:BEGIN_MESSAGE_MAP(CEn

2017-07-11 21:27:25 1023

原创 控制服务程序

控制服务程序枚举、启动、停止服务程序,使用OpenSCManager、EnumServicesStatus、OpenService、ControlService、StartService等API。 CEnumServiceDlg.cppBEGIN_MESSAGE_MAP(CEnumServiceDlg, CDialogEx) ON_WM_PAINT() ON_WM_QUERYDRA

2017-07-10 13:19:12 395

原创 守护进程

守护进程WaitForMultipleObjects 可以等待进程、线程、事件、信号、mutex等,可以用它实现进程保护,在需要保护的进程被结束时,重新启动保护进程,可以达到普通用户无法正常结束进程的目的,如保护进程和被保护进程互相保护,那就更难结束了。代码: stdafx.h#define WM_PROCESSEND WM_USER+1typedef struct PROCESS_STRUCT

2017-07-10 13:14:29 218

原创 异步socket TCP 通信

异步socket TCP 通信使用 WSAAsyncSelect 可实现异步 socket 通信,原型:WSAAsyncSelect( SOCKET s, //套接字 HWND hWnd, //接收网络事件的窗口句柄 unsigned int wMsg,//网络事件通知消息 long lWvent //套接字需

2017-07-10 13:09:01 640

原创 socket TCP 通信

socket TCP 通信SOCKET可用于主机间或者进程间通信等。 TCP/UDP通信流程: 代码(本机TCP): Server://启动监听线程void CSocketDlg::OnBnClickedStart(){ m_run = TRUE; if (!AfxBeginThread(CSocketDlg::StartRecvThread, this, THREAD

2017-07-10 13:05:42 367

原创 添加、移除托盘图标以及气泡提示

添加、移除托盘图标以及气泡提示在头文件中声明NOTIFYICONDATA类型的m_tray结构,然后再类向导中添加WM_NOTIFYICON消息的处理函数,使用 Shell_NotifyIcon 操作托盘图标。 .hpublic: BOOL AddRemoveTray(BOOL flag); NOTIFYICONDATA m_tray; BOOL ShowBubbleTip

2017-07-09 23:54:16 2011

原创 异步命名管道

异步命名管道命名管道可以用于进程间通信。 client 端: // 打开管道 HANDLE hPipe = CreateFile("\\\\.\\Pipe\\NamedPipe", GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); if (hPipe == I

2017-07-07 16:52:51 2333

原创 纯C MD5计算

纯C MD5计算代码是从网上找的,具体来源找不到了,在找来的代码上改了内存泄漏和改成纯C实现。 .c#include<string.h>#include <stdio.h> #include <stdlib.h> #include <memory.h> #include <math.h> typedef unsigned char BYTE;typedef unsigne

2017-07-07 16:41:36 433

原创 关机、注销、登录、锁屏、资源管理器重启等消息

关机、注销、登录、锁屏、资源管理器重启等消息关机、重启消息 WM_QUERYENDSESSION: 关机、重启时windows会广播一个WM_QUERYENDSESSION 消息,接收到该消息后,应用可以做一些清理退出动作,如果未处理返回,win10等会出现应用程序组织关机、重启的提示,win7等则会等待5s左右,然后强行关闭应用。使用时直接在 WindowProc 中处理 WM_QUERYEN

2017-07-07 13:34:23 6453

原创 微秒级延时

微秒级延时windows下Sleep()函数提供毫秒级延时,但是没有微秒级延时,以下代码可以微秒级延时:void DelayExec(double us) { if (us == 0) { return; } LARGE_INTEGER litmp; LONGLONG QPart1,QPart2;; double

2017-07-07 13:21:30 1021

原创 Windows下特权获取

Windows下特权获取Windows下部分操作需要特权才能执行,如下代码示例通过修改token获取SE_DEBUG_NAME特权,其他特权与此类似,只需要将SE_DEBUG_NAME换成其他特权即可,如下代码类似于MSDN的示例: https://msdn.microsoft.com/en-us/library/windows/desktop/aa446619(v=vs.85).aspx wi

2017-07-07 13:20:14 3967

原创 结束进程

结束进程使用TerminateProcess直接结束进程,如果结束不了,则修改token获取SE_DEBUG_NAME特权,再次TerminateProcess结束进程。//请求获取特权BOOL CKillPSDlg::SetPrivilege(LPCTSTR lpszPrivilege, BOOL bEnable){ OutputDebugString(lpszPrivilege);

2017-07-07 13:18:34 294

Qt linux获取cpu使用率、内存、网络收发速度、磁盘读写速度、磁盘剩余空间

Qt linux获取cpu使用率、内存、网络收发速度、磁盘读写速度、磁盘剩余空间等

2018-01-14

QT调用dll和MFC调用QT的dll

编写QT的dll,QT调用QT的dll,QT调用外部的dll,MFC程序调用QT的dll,

2017-11-26

QT异形窗口

QT异形窗口的实现,首先把窗口大小调整为图片大小,设置窗口无标题栏,然后加上鼠标拖动的代码

2017-11-20

windows线程同步

windows下的一些同步方法,volatile、Interlocke函数、CRITICAL_SECTION、SRWLOCK、Mutex。

2017-07-19

DLL函数和类导出

llMain 类似于main函数或者winmain等入口函数,当加载、卸载、线程启动、线程终止时会调用,可在此申请资源或清理资源等。 DLL可以配合头文件和lib使用,或者使用LoadLibrary+GetProcAddress动态加载。

2017-07-16

暂停、恢复进程

CreateToolhelp32Snapshot创建线程快照,枚举线程,判断线程PID与选中的PID一致,则使用SuspendThread、ResumeThread暂停和恢复线程,进程的所有线程暂停或恢复,则进程也将会被暂停和恢复。进程被暂停后包括GUI都完全无响应。

2017-07-16

枚举进程DLL

使用 CreateToolhelp32Snapshot 创建进程快照,第一个参数为 TH32CS_SNAPMODULE 时创建进程 DLL 快照,类似枚举进程时使用的 Process32First、Process32Next,枚举进程 DLL 时使用 Module32First、Module32Next 枚举进程 DLL。

2017-07-11

服务程序控制

枚举、启动、停止服务程序,使用OpenSCManager、EnumServicesStatus、OpenService、ControlService、StartService等API。

2017-07-10

windows进程守护

WaitForMultipleObjects 可以等待进程、线程、事件、信号、mutex等,可以用它实现进程保护,在需要保护的进程被结束时,重新启动保护进程,可以达到普通用户无法正常结束进程的目的,如保护进程和被保护进程互相保护,那就更难结束了。

2017-07-10

异步socket TCP 通信

使用 WSAAsyncSelect 的异步 socket 通信示例

2017-07-10

socket TCP 通信

windows socket tcp.

2017-07-10

托盘图标及气泡提示

添加、移除托盘图标,以及气泡提示

2017-07-09

异步命名管道

异步命名管道使用

2017-07-07

关机、注销、登录、锁屏等消息

重启、关机、注销、登录、锁屏、资源管理器重启等消息。

2017-07-07

关机、注销、登录、锁屏、资源管理器重启等消息

windows重启、关机、注销、登录、锁屏、资源管理器重启等消息

2017-07-07

windows进程结束

使用TerminateProcess直接结束进程,如果结束不了,则修改token获取SE_DEBUG_NAME特权,再次TerminateProcess结束进程。

2017-07-07

windows枚举窗口

查找和枚举windows窗口示例.

2017-07-07

windows重启

使用ExitWindowsEx函数实现重启、关机、注销等:

2017-07-07

使用 GetAdaptersInfo 或 GetAdaptersAddresses 获取网络相关参数

GetAdaptersInfo 和 GetAdaptersAddresses 都能获取网络相关信息,如网卡名称、MAC 地址、IP、DNS、网关等信息,但是两个函数感觉都有一些问题,GetAdaptersInfo 获取不到 IPV6 地址信息,使用起来较为简单,GetAdaptersAddresses 可以获取到 IPV6 地址信息,但是似乎获取不到 子网掩码 ,MSDN 推荐使用 GetAdaptersAddresses 。

2017-07-07

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除