初识C#

1 C#如何实现平台的可移植性? C#看起来与Java有着惊人的相似;它包括了诸如单一继承、接口、与Java几乎同样的语法和编译成中间代码再运行的过程。微软学习Java的做法,将虚拟机的概念引入到了COM领域;同时,微软提出了“元数据”的概念,用于描述组件的类型信息和工具支持信息,并决定将其放入到组件当中。这种“COM虚拟机”的名字在经历了若干争论后,最终被定为CLR(Common Language Runtime,公共语言运行时)。 2 .NET框架主要由哪几部分组成? 公共语言运行时和.NET框架类库 3 C#中Main()函数的作用是什么? Main()作为程...
flamemiracle 发布于 2009-02-17 18:25 | 阅读 3230 次 | 评论 0 条

转载 让指针不再困扰你

声明:moonwalker 作于2008年4月26日 转载请注明出处 指针对一部分初学者来说一直是一个无法逾越的障碍,没有指针的C语言就好像没有左腿的短跑运动员。今天我来试试换一种方法来理解指针,希望能帮还在为指针挣扎的朋友们理清思路,高手略过即可。 我们先认为内存是一家客栈(看起来这和老掉牙的大楼的比喻没什么区别,但是请你耐心看下去)。同大部分的客栈一样,这家客栈有天、地、人等各种档次的房间,用现在的话就是单人间、双人间、四人间等等。来住店的客人也是车水马龙,三教九流都有,我们看看都有哪些人: 快乐单身汉char,还有char的小弟unsigned char,他们只住...
imboss7 发布于 2009-02-17 14:48 | 阅读 2887 次 | 评论 1 条

最简单的指针

将输入的字符串的最后一位变成x,如 input abcd output abcx --------------- #include <stdio.h> int main(void) { char a[10], *p; p = a; scanf("%s",p); for ( ; *p !='\0' ; p++) ; p--; *p = 'X'; printf("%s",a); getch(); return 0; }
imboss7 发布于 2009-02-17 14:46 | 阅读 1745 次 | 评论 1 条

RTL8019 寄存器名称

// PAGE 0--3 #define CR reg00 // Command Register // PAGE 0 [R] #define CLDA0 reg01 // Current Local DMA Register 0#define CLDA1 reg02 // #define BNRY reg03 // #define TSR reg04 // Transmit Status Register#define NCR reg05 // Number of Collisions Register#define FIFO reg06 // First In Fisr...
vfdff 发布于 2009-02-17 13:56 | 阅读 11332 次 | 评论 5 条

C++编程中Windows消息解析大全

Shell_NotifyIcon 托盘的函数 hwnd 32位的窗口句柄。窗口可以是任何类型的屏幕对象,因为Win32能够维护大多数可视对象的句柄(窗口、对话框、按钮、编辑框等)。  message 用于区别其他消息的常量值,这些常量可以是Windows单元中预定义的常量,也可以是自定义的常量。  wParam 通常是一个与消息有关的常量值,也可能是窗口或控件的句柄。  lParam 通常是一个指向内存中数据的指针。由于W P a r a m、l P a r a m和P o i n t e r都是3 2位的,因此,它们之间可以相互转换。  WM_NULL = $0000;  W...
lanqiaojun 发布于 2009-02-17 13:08 | 阅读 6828 次 | 评论 1 条

用VB编写托盘程序

编写托盘程序主要解决两个问题:   (1)创建、修改、删除托盘;   (2)如何对托 盘接收到的消息进行处理。   这就要用到几个Windows API函数。   首先,Shell_NotifyIcon是用于托盘的Shell API。该API用到一个NOTIFYICONDATA结构.   Type NOTIFYICONDATA     cbSize As Long 该结构所占字节数     hwnd As Long 接收托盘图标消息的窗口指针     uID As Long 由程序定义的图标识别符,因为有的程序有多个图标     uFlags As Long 对托盘图标操作的标...
yunlingzhi 发布于 2009-02-17 09:55 | 阅读 5624 次 | 评论 0 条

爱,不要再加伤害

我不记得是从哪里看到了这句话:如果你不爱一个人,请放手,好让别人有机会爱她。如果你爱的人放弃了你,请放开自己,好让自己有机会爱别人。这话直白但很有道理,也从一个侧面教会了人们如何对待情感。   有的东西你再喜欢也不会属于你的,有的东西你再留恋也注定要放弃的,爱是人生中一首永远也唱不完的歌。人一生中也许会经历许多种爱,但千万别让爱成为一种伤害。  生活中到处都存在着缘分,缘聚缘散好像都是命中注定的事情;有些缘分一开始就注定要失去,有些缘分是永远都不会有好结果;可是我却偏偏渴望创造一种奇迹。爱一个人不一定要拥有,但拥有一个人就一定要好好的去爱他。话说着容易,可一旦做时就真的很...
fairy4 发布于 2009-02-17 09:17 | 阅读 3552 次 | 评论 0 条

