- 博客(73)
- 资源 (3)
- 收藏
- 关注
原创 窗口子类化(SubClassing) SetWindowLong
一、什么是子类化(Subclass) 视窗系统是基于消息驱动的。因此每一个窗口都有一个函数来处理这些消息,系统管理的窗口结构中有一域记录着这个函数的地址(使用GetWindowLong函数传入索引标识GWL_WNDPROC可获取此值)。所有系统发送到这个窗口的消息都会交由此函数来处理。所以改变窗口结构中这个指针值到自定义的某个函数(使用SetWindowLong函数带GWL_WN
2016-01-12 10:37:17
5324
原创 C语言的Socket编程例子(TCP和UDP)
server端:#include "stdafx.h"#include #include #pragma comment(lib,"ws2_32.lib")int main(int argc, char* argv[]){ //初始化WSA WORD sockVersion = MAKEWORD(2,2); WSADATA wsaData; if(
2015-04-19 23:15:42
76341
4
原创 用Delphi即时判断当前的网络的连接方式
分类: 判断网络的是否连接或者连接方式,比较重要的一点就是是不是即时判断,如果你明明无连接,判断出来却说你有,连接上了,却说你还未连接,下面要介绍的两个方法中 InternetGetConnectedState就是不怎么够即时的API函数,而第二个使用的是IsNetworkAlive这个API函数,这个没有InternetGetConnectedState的那种问题,但是可能需要安装SDK
2015-04-15 15:30:31
3535
翻译 Delphi ADOQuery连接数据库的查询、插入、删除、修改
//查询记录procedure TForm1.Button1Click(Sender: TObject);beginADOQuery.Close;ADOQuery.SQL.Clear;ADOQuery.SQL.Add('select * from YourTABLE where 查询条件');ADOQuery.Open; //插入记录procedure TForm1.Button
2015-04-14 21:04:02
28707
翻译 DELPHI-----listview导出到excel
终于自己用delphi写了一个通用的数据导出的函数,并没一开始感觉的那么难。可以把listview中的信息全部导出到一个excel文件中,函数的集成度可以已经很高了。针对表头有动态的合并单元格的操作,我也是网上找了半天才解决的,很多人问但是没多少人会。我自己也是个新手,这个函数对于高手来说可能只是实现了功能,并没有什么效率。希望不要笑我,谁都是从新手过来的。用的时候需要自己包含几个单元,
2014-06-12 23:31:52
3853
原创 字符串处理
首部 function SameText(const S1, S2: string): Boolean; $[SysUtils.pas 功能 返回两个字符串是否相等 说明 不区分大小写 参考 例子 CheckBox1.Checked := SameText(Edit1.Text, Edit2.Text); ━━━━━━━━━━
2014-02-09 01:38:10
1382
原创 delphi Format格式化函数
Format是一个很常用,却又似乎很烦的方法,本人试图对这个方法的帮助进行一些翻译,让它有一个完整的概貌,以供大家查询之用:首先看它的声明:function Format(const Format: string; const Args: array of const): string; overload;事实上Format方法有两个种形式,另外一种是三个参数的,主要区别在于它
2013-09-19 01:06:57
1793
转载 DLL劫持注入技术分析、过各种游戏保护!让你做你爱做的事情!
劫持DLL就是要制作一个“假”的DLL,但是功能又不能失真。 可执行文件在调用某函数时,要加载该函数所在的DLL。如果我们伪造一个DLL,让它包含所有被劫持DLL的导出函数。可执行文件会运行加载伪造的DLL,在伪造DLL里面做我们自己想做的事情。 DLL注入与DLL劫持的比较: DLL劫持相当于一个定时的炸弹,只等待可执行文件双击运行,拔出导火线,而DLL注入
2013-09-04 01:07:12
14855
2
原创 朵开
用了一年的时间换来了这篇游戏多开的文章:如果大家需要转发的,请标明出处:小鱼工作室谢谢。第一,进程隐藏部分游戏通过探测游戏客户端进程是否已经存在来防止重复打开,如游戏:英雄美人游戏多开的办法为启动一个游戏客户端后,将该游戏的进程隐藏,只保留一个或多个。第二,窗口标题修改(使用FindWindow API函数)部分游戏通过探测游戏客户端的窗口是否已经存在来防止重复打开。
2013-09-04 00:59:25
2632
原创 delphi 透明
procedure TForm1.FormCreate(Sender: TObject); var rgn:HRGN; begin Self.Color := clRed; BeginPath(Canvas.Handle); SetBkMode(Canvas.Handle,TRANSPARENT ); Canvas.Font.Name:
2013-03-27 20:33:08
3420
原创 抓取网页内容的程序或代码(两层或更多,delphi)
抓取网页内容,通常大家以为到网上偷数据,然后把到收集到的数据挂到自己网上去。其实也可以将采集到的数据做为公司的参考,或把收集的数据跟自己公司的业务做对比等。目前网页采集多为3P代码为多(3P即ASP、PHP 、JSP)。用得最有代表的就动易科技公司BBS中新闻采集系统,和网上流传的新浪新闻采集系统等都是用ASP程序来使用,但速度从理论上来说不是很好。如果尝试用其它软件的多线程采集是不是更快?答
2012-10-17 00:17:23
1546
转载 lua调用
一、文件读存:-- 似乎不支持大文件(不能超过9k?)function FileSaveLoad() local file = io.open("c:\\in.lua", "r"); assert(file); local data = file:read("*a"); -- 读取所有内容 file:close(); f
2012-07-23 21:19:14
2083
原创 Lua函数
在大多数Lua语法分析中可以获得这些标准Lua函数. 无可争辩, 我们可以查阅Lua网站, 但是一些少了的函数被Blizzard进行了调整. 下面列出了所有Lua函数. WoW API中的Lua注意在WoWAPI没有提供所有标准的Lua函数, 很显然, 操作系统以及文件I/O库是不支持的 Lua函数这些函数都是Lua编程语言的一部分, 点击这里了解更多. •assert(val
2012-07-23 21:13:09
43312
转载 c++调用lua脚本测试执行效率
//下载lua源代码,编译生成luaXX.lib, luaXX.dll,将这两个文件及lua.h, lualib.h, lauxlib.h, luaconf.h拷贝到程序当前目录#include extern "C"{#include "lua.h"#include "lualib.h"#include "lauxlib.h"};#pragma commen
2012-07-22 14:57:15
6122
原创 c++调用lua
VC要编译LUA文件必须先配置VC编程环境。。我用的是VC6.0,lua 5.1.4版 首先将lua的"lua.h" ,"lualib.h", "lauxlib.h" 这三个放在vc程序include文件夹下 然后将lua的lua5.1.lib放在lib文件夹下就OK了 下面看看我写的一个小例子: a.cpp #include "windows
2012-07-22 13:32:09
1069
原创 delphi中获得进程列表或想要的进程(枚举进程、遍历进程)
一个常见的编程任务是枚举所有运行的"应用程序"。Windows 任务管理器就是一个很好的例子。它用两种方式列出"应用程序"。任务管理器的第一个选项卡列出桌面上的所有"应用程序窗口"。第二个选项卡列出系统中的所有"进程"。本文提供了如何执行这些任务的详细信息。 枚举顶层窗口如果将枚举进程与枚举桌面上的顶层窗口进行比较,那么枚举顶层窗口可能更容易一些。要枚举顶层窗口,请使用 EnumWindows
2012-05-23 00:18:17
6977
原创 DELPHI加密字串(异或运算加密)
首先有两个自定的转换函数:function myStrToHex(s:string):string; //字串转16进制 var TmpStr:string; i:integer; begin TmpStr:=''; for i:=1 to Length(s)do TmpStr:=TmpStr+IntToHex(ord(s
2012-05-18 00:27:17
9782
1
原创 Delphi 常用API 函数
Delphi 常用API 函数AdjustWindowRect 给定一种窗口样式,计算获得目标客户区矩形所需的窗口大小 AnyPopup 判断屏幕上是否存在任何弹出式窗口 ArrangeIconicWindows 排列一个父窗口的最小化子窗口 AttachThreadInput 连接线程输入函数 BeginDeferWindowPos 启动构建一系列新窗口位置的过程 B
2012-05-18 00:25:04
9144
原创 WinAPI: GetClassName - 获取指定窗口的类名
WinAPI: GetClassName - 获取指定窗口的类名//声明:GetClassName( hWnd: HWND; {指定窗口句柄} lpClassName: PChar; {缓冲区} nMaxCount: Integer {缓冲区大小}): Integer; {返回类名大小; 失败返回 0}------------
2012-05-18 00:21:49
9652
原创 根据进程名,查找并结束进程
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Tlhelp32; type TForm1 = class(TForm) List
2012-05-18 00:20:45
1241
原创 Delphi隐藏进程
interfacefunction MyHideProcess: Boolean;implementationusesWindows,Classes, AclAPI, accCtrl;typeNTSTATUS = LongInt;const//NT_SUCCESS(Status) ((NTSTATUS)(Status) >= 0)STAT
2012-05-18 00:19:38
5693
原创 在Delphi中隐藏程序进程
在开发某些软件的时候,为了保护程序自身,就需要用到隐藏程序进程。以下通过实例来讲解隐藏程序进程的方法:1、创建一个新的项目 Project1选择File,New Application。在表单Form1上放一Memo组件,一个OK按钮组件,改变OK按钮组件的Cation属性为 CreateProcess。再放一个timer组件。设置timer组件的Interval值为100
2012-05-18 00:18:23
3803
原创 Delphi-IP地址的隐藏
IP地址的隐藏 一、前言 本文主要介绍如何在程序中实现IP地址的隐藏。其实这篇东西不算我写的。其中《IP头结构》部分我懒得打字,故复制、粘贴了孤独剑客的文章,先说声谢谢!代码部分参考了外国程序xes写的一个程序。所以这只是学习过程中的一个副产品。既然程序已经做好了,就顺便放上来跟大家一起交流,共同提高吧。本文只不过想说明一下IP数据的结构和发送机制。如果有人把它改为恶意IP攻击工具,后
2012-05-18 00:15:06
2459
原创 Delphi中上指定进程(进程名)
procedure KillProcess(ExeName: string); const PROCESS_TERMINATE = $0001; //进程的PROCESS_TERMINATE访问权限 var ContinueLoop: Boolean; FSnapshotHandle: THandle; FProcessEntry32: TPr
2012-05-18 00:13:33
1514
原创 Delphi的ListView自动排序
private SortCol: Integer; SortWay: Integer;procedure TForm1.LVweColumnClick(Sender: TObject; Column: TListColumn);begin SortCol:=Column.Index; if (SortWay=1) then So
2012-03-01 23:24:24
6373
1
翻译 VC和LUA混合开发之VC程序调用Lua脚本函数
Lua语言以其卓越的可扩展性、简单、高效率和与平台无关性在游戏领域得到广泛应用。今天花了一些时间学习VC和Lua如何混合开发,编写了一个小例程,和大家分享一下这方面的经验。首先在http://www.lua.org/ftp/下载Lua的最新版本:lua-5.1.4。然后用VS C++ 2005 + sp1建一个Win32静态库空工程:lua,把相关c文件和h文件都添加进来。为了导出了lua
2012-02-17 20:10:02
2327
翻译 LUA整合进MFC代码
这几天研究了一下lua,主要关注的是lua和vc之间的整合,把代码都写好放在VC宿主程序里,然后在lua里调用宿主程序的这些代码(或者叫接口、组件,随便你怎么叫),希望能用脚本来控制主程序的行为。这实际上也是一种把业务分离,用脚本控制的架构,可能有些人把这种脚本叫做业务引擎,工作流等。为什么选择lua?因为它是一个能和C/C++结合得很紧的脚本语言,而我们的程序是用VC++ 写的;另外一点
2012-02-17 20:07:27
4794
翻译 讲述C++中调用Python脚本
C++中调用Python脚本的意义就不讲了,至少你可以把它当成文本形式的动态链接库, 需要的时候还可以改一改,只要不改变接口, C++的程序一旦编译好了,再改就没那么方便了 先看Python的代码 代码:#test functiondef add(a,b): print "in python function add" print "
2012-02-17 19:54:20
9167
原创 delphi的TFileStream 内存流
一、文件文本文件是以行为单位进行读、写操作的。文本文件只能单独为读或写而打开,在一个打开的文本文件上同时进行读、写操作是不允许的。二、定义FileStream: TFileStream;三、打开文件Filestream:= TFileStream.Create(AFileName: string; Mode: Word);参数AfileName:文件
2012-02-12 19:29:12
30029
翻译 字符串相互转字符数组 string byte 数组 array of byte
{转换 TBytes 到 Integer}procedure TForm1.Button1Click(Sender: TObject);var bs: TBytes; {TBytes 就是 Byte 的动态数组} i: Integer;begin {它应该和 Integer 一样大小才适合转换} SetLength(bs, 4); bs[0] := $10
2012-01-31 23:36:41
3879
原创 HEXToStr StrToHEX
function TransChar(AChar: Char): Integer;begin if AChar in ['0'..'9'] then Result := Ord(AChar) - Ord('0') else Result := 10 +
2011-10-14 13:06:45
3961
转载 贴一份用delphi修改注册表改网卡MAC地址的代码
//提示:此代码需要use Registry, Common; function WriteMAC(model:integer):integer; var reg:TRegistry; begin reg:=TRegistry.Create; //创建注册表对象 reg.
2011-10-12 22:17:45
3011
转载 mac 获取
1、通过IP取MAC地址usesWinSock;Function sendarp(ipaddr:ulong;temp:dword;ulmacaddr:pointer;ulmacaddrleng:pointer) : DWord; StdCall;
2011-10-12 22:13:51
898
转载 delphi中临界操作方法
var FLock:TRTLCriticalSection; //定义临界区域begin InitializeCriticalSection(FLock); //初始化临界区域 EnterCriticalSection(FLock); //进入临界区
2011-10-12 01:36:37
1272
原创 Delphi拷贝目录(含子目录)的方法
要实现目录级的拷贝,可以利用Windows API函数ShFileOperation( ),其函数声明如下:WINSHELLAPI int WINAPI SHFileOperation( LPSHFILEOPSTRUCT lpFileOp);实例:
2011-09-03 18:58:05
1277
原创 Delphi中实现文件拷贝的三种方法
1.调用API函数procedure CopyFile(FromFileName,ToFileName:string);varf1,f2:file;BeginAssignFile(f1,FromFileName); file://指定源文件名AssignF
2011-09-03 18:56:26
20883
原创 Delphi判断一个字符是否为汉字的最佳方法
//判断字符是否是汉字 function IsHZ(ch: WideChar): boolean; var i:integer; begin i:=ord(ch); if( i40869) then result:=false else resu
2011-07-27 23:21:40
6051
1
原创 随机生成汉字!
var aa: string; bb: array[1..95] of byte; cc: array[1..95] of byte; i, j: integer;begin i := $A0; for j := 1 to 95 do
2011-07-27 23:01:31
1691
原创 Delphi 常用函数记录
//判断是否是数字function IsNumeric(sDestStr: string): Boolean;//简写多余汉字function SimplifyWord(sWord: string; iMaxLen: Integer): string;//读写取注
2011-07-27 00:14:59
1983
原创 Delphi获取其它进程窗口句柄的3种方法
本文主要跟大家介绍Delphi中获取其它进程的窗口句柄,在Delphi中获取其它进程的窗口句柄,绝大部分人首先想到的会使用:FindWindow或者用GetWindow来遍历查找,如:handle := FindWindow(nil,PChar(窗口的标题));或者:procedure TForm1.Button1Click(Sender: TObject);
2011-06-24 20:25:00
25919
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人