您也使用托管C++吗? 如沐枫林
场景一:在.NET中调用WindowsAPI或DLL。
这是比较普遍的需求。一般来说,简单的函数调用,大可直接用C#/VB.NET,经过DllImport属性包装出函数来调用。如:
[DllImport('KERNEL32.DLL', EntryPoint='MoveFileW',
CharSet=CharSet.Unicode, ExactSpelling=true,
CallingConvention=CallingConvention.StdCall)]
public static extern bool MoveFile(String src, String dst);
由于WindowsAPI用到的人实在是多,因此有一个专门的wiki站点,收集这方面的资料:http://www
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using Microsoft.Office.Interop;
using Microsoft.Office.Core;
namespace ExcelEdit
{
/// <SUMMARY>
/// ExcelEdit 的摘要说明
/// </SUMMARY>
有许多人问的,.Net中的委托以及事件处理。我拿简单的例子说明一下,是现实中的例子:
比如说一个公司(场景),你是老板,手下有两个员工,小张和小王。
你命令小王,如果小张玩游戏,则小王扣去小张500元钱。
这就是现实中的委托。
实际上,在写程序中,程序员就是老板,小张和小王就是两个对象。小张玩游戏是一个方法,小张还有一个游戏事件,他玩游戏激发这个事件。而小王就是事件处理对象,他负责把小张的钱扣除500。
所以,委托有如下几个要素:
1 激发事件的对象--就是小张
2 处理对象事件的对象--就是小王
3 定义委托,就是你让小王监视小张。
如果这三个要素都满足的话,则你就写出了一个完整事件的处理。
下面有个例子:在vs.net2003 C#控制台应用程序编辑运行成功:
using System;
namespace CSharpConsole
{
并行接口的分类: SPP(标准并行接口) ,EPP(增强型并行接口),ECP(扩展型并行端口)
标准并行端口(SPP)也是最早的端口定义,主要功能如下,1:并行端口提供了8个数据线以进行并行的字节传输,2:计算机能够通过数据线向打印机发送选能信号,以通知打印机已经准备好接收数据,3:打印机招收到数据后,向计算机发送一个回应信号(NACK)。其各位信号线所代表的意义详见下表。
增强型并行端口(EPP)的出现提供了一种更高性能的连接方式,并东路向下兼容所有在此之前存在的并行接口及外设。与SPP不同之处在于原来17个信号中的重新定义,在这17个信号中,EPP使用了其中的14个信号进行传输,握手和选通,剩下的3个信号可以由外设设计者有来自定义。
Q UNICODE字符串如何显示
A
如果程序定义了_UNICODE宏直接用
WCHAR *str=L'unicodestring';
TextOut(0,0,str);
否则就需要转换类型
#include <comdef.h>
WCHAR *str=L'unicodestring';
bstr_t str1=str;
TextOut(0,0,(char*)str1);
Q 如何实现ANSI和UNICODE的相互转换
A
将ANSI转换到Unicode
(1)通过L这个宏来实现,例如: CLSIDFromProgID( L'MAPI.Folder',&clsid);
(2)通过MultiByteToWideChar函数实现转换,例如:
char *szProgID = 'MAPI.Folder';
WCHAR szWideProgID[128];
CLSID clsid;
long lLen =
MultiByteToWideChar(CP_ACP,0,szProgID,strlen(szProgID),szWideProgID,sizeof
(szWideProgID));
szWideProgID[lLen] = '\0';
(3)通过A2W宏来实现,例如:
USES_CONVERSION;
CLSIDFromProgID( A2W(szProgID),&clsid);
成为“肉鸡”后的症状:
1.当你正在浏览网页时,弹出广告是很正常的,但你没有打开浏览器时,它却自己跳出来了;
2.你在使用电脑时,弹出了警告窗口,而你却没有进行过任何危险操作;
3.某个进程长时间占用系统资源过多,而它又不是B T等下载类软件;
4.没有进行任何操作,硬盘频繁读取。要知道现在的电脑配置都很高了,除了玩游戏或运行大型软件外,很少有需要经常读写的操作。
5.经常出现某个正在使用的程序无响应,或频繁死机、重启;
6.鼠标或键盘会不听使唤;
7.软件(如浏览器)的设置被强行修改;
电脑出现异常时,一定要注意,查看一下是什么原因,是由于你安装的软件?还是电脑硬件出问题了呢?如果都不是,一定要马上解决问题,将损失降至最低点。
出现上面的问题,要立刻断网,以防入侵者窃取你的重要文件。还要注意,若某个月电话费中的信息费过高,则要立刻修改ADSL密码,入侵者很可能用它在网上消费。
教你一招怎么找到黑客留下的踪影
当电脑出现异常时,可以确定是否有别人进入到你的系统,这个方法的主角就是“系统日志”。
可以通过“控制面板→管理工具”下的“事件查看器”