socket函数详解

◇ Socket基础◇ 产生一个服务器◇  产生一个客户端在这一章里你将了解到迷人而又让人容易糊涂的套接字(Sockets)。Sockets在PHP中是没有充分利用的功能。今天你将看到产生一个能使用客户端连接的服务器,并在客户端使用socket进行连接,服务器端将详细的处理信息发送给客户端。当你看到完整的socket过程,那么你将会在以后的程序开发中使用它。这个服务器是一个能让你连接的HTTP服务器,客户端是一个Web浏览器,这是一个单一的 客户端/服务器 的关系。◆ Socket 基础PHP使用Berkley的socket库来创建它的连接。你可以知道socket只不过是一个数据结构。你...
vfdff 发布于 2009-02-16 16:48 | 阅读 11977 次 | 评论 1 条

汇编程序_自动生成Unicode全部字符集

汇编程序_自动生成Unicode全部字符集E100 E9 F7 01 00 00 20 26 23 30 30 30 2F 3B 0D 0A 24E110 57 72 69 74 65 20 55 6E 69 63 6F 64 65 2E 2E 2EE120 20 2E 2E 2E 0D 0A 24 00 00 00 00 00 30 03 00 00E130 94 DE A8 D3 AE D4 A4 9E A9 C4 AC B0 C1 B0 C1 B0E140 FD F2 93 8E EB 9A E1 80 F1 90 EB 9A FD F2 93 8EE150 C1 B0...
Dididu1515 发布于 2009-02-16 09:21 | 阅读 2311 次 | 评论 0 条

如何得到通过GetOpenFileName选择的多个文件的文件名[转]

下面的代码演示了如何得到GetOpenFileName允许多选的情况下选择的文件名#include <windows.h> int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nShowCmd){ OPENFILENAME ofn; TCHAR szOpenFileNames[80*MAX_PATH]; TCHAR szPath[MAX_PATH]; TCHAR szFileName[80*MAX_PATH]; TCHAR* p; int nLen = 0; ZeroM...
lanqiaojun 发布于 2009-02-15 21:51 | 阅读 4663 次 | 评论 0 条

API挂接

在阅读这篇文章之前,你可能要先阅读http://www.codeproject.com/system/inject2exe.asp#PortableExecutablefileformat2 和http://blog.csdn.net/XXKKFF/archive/2007/03/06/1522632.aspx 下面这段代码是一个动态链接库的源码,它用于挂接MessageBoxW的调用 #include <windows.h>#include <ImageHlp.h> //for ImageDirectoryEntryToData#includ...
lanqiaojun 发布于 2009-02-15 21:50 | 阅读 5149 次 | 评论 0 条

使用 MAPI 实现邮件发送

一、简述 实际上,本文的设计,所使用的只是 Simple MAPI,可以把它看作是MAPI(Messaging Application Programming Interface)的一个子集。不过大多数时候,Simple MAPI提供的功能已经足够使用。本文阐述了一个简单的,用于发送一个带附件的邮件的功能实现。如果需要更复杂的功能,我认为还是老老实实封装SMTP和 POP3比较好 二、Simple MAPI 介绍 Simple MAPI 包括一组很容易使用的函数以及相关的数据结构,可以在C/C++、VB等多种语言中使用。本文是基于VC设计的。 实现一个完整的邮件发送过程,...
lanqiaojun 发布于 2009-02-15 20:58 | 阅读 5176 次 | 评论 0 条

[转帖]教你理解复杂的C_C++声明

陆其明 译 原文:http://www.codeproject.com/cpp/complex_declarations.asp 作者:Vikram A Punathambekar 介绍 曾经碰到过让你迷惑不解、类似于int * (* (*fp1) (int) ) [10];这样的变量声明吗?本文将由易到难,一步一步教会你如何理解这种复杂的C/C++声明:我们将从每天都能碰到的较简单的声明入手,然后逐步加入 const修饰符和typedef,还有函数指针,最后介绍一个能够让你准确地理解任何C/C++声明的“右左法则”。需要强调一下的是,复杂的C/C+ +声明并不是好的编程风格;...
lanqiaojun 发布于 2009-02-15 20:57 | 阅读 2397 次 | 评论 0 条

木马病毒的六种启动方式剖析(来源于网络)

