- 博客(36)
- 资源 (3)
- 收藏
- 关注
原创 用VC++6.0的Sockets API实现一个聊天室程序
1.VC++网络编程及Windows Sockets API简介 VC++对网络编程的支持有socket支持,WinInet支持,MAPI和ISAPI支持等。其中,Windows Sockets API是TCP/IP网络环境里,也是Internet上进行开发最为通用的API。最早美国加州大学Berkeley分校在UNIX下为TCP/IP协议开发了一个API,这个API就是著名的Berkeley
2006-09-27 19:00:00 1333
转载 BCB中自定义消息
在C++BUILDER中如何使用自定义消息和编写自定义消息的消息处理函数---------------------------------------------------------------unit1.h//---------------------------------------------------------------------------#ifndef Unit
2006-09-22 18:51:00 1895 1
转载 获得本机IP信息
u_char g_ucLocalMac[6]; // 本地MAC地址DWORD g_dwGatewayIP; // 网关IP地址DWORD g_dwLocalIP; // 本地IP地址DWORD g_dwMask; // 子网掩码BOOL GetGlobalData(){ PIP_ADAPTER_INFO pAdapterInfo = NULL; ULONG ulLen = 0;
2006-09-22 15:26:00 1275
原创 窗体透明
// 设置透明窗口 SetWindowLong(m_hWnd, GWL_EXSTYLE, GetWindowLong(m_hWnd, GWL_EXSTYLE)^0x80000); //0x80000 : WS_EX_LAYERED HINSTANCE hInst = LoadLibrary("User32.DLL"); // 显式加载DLL if (hInst != NULL)
2006-09-21 18:22:00 1366
转载 流氓软件及反流氓软件的技术分析
作 者:jacklzw88 (不可爱咯) 流氓软件的技术五花八门,任何一项功能都有可能成为流氓技术,就象武器,用好了可以伸张正义,用歪了却成为罪恶的帮凶。首先我从win32下的一些流氓着数分析开始:1。我想做为一个流氓软件,首先要做到的是实时运行,譬如在注册表的run下,在boot下增加它的启动。这应该是比较老的方法,以前 3721好象就是在run下,但是现在一般的人都知道了。2。作为流氓
2006-09-20 09:39:00 1420
转载 文字复制到剪贴板
CString source; //put your text in source if(OpenClipboard()) { HGLOBAL clipbuffer; char * buffer; EmptyClipboard(); clipbuffer = GlobalAlloc(GMEM_DDESHARE, source
2006-09-19 22:10:00 1294
原创 代码运行时间测试模版
#include #include #include int main(){ clock_t t_begin,t_end; //代码1开始计时 t_begin=clock();////你的程序段1// t_end=clock(); printf("代码1所用的时间:%.3f秒/n",(double)(t_end-t_begin)/CLOCKS_PER_SEC); //代码2开始计
2006-09-19 16:24:00 1163
转载 快速关机和重启
Windows操作系统快速关机之谜总有人在抱怨Windows的关机是如何的缓慢,实际上Windows本身的关机速度已经很快的了。问题主要出在用户安装的程序上面,由于一些设计不好的应用程序或驱动程序的问题,造成了关机上的延迟。针对这个问题,网络上出现了类似于下面的技巧: 打开任务管理器,按住“Ctrl”键的同时,再单击任务管理器窗口中的菜单“关机→关闭”命令时,系统会快速地被关闭,同样,
2006-09-14 22:07:00 1916
转载 tc编译的dos程序和vc编译的win32控制台程序的区别
它们有着本质的区别:1:一个是16的DOS程序,一个是标准的32的Windows应用程序.前者依然受着64KB内存分段约束,后者无忧无虑地使用着4GB内存地址空间.它们本来就是运行在不同的操作系统上的.别把他们混淆.DOS程序可以运行在windows上是因为有NTVDM.而你把VC生成的控制台程序放到DOS下只会得到!?This program cannot be run in DOS mode.
2006-09-10 18:57:00 1499
转载 BCB拷屏代码
TCanvas *dtCanvas = new TCanvas; dtCanvas->Handle=GetDC(0); Graphics::TBitmap *bitmap=new Graphics::TBitmap; bitmap->Width=Width; bitmap->Height=Height; int nColors=GetDeviceCaps(Canvas->Handle,SIZEP
2006-09-10 13:38:00 1304
转载 TScreen类
TScreen表示应用程序运行时屏幕的状态。 类关系 TObject->TPersistent->TComponent TScreen引进具有表示下列各种情况的属性 什么窗体和数据模块已经被应用程序实例化。 激活窗体以及在窗体内激活的控件。 屏幕的尺寸大小和分辨率。 可以获得的应用程序使用的光标和字体。 有一个TScreen类型的全局变量Screen,已被C++Builder的应用
2006-09-10 13:35:00 1179
转载 C++Builder中大尺寸图象的显示技巧
在C++Builder中利用Timage控件可以轻松地读入并显示图象,但Timage控件本身不可以接收输入焦点,也没带有滚动条,在显示超出显示区域范围的大图象时,需要对Timage控件进行加强。本文提出两种最容易实现且有效的方法,满足不同应用的需求。 ----方法一:增加滚动条。 ----增加滚动条可以通过将Timage放在TScrollBox控件中来实现。步骤如下: ----(1)
2006-09-10 13:29:00 1525
转载 VC无负担实现XP风格界面
VC无负担实现XP风格界面 有件事情必须说一下,按照上面的方法,test.exe必须先调用InitCommonControls函数(已经废除,不建议使用)或者InitCommonControlsEx函数从comctl32.dll中注册组件类。这一步在VB中是必须的,但是在VC(MFC程序)中,我们好像并没有调用这个函数,可是编译后的程序为什么还能实现XP风格呢?原因是MFC替我们做了这
2006-09-10 13:24:00 3727 2
转载 巧用VC++来实现全屏幕显示功能
巧用VC++来实现全屏幕显示功能 一、实现方法 实现程序的全屏幕其实很容易,它的实现思路就是:首先要自定义一个窗口类,重载该窗口类的OnPaint()或OnDraw()函数,实现具体的窗口显示功能,然后调用API函数GetDeviceCaps(int nIndex )函数来获取当前显示屏幕的尺寸,如nIndex取LOGPIX
2006-09-10 13:22:00 2691 1
转载 弹出窗口杀手
弹出窗口杀手是一个可以自动关闭IE弹出窗口的程序,它工作在系统的托盘中,按照一定的间隔来检测IE窗口,然后关闭弹出窗体。最后,还提供了用热键来杀掉弹出窗口的功能。 虽然已经有类似的用C++写的程序,但是本文讲述的是用C#来实现这些功能,并且本文所讲的方案在查找窗口上的方法要比更快一些。 这是一个崭新的话题,在Internet上我们还可以看到许多类似的程序。但是我也还是要借这个机会来讲述一
2006-09-10 13:19:00 1209
原创 用API 作简繁体转换
1. 输入Big5字符,返回Gb简体字符 //--------------------------------------------------------------------------- //函数输入Big5字符,返回Gb简体字符 //-------------------------------------------------------------------
2006-09-10 13:17:00 2119
转载 用VC++实现Windows 2000/XP下的休眠
实现休眠功能很简单,只要在任意想要执行的地方执行如下给出的休眠函数SetPower()就行,其实休眠很简单,只需要API:SetSystemPowerState()就行,就如关机/注销/重启一样,只需要ExitWindowEx(),但这些API可以直接用在98下,却不能用在2000/XP中,因为这里牵涉到了用户权限,没有权限是不能进行这些操作的,所以,首先要取得权限,下面给出代码: #defi
2006-09-10 13:13:00 1068
原创 Winsock API 函数大全
Winsock API 函数大全 本系统(WinKing)提供之 Windows Sockets API 介面乃是依照 1993年1月20日公布之 WINSOCK 第1.1版(如附录)中所定义之函式 (routine); 包括了30个Berkeley Software Distribution (BSD) 的函式以及16个符合 Windows Message-driven 特性的函式。BS
2006-09-10 13:09:00 1397
转载 Winsock错误代码大全
Winsock错误代码按错误编号列出了所有Wi n s o c k错误代码。但要注意的是,该列表没有包括标记为“B S D特有”的Wi n s o c k错误,也没有包括那些尚未正式列入规范的错误。此外,与Wi n 3 2错误有着直接对应关系的Wi n s o c k错误列在本附录末尾。1 0 0 0 4—W S A E I N T R函数调用中断。该错误表明由于对W S A C a n c
2006-09-10 12:57:00 2318
转载 获得进程的CPU占用率
#include ; #include ; #include ; struct occupy { char name[20]; unsigned int user; unsigned int nice; unsigned int system; unsigned int idle; }; float g_cpu_used; int cpu_num; void
2006-09-09 14:09:00 1130
转载 windows200/Xp关机重起代码
1. 关机代码TOKEN_PRIVILEGES tp; HANDLE hToken; LUID luid; LPTSTR MachineName=NULL; if(!OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES,&hToken )) { // PERR("OpenProcess
2006-09-09 09:49:00 1815 1
转载 vc常用技巧总结 (2)
(48) 如何改变控件的颜色有两种方法。其一,可以在父类中指定控件的颜色,或者利用MFC4.0新的消息反射在控件类中指定颜色。 当控件需要重新着色时,工作框调用父窗口(通常是对话框)的CWnd: : OnCrtlColor,可以在父窗口类中重置该函数并指定控件的新的绘画属性。例如,下述代码将对话中的所有编辑控件文本颜色改为红色:HBRUSH CAboutDig : : OnCtlColor (C
2006-09-08 21:47:00 1409
转载 vc常用技巧总结(1)
vc常用技巧总结 (1) 如何通过代码获得应用程序主窗口的 指针?主窗口的 指针保存在CWinThread::m_pMainWnd中,调用AfxGetMainWnd实现。AfxGetMainWnd() ->ShowWindow(SW_SHOWMAXMIZED)//使程序最大化.(2) 确定应用程序的路径Use GetModuleFileName 获得应用程序的路径,然后去掉可执行文件名。Ex
2006-09-08 21:45:00 1579
转载 郭靖黄蓉之死—附椅天剑屠龙刀的由来...
郭襄瞧着杨过小龙女飘然而去,独自流泪。张君宝在旁默然相陪。突然听得有人喊:“襄儿!”郭襄回头一看,是黄蓉带着武氏父子和一群丐帮弟子寻来了。郭襄喊了一声“娘”之后便扑到黄蓉怀里放声痛哭。黄蓉一边拍着郭襄的背,一边问:“襄儿,你怎么啦?”张君宝在一旁简略诉说了经过。黄蓉听后拿过玄铁剑,看着剑叹了口气,谢过张君宝,便邀其一同到襄阳。张君宝见郭襄只是独自伤情,根本没有在意到他的去留,一阵心
2006-09-08 20:23:00 8910 1
原创 BCB6的窗体界面能够跟随xp的主题变化
使BCB6的窗体界面能够跟随xp的主题变化编写一个文本的资源文件,随便命名,比如shell.txt,内容如下 version="1.0.0.0" processorArchitecture="X86" name="Microsoft.Windows.Application" type="win32" />
2006-09-06 19:17:00 1760
原创 任意阶奇数幻方C程序
本人经较长时间的研究,得到一种很简单快速的奇数幻方算法,现公布如下,算法的数学证明暂时不公布,本文著作权Y___Y所有,转载要留名 ,联系方式:yinwei _88@sina.com#includeint mod(int i,int p){ if(i>=0)return i%p==0?p:i%p; else return p+i;}void main(){ int i,j,p,n;
2006-09-06 15:52:00 2194
原创 列举窗口
HWND h=GetWindow(Handle,GW_HWNDFIRST); while(h) { GetWindowText(h,s,255); Memo1->Lines->Add(AnsiString(s)); h=GetWindow(h,GW_HWNDNEXT); }
2006-09-05 20:56:00 865
转载 列举系统中所有被加载的DLL
void ShowProcessModules(HWND hwnd, DWORD PId){ SYSTEM_INFO si; memset(&si, 0, sizeof(si)); GetSystemInfo( &si ); if( PId == 0) PId = GetCurrentProcessId(); DWORD LowAddr, HighAddr; LowAddr = (DWOR
2006-09-05 20:54:00 1315
原创 列举进程
HANDLE SnapShot=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0); if(SnapShot==NULL) { MessageBox("检测当前进程失败!"); return FALSE; } SHFILEINFO shSmall; int nIndex; CString str,prcnum;
2006-09-05 20:52:00 1031
原创 BCB使用小技巧(2)
1.判断焦点是否在当前应用程序用GetActiveWindow()进行判断。这个函数返回的为HWND型,即窗体句柄可以和GetWindowText()配合进行。利用GetActiveWidow()得到的HWND,用在GetWindowText(HWND,Buffer,MAX_PATH);中,之后ShowMessage(Buffer)看看是不是窗体的标题,如果是,则获得,否则,该窗体不具备
2006-09-04 18:17:00 1844
原创 VC小技巧1(待续)
1. VC中获取鼠标相对父窗体的位置 CPoint p1; GetCursorPos(&p1); ScreenToClient(&p1);2.怎样根据控件的句柄得到所在窗体的句柄HWND GetParent( HWND hWnd // handle to child window);3.如何用程序打开一个文件夹ShellExecute(NULL, "open", "C:/
2006-09-03 16:30:00 1067
原创 用API获取内存信息
用API获取内存信息 MEMORYSTATUS mem;//定义一个内存状态变量DWORD MemTotal,MemFree,VMemTotal,VMemFree;//存储内存状态信息GlobalMemoryStatus(&mem); //存储内存状态信息 MemTotal=mem.dwTotalPhys;//得到总内存大小(单位b) MemFree=mem.dwAvailPhys;
2006-09-03 16:26:00 3084
转载 图片背景编辑框的实现
作者:zhoudb在VC中,标准的WINDOWS控件如TREEVIEW,EDITBOX,COMBOBOX和LISTBOX等控件都不支持选择背景位图的属性,所以如果要使这些标准控件达到这种效果,必须有些非常规的方法。本文介绍一个CEDIT类如何实现背景位图,并且可以更换背景的例子。可能实现的方法还有其它种,如果有兴趣可以大家探讨。本文程序运行效果图下面介绍CMYEDITCTRL类几个关键变量和函
2006-09-02 20:50:00 2047
转载 用VC++建立Service服务应用程序
本文主要介绍了 OpenSCManager、CreateService、OpenService、ControlService、DeleteService、RegisterServiceCtrlHandler、SetServiceStatus、StartServiceCtrlDispatcher等操作服务程序的主要几个API的用法,具体的函数参数大家可以查阅MSDN。 为什么要使用服务应该程序呢?
2006-09-02 19:26:00 987
原创 MFC基础--怎样贴一张圆型的位图
MFC基础--怎样贴一张圆型的位图 如果你要做有关棋类的东东 又恰好有两张漂亮棋子的位图, 可惜两张位图是方型的,后面 有背景..在Delphi里只要将 背景色设成透明就行了,可在 MFC里怎样实现把背景去掉只 显示圆形的棋子呢? 实例如下: //To invoke this function with the position BOOL IsBlack = TRUE;//set t
2006-09-01 21:55:00 1594
原创 BCB使用小技巧(1)
1.如何取得Memo的行和列 新建一个应用,在窗体Form1上添加两个TLabel组件名为Label1,Label2;添加两个TButton组件名为Button1,Button2;添加一个TMemo组件名为Memo1。然后在代码编辑器中添加以下代码。void __fastcall TForm1::Button1Click(TObject *Sender){ Label1-
2006-09-01 21:51:00 4105
一个扑克牌网络游戏的C++源代码
2007-05-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人