木马是随计算机或Windows的启动而启动并掌握一定的控制权的,其启动方式可谓多种多样,通过注册表启动、通过System.ini启动、通过 某些特定程序启动等,真是防不胜防。其实只要能够遏制住不让它启动,木马就没什么用了,这里就简单说说木马的启动方式,知己知彼百战不殆嘛。   一、通过"开始\程序\启动"   隐蔽性:2星   应用程度:较低   这也是一种很常见的方式,很多正常的程序都用它,大家常用的QQ就是用这种方式实现自启动的,但木马却很少用它。因为启动组的每人会会出现在 “系统配置实用程序”(msconfig.exe,以下简称msconfig)中。事实上,出现在“开始...
lanqiaojun 发布于 2009-02-15 20:55 | 阅读 2503 次 | 评论 0 条

[转帖]如何获取另一个进程的List Ctrl Item Text

#define WIN32_LEAN_AND_MEAN #include <stdio.h> #include <windows.h> #include <commctrl.h> int main(void) { HWND hwnd=FindWindow(NULL, "Stealing Program's Memory: ListView"); HWND listview=FindWindowEx(hwnd, NULL, "SysListView32", NULL); int count=(int)SendMessage(listview, LVM_GETITEMCOUNT, 0, 0)...
lanqiaojun 发布于 2009-02-15 20:54 | 阅读 2644 次 | 评论 0 条

RegisterHotKey()实现Alt+E的快捷键组合功能

RegisterHotKey()实现Alt+E的快捷键组合功能[问题提出] 有的程序需要自定义组合键完成一定功能,如何实现? [解决方法] RegisterHotKey函数原型及说明: BOOL RegisterHotKey( HWND hWnd, // 接收WM_HOTKEY的窗口句柄 int id, // hot key的ID号. UINT fsModifiers, // 响应那个热键. UINT vk ...
lanqiaojun 发布于 2009-02-15 20:50 | 阅读 5248 次 | 评论 0 条

vc应用程序技巧20例

1. 如何激活当前屏幕保护程序// 激活当前屏幕保护程序, jingzhou xuPostMessage(WM_SYSCOMMAND,SC_SCREENSAVE,0);2. 如何禁止/启用屏幕保护及电源管理static UINT dss_GetList[] = {SPI_GETLOWPOWERTIMEOUT, SPI_GETPOWEROFFTIMEOUT, SPI_GETSCREENSAVETIMEOUT};static UINT dss_SetList[] = {SPI_SETLOWPOWERTIMEOUT, SPI_SETPOWEROFFTIMEOUT, SPI_SETSCREENS...
lanqiaojun 发布于 2009-02-15 20:25 | 阅读 2576 次 | 评论 0 条

VC通过HTTP方式获取网页

第一种: 首先要包含这个头文件:#include <afxinet.h> CInternetSession mySession; CHttpFile* myHttpFile=NULL; CString myData; myHttpFile=(CHttpFile*)mySession.OpenURL(url,1,INTERNET_FLAG_DONT_CACHE,NULL,0); for(int i=0;i<20&amp;&amp;myHttpFile->ReadString(myData);i++) { strXMLReturn+=myData+" "; /...
lanqiaojun 发布于 2009-02-15 20:23 | 阅读 2618 次 | 评论 0 条

用VC++模拟实现QQ密码盗窃软件

一般的盗密码的软件的软件都是通过监视键盘来获得密码,这样操作比较方便,但是这样也存在一定问题,密码有的时候不是很准确,因为有的人输入密码并不是从前到后输入,当然这样的人也是少数,盗密码嘛,当然去得到那些比较粗心的人的密码!通过安装钩子来监视QQ登陆界面就是获得密码的方法,在安装前得先找到登陆窗口的句柄,当钩子安装后,记录键盘,当用户“回车”或是点了“登陆”就可以开始处理密码了!我准备分为四部分来说明这个整个过程:  (1)寻找QQ登陆界面。  (2)安装钩子  (3)钩子函数的解释.  (4)处理密码。  以下部分全是使用C语言,文章中我假设读者您是会C/SDK编程的。如果遇...
lanqiaojun 发布于 2009-02-15 20:21 | 阅读 2485 次 | 评论 0 条

VC实现的MSN Messager钩子程序

最近研究怎么样使用HOOK拦截其他应用程序的消息,于是就动手写了一个钩子程序来挂到最常用的通讯及时通讯工具MSN,虽然没有什么实际意义,但作为学习研究却能够帮助我们理解利用HOOK是怎么样将自己编写的DLL注入已经存在的程序空间中的。 我们需要做的是通过我们自己编写的应用程序去拦截别人写好的应用程序消息,实际上这是在两个进程之间进行的,难度就在这里,如果是同一个进程什么都好办,只要将系统响应WINDOWS消息的处理函数修改为我们自己编写的函数就可以,但现在不能这么做,因为两个进程有各自的进程地址空间,理论上你没有办法直接去访问别的进程的地址空间,那么怎么办来?办法还是很多的,这里仅仅介...
lanqiaojun 发布于 2009-02-15 20:20 | 阅读 2120 次 | 评论 0 条