显示标签为“电脑技术”的博文。显示所有博文
显示标签为“电脑技术”的博文。显示所有博文

2010年8月18日星期三

Windows 7局域网共享设置

WIN7系统的网络功能比XP有了进一步的增强,使用起来也相对清晰。但是由于做了很多表面优化的工作,使得底层的网络设置对于习惯了XP系统的人来说变得很不适应,其中局域网组建就是一个很大的问题。默认安装系统后不但同组内的WIN7系统互相不能共享访问,而且最头疼的问题是组内的XP系统计算机更难互访。针对这个问题,从网络上收集了一些这方面的资料,结合自己在调试过程中的情况,通过以下步骤基本能够解决XP与WIN7局域网共享设置的问题。不到之处请网友谅解指正。
一:必要点

1、需要是管理员权限的帐户

2、所有入网的计算机都要在相同的IP段,比如都为192.168.1.X(2≤X≤255)

3、所有入网的计算机都要在相同的工作组,比如都在WORKGROUP组

4、所有入网的计算机都要开启来宾账户,默认账户名为:guest。

5、关闭任何第三方的防火墙软件,或者进行一些相关设置(很重要Windows自带的防火墙。如果没有把它关闭的话,也需要进行一些设置才可以。打开Windows防火墙---例外---勾选 文件和打印机共享---确定---保存。 XP系统,在 常规 选项卡中,要去掉不允许例外 前面的勾。

6、所有入网的计算机的操作系统必须有正确的权限设置(这是重点)

7、XP,是指Windows XP Professional 版本。其中所述的部分方法,并不适用于Windows XP Home Edition。

8、WIN7,是指Windows 7。不同版本的WIN7可能存在一定的差异。如果你用的是Home Basic版本,就不要再往下看了,因为Home Basic不提供文件共享功能。。

2010年8月5日星期四

Windows7 快捷键必看点

任何的操作系统、软件、游戏,只有熟练使用快捷键,才能最大效率的工作、娱乐,我们不能把所有的时间都浪费在一台机器上,这是不行的。快捷键带给我们的不只是快速,还能感受到机器带来的快感。很难想象一个不用键盘的魔兽争霸玩家。

1. Ctrl + Shift + N – 创建一个新的文件夹
你需要在文件夹窗口中按 Ctrl + Shift + N 才行,在 Chrome 中是打开隐身窗口的快捷键。
2. Ctrl + Shift + 左键 – 用管理员权限打开程序 (Ctrl+Shift+Click to Open a Program As Administrator)
有些程序,需要右键选择 Windows7 的管理员权限才可以正常运行,而这个蛋疼的快捷键我没有测试成功。在受限制帐户下测试的软件 AirVideoServer 可以在 Touch 上成功连接 AirVideoServer 并播放视频。
3. Shift+ 鼠标右键 – 增强版右键发送到
右键发送到 是一个很常用的功能,一般情况下可以发送到:桌面快捷方式、邮件联系人、压缩文档、移动设备等等。而通过 Shift+ 鼠标右键 的发送到,增加了 Windows7 个人文件夹内的所有内容,包括:我的文档、我的照片、我的音乐、桌面等等

4. Shift + 右键 – 在当前文件夹用命令行打开。

开始 “ 运行” cmd 就是命令行界面,传说中的 DOS 命令。最常用的可能就是 ping 了吧?用命令行来修改文件扩展名也是好办法,ren name.txt name.bat 就可以把一个文本文件改成批处理文件了。而 Shift + 右键 在当前文件夹用命令行打开的作用就是不用频繁的 cd 打开各级文件夹了。
5. Win + 空格 – 闪现桌面
效果与鼠标停留在任务栏最右端相同,松开 Win 键即恢复窗口。恩,你可以用来看看桌面背景的美女。
6. Win+ 上/下/左/右 – 移动当前激活窗口
其中,Win +左/右 为移动窗口到屏幕两边,占半屏,Win + 上 为最大化当前窗口,下为恢复当前窗口

2010年7月29日星期四

计算机Numlock的秘密

一般来说电脑开机启动时NumLock键是启动的。我们可以在Bios中修改相应的设置。

NumLock键启动就亮的原理

在Windows系统启动时,它会从注册表下面读一个键值,然后根据这个键值的内容来决定是否启动NumLock键、CapsLK键、ScrLock键等。
这个键值是:
InitialKeyboardIndicators
它是REG_SZ类型,内容的含义是:
0 - Turn all indicators Off (NumLock, CapsLock, ScrollLock)
1 - Turn CapsLock On
2 - Turn NumLock On
3 - Turn CapsLock and NumLock On
4 - Turn ScrollLock On
5 - Turn CapsLock and ScrollLock On
6 - Turn NumLock and ScrollLock On
7 - Turn all indicators On (NumLock, CapsLock, ScrollLock)

也就是说:设置为0 则关闭NumLock键,设置为2则开启NumLock键。

2010年7月10日星期六

如何在你的站点上使用HTML5

已经有许多文章是关于HTML5的了,例如“HTML5有什么期待?”和“HTML5会如何改变网络”之类的,但是对于Web开发人员来说,最主要需要知道的是:我现在可以用上HTML5来做些什么,我怎么开始使用它?好消息是现在已经有不少的HTML5里的东西可以使用了。但是,开始你就必须要明白一件事情,你需要知道你的受众如何,否则的话你就不该使用HTML5。假如你的站点的访问大部分人都是在使用IE6,那么你完全没有任何理由使用HTML5。另一方面,如果你站点的访问者都是使用手机浏览器,如iPhone和iPad,那么你还在等什么呢?马上就可以开始动手了!等等,这里有一些准则,看完再动手不迟。

你现在可以使用哪些HTML5特性?

虽然HTML5标准现在仍然是个草案,在标准化组织手里依然还在商讨,但是重要的部分已经被许多现代的浏览器实现了。Apple Safari, Google Chrome, Mozilla Firefox, Opera和Microsoft IE9都已经很好的支持了HTML5的部分特性。

2010年3月24日星期三

C++ sizeof 用法总结

1. 定义:

sizeof是何方神圣?

sizeof乃C/C++中的一个操作符(operator)是也,简单的说其作用就是返回一个对象或者类型所占的内存字节数。

MSDN上的解释为:
The sizeof keyword gives the amount of storage, in bytes, associated with a variable or a type (including aggregate types). This keyword returns a value of type size_t.
其返回值类型为size_t,在头文件stddef.h中定义。这是一个依赖于编译系统的值,一般定义为 typedef unsigned int size_t;
世上编译器林林总总,但作为一个规范,它们都会保证char、signed char和unsigned char的sizeof值为1,毕竟char是我们编程能用的最小数据类型。

2010年3月20日星期六

windows7 桌面快捷图标显示不正常 解决办法

windows7 桌面快捷方式图标显示不正常,可按下面的方法恢复:


先打开IE浏览器;

打开任务管理器,结束正在运行的Explorer.exe进程;

在任务管理器中打开“新任务”,运行CMD,执行以下命令:
CD /d %userprofile%\AppData\Local(回车)
DEL IconCache.db /a(回车)
EXIT(回车)

然后在IE浏览器地址中输入C:\Windows\Explorer.exe(回车),重新运行Explorer.exe。

2010年2月27日星期六

制作USB系统启动盘

USB启动盘还是比较常用的,因为在平时,重装系统是避免不了的,如果没有启动启动光盘的话,制作USB启动盘不失为一种非常可行的方法,记得在我上一次重装系统时,就遇到过这种情况。自己因为下载了一个莫名其妙的压缩包,解压出来后运行-->安装,在我的桌面上多了一个快捷方式图标,右键该图标,右键选项中只有“属性”和“创建快捷方式”两个选项,根本删除不了,而且把我的IE首页给篡改了,修改注册表里的信息都没用,一怒之下,重装系统。我的个性比较急的,直接到楼下购买了光盘,回来后,刻盘-->重装。但不想,光盘被刻坏了,无奈只得另找方法。在光盘被我刻坏之后,就尝试着制作USB启动盘的方式来重装系统。

制作USB启动盘,首先你要进入到你的计算机的BIOS界面,查看“BOOT”选项卡中的开机启动项提供几种方式重装系统。以我的笔记本为例,里面提供的USB启动项,分别提供了“USB HDD”、“USB FDD”、“USB KEY”、“USB ODD”这么几种第一启动项。下面简单介绍一下这几种启动方式。“USB HDD”是把USB接口模拟成为硬盘的形式,来作为第一启动项的,“USB FDD”则是把USB接口模拟成为软驱的形式,“USB KEY”是把USB接口模拟成USB KEY数字证书的形式来作为第一启动项的。清楚了这些第一启动项的形式,那就得了解模拟出这些第一启动项的方法,这一类的软件有很多,我就以我的为例来说明,我用的是UltraISO,版本是UltraISO Premium 9.35。第一步打开UltraISO,呈现的系统界面:



在界面的左下方可以看到“本地目录”,接下来要做的就是打开系统镜像所在的目录,找到系统镜像文件后,双击将其打开,如下图:


在界面上找到“启动”菜单,并在他的下拉菜单中找到“写入硬盘映像”选项,选择此项,出现如下界面:


我们可以看到在“映像文件”的右边已经显示出了我们刚刚选择的系统镜像的路径了,首先选择“格式化”按钮,将U盘格式化,格式化之后,注意了,打开“写入方式”的下拉菜单,
这时,我们可以看到一共有四种形式,这得根据你的计算机中Bios的第一启动项选择的,以你的计算机中的第一启动项为基准,启动项里有哪些启动项就可以选择哪种启动方式,一般都可以选择“USB-HDD”硬盘形式写入,因为硬盘形式比较大众化,如果你的计算机的BIOS里没有“USB-HDD”选项,就选择另外在你的计算机的Bios选项中存在的选项。这些完成后,就可以选择“写入”按钮,对U盘进行写入操作了,等待写入完成后,进到计算机的Bios设置第一启动项,在“Boot”选项卡里选择你刚刚在”写入方式“中选择的那一项就行了。按”F10“保存,就进入了重装系统的界面了。

2010年2月19日星期五

升级ubuntu 9.10内核后无法进入系统的解决方法(Wubi安装)

今天早上开始摆弄起自己用wubi安装的linux ubuntu 9.10系统,在查找更新中看到内核升级到2.31-17了,我就选择更新,但在更新过程终有一个任务一直没有完成更新,我就直接按“Ctrl+C”给取消了,当我在重启系统时就遇到GRUB黑屏问题了。


屏幕上显示:

GNU GRUB version 1.97~bea4

[minimal BASH-like lin editing is supported For the first word,TAB licts possible command completions Anywhere elso TAB lists possible device/file completions]

sh:grub> (光标,让你输入东西)

按下TAB后

Possible commands are:

[badram boot cat chainloader configfile cupid dump echo exit export halt help initrd insmod linux list_env load _env loopback Is Ismod parser.rescue parser.sh reader.normal reader.resue reboot rmmod root save_env search ser sleep source terminal_input.console terminal_output.console test unset]

sh:grub> (光标,让你输入东西)


2010年1月19日星期二

C#面试题

1, 请你说说.NET中类和结构的区别?


  答:结构和类具有大体的语法,但是结构受到的限制比类要多。结构不能申明有默认的构造函数,为结构的副本是又编译器创建和销毁的,所以不需要默 认的构造函数和析构函数。结构是值类型,所以对结构变量所做的改变不会影响其的原值,而类是应用类型,改变其变量的值会改变其原值。申明结构用 Struck关键字,申明类用class关键字,向方法传递结构是时是通过值传递的,而不是通过引用。与类不同,结构的实例化可以不使用New关键字。类 可以实现接口。


2010年1月2日星期六

Win7"打开或关闭Windows功能"窗口空白解决方案

最近需要添加一个Windows功能,可以打开“打开或关闭Windows功能”窗口之后就是空白的,折腾了很久很久才找出了下面这个解决方案




在运行里输入regedit打开注册表编辑器

找到 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control

将 RegistrySizeLimit(REG_DWORD类型的) 的值改为 FFFFFFFF (10进制就是 4294967295)

重新启动计算机

以管理员身份运行 "SFC /SCANNOW" 等扫描结束后就一切OK了

怎么样,熟悉的“打开或关闭Windows功能”窗口出来了吧。



出现这个问题的主要原因是在安装ArcGIS9.3之后对注册空间进行了限制,只要修正过来就可以了。

2009年11月23日星期一

让Windows 7正常显示天气预报

当我们安装好windows7后,都会发现天气小工具用不了,特地在网上搜集了一下修复方法,最后终于修复成功,在这里和大家分享。


在网上搜了个修改过的zh-CN,把它释放到C:\Program Files\Windows Sidebar\Gadgets\Weather.Gadget文件夹里(我的系统盘是F盘),也就是替换原有的zh-CN文件夹,然后打开找到里面js文件夹中的weather.js文件,右键点“编辑”会发现仅有几个城市,但我们可以 case ("地名拼音, CHN"):

retLocation = "中文地名";

break;

//按照以上格式添加其他城市即可,

里面有个***的txt说明,名字是weather.txt别弄错了地方.

以上仅是理论,但实际操作起来还是有一定麻烦,我因为在这里面修改不动,我是把文件拖到桌面上修改后又放进去的,我还用到了一个右键添加“管理员取得所有权”的注册表文件,我平时为了减少权限的麻烦,在修改某些东西前总先取得所有权,可能对你也有帮助。



右键添加管理员取得所有权的注册表导入文件下载地址:

添加管理员取得所有权右键菜单.rar

修改的zh-CN文件夹下载地址:



zh-CN(天气小工具).rar



转载请注明来自 云在天边

本文章永久链接 http://blogyoume.appspot.com/2009/10/5/windows-7-weather-gadget.html

2009年8月28日星期五

使用杀毒软件的十大误区

几乎每个用电脑的人都遇到过计算机病毒,也使用过杀毒软件。但是,对病毒和杀毒软件的认识许多人还存在误区。杀毒软件不是万能的,但也绝不是废物。
误区一:好的杀毒软件可以查杀所有的病毒

2009年8月24日星期一

如何拒绝木马读取你的硬盘

很多时候当一台计算机中毒以后,我们的远控软件就会查看到你硬盘的重要数据,从而将之盗取。我们怎么防止这种情况出现呢?其实您可以把硬盘加密码。但是如果入侵者用远控软件访问就不需要输入密码,直接就能访问到你的硬盘。
今天为大家讲解如何将自己的硬盘隐藏起来,让别人不能访问你的硬盘。

##CONTINUE## 
我们以一个WindowsXP用户为例进行说明,假如我的重要文件在E盘。
方法一:
进入HKEY_CURRENT_USER\SoftWare\Microsoft\Windows\CurrentVersion\Policies\Explorer
分支中。在右窗口中新建一个二进值的键值名为“NoDrives”,磁盘驱动器所一一对应的键值如下:
A驱为“01000000”;B驱为“02000000”;C驱为“04000000”;D驱为“08000000”;E驱为“10000000”;F驱为“20000000”。
依此类推!
方法二:
开始→“运行”里输gpedit.msc并点确定→用户配置→管理摸板→Windows组件→WINDOWS资源管理器→阻止打开硬盘。
方法三:
我的电脑-管理-磁盘管理-更改驱动器路径-删除-确定。
前边两者可以防止别人在电脑控制台上看到你硬盘里的文件,后者呢可以防止远控软件的盗窃。
个人推荐使用第三者,这样释放驱动器和隐藏驱动器的时候也很方便

2009年7月14日星期二

VC基础学习:初学者指针指南


何为指针?
  指针基本上和其它的变量一样,唯一的一点不同就是指针并不包含实际的数据,而是包含了一个指向内存位置的地址,你可以在这个地址找到某些信息。这是一个很重要的概念,并且许多程序或者思想都是将指针作为它们的设计基础,例如链表。
  开始
  如何定义一个指针?呃,就像定义其它的变量一样,不过你还需要在变量名之前添加一个星号。例如,下面的代码创建了两个指向整数的指针:
  int* pNumberOne;
  int* pNumberTwo;
  注意到变量名的前缀“p”了吗?这是编写代码的一个习惯,用来表示这个变量是一个指针。
##CONTINUE##
  现在,让我们把这些指针指向一些实际的值吧:
  pNumberOne = &some_number;
  pNumberTwo = &some_other_number;
  “&”标志应该读作“the address of(……的地址)”,它的作用是返回一个变量的内存地址,而不是这个变量本身。那么在这个例子中,pNumberOne就是some_number的地址,亦称作pNumberOne指向some_number。
  现在,如果我们想使用some_number的地址的话,那么我们就可以使用pNumberOne了。如果我们希望经由pNumberOne而使用some_number的值的话,我们可以用*pNumberOne。“*”应该读作“the memory location pointed to by(由……指向的内存位置)”,它用来取得指针所指向的值。不过指针声明的情况例外,如“int *pNumber”。
  到现在都学到什么了(一个例子):
  咻!要理解的东西太多了,所以在此我建议,如果你还是不理解以上的概念的话,那么最好再通读一遍;指针是一个复杂的主题,要掌握它是要花些时间的。
  这里有一个示例,解说了上面讨论的那些概念。它是由C编写成,并不带有C++的那些扩展。
  #include
  void main()
  {
  // 声明变量:
   int nNumber;
   int *pPointer;
   // 现在,给它们赋值:
   nNumber = 15;
   pPointer = &nNumber;
   // 打印nNumber的值:
   printf("nNumber is equal to : %d\n", nNumber);
   // 现在,通过pPointer来控制nNumber:
   *pPointer = 25;
   // 证明经过上面的代码之后,nNumber的值已经改变了:
   printf("nNumber is equal to : %d\n", nNumber);
   }
  请通读并编译以上代码,并确信你已经弄懂了它是如何工作的。然后,当你准备好了以后,就往下读吧!
陷阱!
  看看你是否能指出以下程序的缺陷:
  #include
  int *pPointer;
  void SomeFunction()
  {
   int nNumber;
   nNumber = 25;
   // 使pPointer指向nNumber:
   pPointer = &nNumber;
  }
  void main()
  {
   SomeFunction(); // 让pPointer指向某些东西
   // 为什么这样会失败?
   printf("Value of *pPointer: %d\n", *pPointer);
  }
  这个程序首先调用SomeFunction函数,在其中创建了一个名为nNumber的变量,并且使pPointer指向这个变量。那么,这就是问题之所在了。当函数结束的时候,由于nNumber是一个本地变量,那么它就会被销毁。这是因为当语句块结束的时候,块中定义的本地变量都会被销毁。这就意味着当SomeFunction返回到main()的时候,那个变量就已经被销毁了,所以pPointer将会指向一个不再属于本程序的内存位置。如果你不懂这一点,那么你应该去读一读有关本地变量、全局变量以及作用域的东西,这些概念非常重要。
  那么,如何解决这个问题呢?答案是使用一种名为动态分配的技术。请注意:在这一点上,C和C++是不同的。既然大多数开发者正在使用C++,那么下面的代码就使用C++来编写。
  动态分配
  动态分配也许可以算是指针的关键技术了。它被用于在没有定义变量的情况下分配内存,然后由一个指针指向这段内存。虽然这个概念好像很让人糊涂,其实它很简单。以下的代码解说了如何为一个整数分配内存空间:
int *pNumber;
  pNumber = new int;
  第一行代码声明了一个指针pNumber,第二行代码分配了一个整数的空间,并使pNumber指向这一段新分配的内存。下面是另外一个例子,这一次使用了一个double:
  double *pDouble;
  pDouble = new double;
  这些规则是相同的T,所以你应该可以很容易地掌握。
  动态分配和本地变量的不同点是:你分配的内存在函数返回和语句块结束的时候不会被释放,所以,如果你用动态分配来重新编写上面的代码,那么它就会正常工作了:
  #include
  int *pPointer;
  void SomeFunction()
  {
   // 使pPointer指向一个new的整数
   pPointer = new int;
*pPointer = 25;
  }
  void main()
  {
SomeFunction(); // 让pPointer指向某些东西
printf("Value of *pPointer: %d\n", *pPointer);
  }
  请通读并编译以上的示例代码,并确信你已经弄懂了它为何如此工作。当调用SomeFunction的时候,它分配了一段内存,并使pPointer指向这段内存。这一次当函数返回的时候,这段new的内存就会完好保留,所以pPointer仍然指向某些有用的内容。这就是动态分配了!请确信你已经搞懂了这一点,然后继续阅读关于这段代码中的一个严重错误。
  来得明白,去得明白
  还有一个复杂的因素,并且是十分严重的——虽然它很好补救。问题是你分配的内存在离开的时候虽然仍然完好,但是这段内存永远也不会自动销毁。这就是说,如果你不通知电脑结束使用的话,这段内存就会一直存在下去,这样做的结果就是内存的浪费。最终,系统就会因为内存耗尽而崩溃。所以,这是相当重要的一个问题。当你使用完内存之后,释放它的代码非常简单:
  delete pPointer;
  这一切就这么简单。不管怎样,在你传递一个有效的指针——亦即一个指向一段你已经分配好的内存指针,而不是那些老旧的垃圾内存——的时候,你都需要无比细心。尝试delete一段已经释放的内存是十分危险的,这可能会导致你的程序崩溃。
  好了,下面又是那个例子,这一次它就不会浪费内存了:
  #include
  int *pPointer;
  void SomeFunction()
  {
   // 使pPointer指向一个new的整数
   pPointer = new int;
   *pPointer = 25;
  }
  void main()
  {
   SomeFunction(); // 让pPointer指向某些东西
   printf("Value of *pPointer: %d\n", *pPointer);
   delete pPointer;
  }
  唯一的一行不同也就是最本质的一点。如果你不将内存delete掉,你的程序就会得到一个“内存泄漏”。如果出现了内存泄漏,那么除非你关闭应用程序,否则你将无法重新使用这段泄漏的内存。
  向函数传递指针
  向函数传递指针的技术非常有用,但是它很容易掌握(译注:这里存在必然的转折关系吗?呃,我看不出来,但是既然作者这么写了,我又无法找出一个合适的关联词,只好按字面翻译了)。如果我们要编写一段程序,在其中要把一个数增加5,我们可能会像这么写:
  #include
  void AddFive(int Number)
  {
   Number = Number + 5;
  }
  void main()
  {
   int nMyNumber = 18;
   printf("My original number is %d\n", nMyNumber);
   AddFive(nMyNumber);
printf("My new number is %d\n", nMyNumber);
  }
  可是,这段程序AddFive中的Number是传递到这个函数中的nMyNumber的一份拷贝,而不是nMyNumber本身。因此,“Number = Number + 5”这一行则是向这份拷贝加上了5,而main()中的原始变量并没有任何变化。你可以运行这个程序试着证明这一点。
  对于这个程序,我们可以向函数传递这个数字内存地址的指针。这样,我们就需要修改这个函数,使之能接收一个指向整数的指针。于是,我们可以添加一个星号,即把“void AddFive(int Number)”改为“void AddFive(int* Number)”。下面是这个修改过了的程序,注意到我们已经将nMyNumber的地址(而不是它本身)传递过去了吗?此处改动是添加了一个“&”符号,它读作(你应该回忆起来了)“the address of(……的地址)”。
  #include
  void AddFive(int* Number)
  {
   *Number = *Number + 5;
  }
  void main()
{
   int nMyNumber = 18;
   printf("My original number is %d\n", nMyNumber);
   AddFive(&nMyNumber);
   printf("My new number is %d\n", nMyNumber);
  }
  你可以试着自己编写一个程序来证明这一点。注意到AddFive函数中Number之前的“*”的重要性了吗?这就是告知编译器我们要在指针Number指向的数字上加5,而不是向指针本身加5。
  最后要注意的一点是,你亦可以在函数中返回指针,像下面这个样子:
  int * MyFunction();
  在这个例子中,MyFunction返回了一个指向整数的指针。
  指向类的指针
  关于指针,我还有还有两点需要提醒你。其中之一是指向结构或类的指针。你可以像这样定义一个类:
  class MyClass
  {
  public:
   int m_Number;
   char m_Character;
  };
  然后,你可以定义一个MyClass的变量:
  MyClass thing;
  你应该已经知道这些了,如果还没有的话,你需要阅读一下这方面的资料。你可以这样定义一个指向MyClass的指针:
  MyClass *thing;
  就像你期望的一样。然后,你可以为这个指针分配一些内存:
  thing = new MyClass;
  这就是问题之所在了——你将如何使用这个指针?呃,通常你会这么写:“thing.m_Number”,但是对于这个例子不行,因为thing并非一个MyClass,而是一个指向MyClass的指针,所以它本身并不包含一个名为“m_Number”的变量;它指向的结构才包含这个m_Number。因此,我们必须使用一种不同的转换方式。这就是将“.”(点)替换为一个“->”(横线和一个大于号)。请看下面这个例子:
  class MyClass
  {
  public:
int m_Number;
char m_Character;
  };
  void main()
  {
  MyClass *pPointer;
  pPointer = new MyClass;
  pPointer->m_Number = 10;
  pPointer->m_Character = 's';
  delete pPointer;
  }
  指向数组的指针
  你也可以使指针指向数组,如下:
  int *pArray;
  pArray = new int[6];
  这将创建一个指针pArray,它会指向一个6个元素的数组。另一种不使用动态分配的方法如下:
  int *pArray;
  int MyArray[6];
  pArray = &MyArray[0];
  请注意,你可以只写MyArray来代替&MyArray[0]。当然,这种方法只适用于数组,是C/C++语言的实现使然(译注:你也可以把函数名赋值给一个相应的函数指针)。通常出现的错误是写成了“pArray = &MyArray;”,这是不正确的。如果你这么写了,你会获得一个指向数组指针的指针(可能有些绕嘴吧?),这当然不是你想要的。
  使用指向数组的指针
  如果你有一个指向数组的指针,你将如何使用它?呃,假如说,你有一个指向整数数组的指针吧。这个指针最初将会指向数组的第一个值,看下面这个例子:
  #include
  void main()
  {
   int Array[3];
   Array[0] = 10;
   Array[1] = 20;
   Array[2] = 30;
   int *pArray;
   pArray = &Array[0];
   printf("pArray points to the value %d\n", *pArray);
   }
  要想使指针移到数组的下一个值,我们可以使用pArray++。我们也可以——当然你们有些人可能也猜到了——使用pArray + 2,这将使这个数组指针移动两个元素。要注意的一点是,你必须清楚数组的上界是多少(在本例中是3),因为在你使用指针的时候,编译器不能检查出来你是否已经移出了数组的末尾。所以,你可能很容易地使系统崩溃。下面仍然是这个例子,显示了我们所设置的三个值:
  #include
  void main()
  {
   int Array[3];
  Array[0] = 10;
  Array[1] = 20;
Array[2] = 30;
   int *pArray;
   pArray = &Array[0];
   printf("pArray points to the value %d\n", *pArray);
   pArray++;
   printf("pArray points to the value %d\n", *pArray);
   pArray++;
   printf("pArray points to the value %d\n", *pArray);
  }
  同样,你也可以减去值,所以pArray - 2就是pArray当前位置的前两个元素。不过,请确定你是在操作指针,而不是操作它指向的值。这种使用指针的操作在循环的时候非常有用,例如for或while循环。
  请注意,如果你有了一个指针(例如int* pNumberSet),你也可以把它看作一个数组。比如pNumberSet[0]相当于*pNumberSet,pNumberSet[1]相当于*(pNumberSet + 1)。
  关于数组,我还有最后一句警告。如果你用new为一个数组分配空间的话,就像下面这个样子:
  int *pArray;
  pArray = new int[6];
  那么必须这样释放它:
  delete[] pArray;
  请注意delete之后的[]。这告知编译器它正在删除一个整个的数组,而不是单独的一个项目。你必须在使用数组的时候使用这种方法,否则可能会获得一个内存泄漏。
  最后的话
  最后要注意的是:你不能delete掉那些没有用new分配的内存,像下面这个样子:
  void main()
  {
int number;
int *pNumber = number;
delete pNumber; // 错误:*pNumber不是用new分配的
  }
  常见问题及FAQ
  Q:为什么在使用new和delete的时候会得到“symbol undefined”错误?
  A:这很可能是由于你的源文件被编译器解释成了一个C文件,因为new和delete操作符是C++的新特性。通常的改正方法是使用.cpp作为你的源文件扩展名。
  Q:new和malloc的区别是什么?
  A:new是C++特有的关键词,并且是标准的分配内存方法(除了Windows程序的内存分配方法之外)。你绝不能在一个C C++程序中使用malloc,除非绝对必要。由于malloc并不是为C++面向对象的特色设计的,所以使用它为类对象分配内存就不会调用类的构造函数,这样就会出现问题。由于这些原因,本文并不对它们进行讨论,并且只要有可能,我亦会避免使用它们。
  Q:我能一并使用free和delete吗?
  A:你应该使用和分配内存相配套的方法来释放内存。例如,使用free来释放由malloc分配的内存,用delete来释放由new分配的内存。
  引用
  从某种角度上来说,引用已经超过了本文的范围。但是,既然很多读者问过我这方面的问题,那么我在此对其进行一个简要的讨论。引用和指针十分相似,在很多情况下用哪一个都可以。如果你能够回忆起来上文的内容——我提到的“&”读作“the address of(……的地址)”,在声明的时候例外。在声明的这种情况下,它应该读作“a reference to(……的引用)”,如下:
  int& Number = myOtherNumber;
  Number = 25;
  引用就像是myOtherNumber的指针一样,只不过它是自动解析地址的,所以它的行为就像是指针指向的实际值一样。与其等价的指针代码如下:
  int* pNumber = &myOtherNumber;
  *pNumber = 25;
  指针和引用的另一个不同就是你不能更换引用的内容,也就是说你在声明之后就不能更换引用指向的内容了。例如,下面的代码会输出20:
  int myFirstNumber = 25;
  int mySecondNumber = 20;
  int &myReference = myFirstNumber;
  myReference = mySecondNumber;
  printf("%d", myFristNumber);
  当在类中的时候,引用的值必须由构造函数设置,像下面这种方法一样:
  CMyClass::CMyClass(int &variable) : m_MyReferenceInCMyClass(variable)
  {
// 这里是构造代码
  }
  总结
  这一主题最初是十分难以掌握的,所以你最好读上它个至少两遍——因为大多数人不能立即弄懂。下面我再为你列出本文的重点:
  1、指针是一种指向内存中某个位置的变量,你可以通过在变量名前添加星号(*)来定义一个指针(也就是int *number)。
  2、你可以通过在变量名前添加“&”来获得它的内存地址(也就是pNumber = &my_number)。
  3、除了在声明中以外(例如int *number),星号应该读作“the memory location pointed to by(由……指向的内存位置)”。
  4、除了在声明中以外(例如int &number),“&”应该读作“the address of(……的地址)”。
  5、你可以使用“new”关键字来分配内存。
  6、指针必须和它所指向的变量类型相配套,所以int *number不应该指向一个MyClass。
  7、你可以向函数传递指针。
  8、你必须使用“delete”关键字来释放你分配的内存。
  9、你可以使用&array[0]来获得一个数组的指针。
  10、你必须使用delete[]来释放动态分配的数组,而不是简单的delete。
  这并非一个完全的指针指南,其中有一点我能够涉及到的其它细节,例如指针的指针;还有一些我一点也未涉及到的东西,例如函数指针——我认为作为初学者的文章,这个有些复杂了;还有一些很少使用的东西,在此我亦没有提到,省得让这些不实用的细节使大家感到混乱。
  就这样了!你可以试着运行本文中的程序,并自己编写一些示例来弄懂关于指针的问题吧。

2009年6月23日星期二

使桌面图标背景透明方法

1. 我的电脑属性--高级--性能--设置--让WIN选择最佳设置--确定(或者自定义--在桌面上为图标标签使用阴影勾选后确定)

2. 桌面右键--排列图标--去除勾选在桌面上锁定WEB项目

3. 桌面属性--桌面--自定义桌面--web--去除勾选锁定桌面项目(包括网站地址)--确定

4.桌面属性--外观--效果--在菜单下显示阴影

5.在“运行”窗口中输入命令:gpedit.msc,然后确定后即可进入组策略管理器,打开组策略,在“用户配置→管理模板→桌面→Active Desktop”中,点活动桌面属性选定“未被配置”,点禁用活动桌面属性选定“已禁用”

2009年6月18日星期四

30秒清除你电脑中的垃圾(使你电脑急速如飞)

要轻松流畅上网你是否注意到你的电脑系统磁盘的可用空间正在一天天在减少呢?速度一天比一天迟缓呢?         因为Windows在安装和使用过程中都会产生相当多的垃圾文件,包括临时文件(如:*.tmp、*._mp)日志文件(*.log)、临时帮助文件(*.gid)、磁盘检查文件(*.chk)、临时备份文件(如:*.old、*.bak)以及其他临时文件。特别是如果一段时间不清理IE的临时文件夹 “Temporary Internet Files”,其中的缓存文件有时会占用上百MB的磁盘空间。这些垃圾文件不仅仅浪费了宝贵的磁盘空间,严重时还会使系统运行慢如蜗牛。所以应及时清理系统的LJ文件的淤塞,保持系统轻松流畅上网!现在就让我们一起来快速清除系统垃圾吧!!下面是步骤很简单就两步!

##CONTINUE##

      在电脑屏幕的左下角按“开始→程序→附件→记事本”,把下面绿色的文字复制进去,点“另存为”,路径选“桌面”,保存类型为“所有文件”,文件名为“清除系统LJ.bat”,就完成了。记住后缀名一定要是.bat,   ok!你的垃圾清除器就这样制作成功了! 双击它就能很快地清理垃圾文件,大约一分钟不到。
======就是下面紫色的文字(这行不用复制)=============================
@echo offecho 正在清除系统垃圾文件,请稍等......del /f /s /q %systemdrive%\*.tmpdel /f /s /q %systemdrive%\*._mpdel /f /s /q %systemdrive%\*.logdel /f /s /q %systemdrive%\*.giddel /f /s /q %systemdrive%\*.chkdel /f /s /q %systemdrive%\*.olddel /f /s /q %systemdrive%\recycled\*.*del /f /s /q %windir%\*.bakdel /f /s /q %windir%\prefetch\*.*rd /s /q %windir%\temp & md %windir%\tempdel /f /q %userprofile%\cookies\*.*del /f /q %userprofile%\recent\*.*del /f /s /q "%userprofile%\Local Settings\Temporary Internet Files\*.*"del /f /s /q "%userprofile%\Local Settings\Temp\*.*"del /f /s /q "%userprofile%\recent\*.*"echo 清除系统LJ完成!echo. & pause

2009年5月16日星期六

电脑自动关机故障的排除方法

如果确定系统没问题自动关机故障的排除方法:

1、有可能是BIOS的设置问题,进入BIOS里恢复默认设置或把主板的电池拿出来,反扣放电,等5分钟在反装进去即可。目的:是BIOS的设置恢复默认值,排除BIOS的散热预设自动重启或关机现象。

2、如果电脑在使用某一个应用程序软件时发生自动关机,则自动关机故障可能是由此程序软件引起的,一般将程序软件卸载即可。

##CONTINUE##

3、接着检查电源,电源品质差,老化或功率过小,无法满足电脑各配件的供电需求,可更换大功率高质量的电源,如果故障排除,则是电源引起的自动关机故障。

4、接着使用排除法,检查内存、显卡、CPU、CPU风扇、主板等。

5、检查内存,内存质量不过关、散热不良、超频、不同品牌的内存混插及CAS值设置过低等都可引起电脑自动关机,可用测试内存,并将BIOS中对内存参数进行相应调整。

6、检查主板,主板老化、电容失效或爆浆、主板电源插针、主板与机箱背板发生短路等均可引起自动关机,可将主板从机箱取出检查或测试,接着检查CPU的风扇转动及CPU的温度是否正常,接着检查CPU风扇散热片的底部硅胶是否变干,如果变干,将CPU风扇上的硅胶清理干净,然后重新涂上好的硅胶即可。如果风扇不正常,更换CPU风扇。
7,可能是玩大型游戏导致CPU过热,而CPU风扇散热不好就会使电脑自动关机。如果是,而且经常发生自动关机故障,建议,更换一个高质量的转速高的 CPU散热风扇,风扇散热片的底部硅胶是否变干,如果变干,将CPU风扇上的硅胶清理干净,然后重新涂上好的硅胶即可。如果是游戏软件导致的自动关机,请卸载重装。

8、供电系统不稳定,也可造成自动关机故障的发生,可以考虑配置一台带稳压功能的UPS后备电源。

9、清洁法:是通过对电脑主机中部件的灰尘进行清洁来排除故障的方法。灰尘是也可造成电脑自动关机故障的因素之一,灰尘可以造成部件老化、引脚氧化、接触不良及短路等故障。对于灰尘造成的这些故障,一般使用清洁法比较有效。

2009年5月15日星期五

键盘上WIN键和它的使用

          WIN键就是键盘上显示WINDOWS标志的按键。位于CTRL键与ALT键之间,一般有左右两个。
  计算机应用中,WIN键总是配合其它键使用。
##CONTINUE##
  用法如下:
  WIN 显示或隐藏"开始"菜单。

  WIN+ D 显示桌面;重复操作一遍即可返回原来的窗口

  WIN+ E 打开"资源管理器"。

  WIN+ F 搜索文件或文件夹。

  WIN+ L 如果连接到网络域,则锁定您的计算机,或者如果没有连接到网络域,则切换用户。

  WIN+ M 最小化所有窗口。

  WIN+ R 打开"运行"对话框。

  WIN+ U 打开"辅助工具管理器"。

  CTRL+WIN+ F 搜索计算机。

  WIN+ BREAK 显示"系统属性"对话框。

  WIN+ Shift + M 还原最小化的窗口。

  WIN+ F1 显示 Windows 帮助。

2009年5月10日星期日

如何清除电脑中的一些历史记录

1.清除最近使用过的文档记录


以Windows XP为例,右键点击“开始”按钮,选择“属性”,在弹出的设置任务栏和开始菜单属性对话窗中点“自定义”按钮,在“自定义开始菜单”对话框中的“高级”标签下点“清除列表”。若要让系统永不自作多情记住使用文档的记录,请去掉“列出我最近打开的文档”前的钩。

小提示:XP会把最近访问文档的快捷方式放在C:\Documents and Settings\用户名\Recent中,手工删除它们也能让文档菜单“失去记忆”。

2.删除临时文件夹中的内容
##CONTINUE##

当执行过安装软件、打开文档等操作时,在临时文件夹中会留下相应文件,可以手工清除在下列位置中的内容:C:\Windows\Temp、C:\Documents And Settings\用户名\Local Settings\Temp。如在删除时提示有文件在使用,就需要关掉相关程序,最好重启一次再删除。
3.清除“运行”、“查找”等处的历史记录

在“运行”对话框中,单击“打开”输入栏后面的下拉按钮时,我们可以清楚地看到我们最近都执行了哪些命令(如图1)。为了防止他人偷窥到自己的“运行”隐私,我们按照如下方法来及时将运行框中的使用痕迹清理掉:
图 1

依次选择“开始→运行”命令,在弹出的“运行”对话框中运行“Regedit”命令,在打开的注册表编辑界面中找到HKEY_CURRENT_USER\Software\Microsoft\Windows


\CurrentVersion\Explorer\RunMRU,在对应RunMRU分支的右边窗口中,你将看到最近的执行记录,依次选择每一个记录,并依次执行“编辑→删除”命令,将它们全部删除掉。最后再将计算机系统重新启动一下,你会发现运行框中的使用痕迹已经被清理掉了。



4.隐藏在IE中的行踪

上网后,会有大量信息反映你的所作所为,这还了得?

①清空Internet临时文件夹

别人查看“Internet临时文件夹”下的图片、Flash等文件便能大体知道你曾到过的网站。要清除它们,可依次单击IE菜单栏中的“工具”→“Internet选项”,打开“Internet选项”对话框,在“常规”标签中点击“删除文件”按钮,在弹出的“删除文件”窗口中勾选“删除所有脱机内容”,最后点击“确定”。

②我不要“小甜饼”(Cookie)

Cookie也可能是泄密的一个“罪魁祸首”,在“Internet选项”对话框的“常规”标签中单击“删除Cookies”按钮,待弹出窗口后单击“确定”按钮,可删除它们。

小提示:一种保险的办法是在上网后,进入Internet临时文件夹(该文件夹可在Internet选项对话框的“常规”选项下点“设置”来查看具体位置),删除其下所有内容,这样,临时文件及Cookie等都会被清除。

③消除访问网页的历史记录

IE会将最近三周的访问历史记下,要“踏网无痕”可得清除它们,只要删除“C:\Documents and Settings\用户名\Local Settings\History”文件夹中的所有内容即可。也可在Internet选项对话框的“常规”标签下点“清除历史纪录”按钮。

要让IE不记录访问历史,请在Internet选项对话框的“常规”选项下,将网页保存在历史纪录中的天数从默认的20改成0即可。

④清除IE记住的表单内容

当访问网站时,一些网页会提示输入,例如,搜索时会要求输入搜索内容、登录邮箱则要填用户名、密码——这些东西会被IE自动记录。要删除它们,可在“Internet选项”对话框的“内容”标签下点“自动完成”按钮,在弹出的“自动完成设置”对话框中将“表单”、“表单上的用户名和密码”和“提示我保存密码”前的钩去掉,再单击“清除表单”、“清除密码”按钮,当询问时点“确定”。

⑤删除地址栏列表中的网址

在IE地址栏中输入要访问站点的部分字母时会自动打开列表,其中有最近曾访问的相匹配的站点,这也得清除。

在“Internet选项”对话框的“内容”标签下单击“自动完成”按钮,打开“自动完成”对话框,去掉“Web地址”前的钩。

若安装了“中文网址”软件,采用上法不能将地址栏列表中的“网络实名”清除,此时要在“Internet选项”对话框的“高级”选项卡下,选中“网络实名”中的“清除地址栏下拉列表中显示的网络实名”项,单击“确定”。

小提示:当完成上述操作后,千万别忘清空回收站。若此处没有收拾干净,就将前功尽弃了。


二、清除你在应用程序中的“行踪”

一些软件会记录曾打开的文件等信息。因此在将系统中的痕迹打扫后,别忘了清除在应用程序中曾留下的踪影。

1.还系统一个干净的QQ

QQ会自动记录登录号码和聊天记录,如何才能“聊天不留痕”呢?很简单,只要在QQ登录对话框中点“清除记录”按钮,系统将提示是否删除对应的所有记录文件等,勾选该项,然后输入QQ登录密码,点击“确定”即可。

另外,在QQ2004中可选择登录模式,如不想在退出QQ后保存相关记录,可选择“网吧模式”。如果还不放心,最好在退出QQ后手工清除QQ文件夹下用你的号码命名的文件夹。


2.清除MSN Messenger中的登录帐户信息

当在MSN Messenger中登录后,下次再登录会自动出现上次的用户名,要去掉它可在控制面板中双击“用户帐户”,然后选当前登录帐户,再选“创建我的NET PASSPORT”项,点击左侧“相关任务”下“管理我的网络密码”,在“储存用户名和密码”对话框中,选中要删除的帐户,点击“删除”按钮。


3.消除Office系列软件中的使用痕迹

Office 系列软件会保存打开过文件的快捷方式,需进入C:\Documents and Settings\用户名\Application Data\Microsoft\Office\Recent文件夹,删除其中的文件。

另外,在Word中记录了最近使用的一些文件,点击 “工具”→“选项”菜单项,在“常规”标签下去掉“列出最近使用文件”项前的勾,可让其不显示出来。而在Excel、PowerPoint、Access等中都有相应的选项,可按照相同的方法去掉痕迹。


4.清除网际快车中的下载信息

网际快车会自动保存下载文件的信息,要清除可用下列方法:在网际快车中,将“正在下载”和“已下载”文件夹中的项目全部删除(被删除的项目会放入“已删除”文件夹),再将“已删除”文件夹下的内容完全删除。

5.清除“暴风影音”的记录

暴风影音会自动记录以往曾播放过的文件,点击“查看”/“选项”,在选项对话框右侧去掉“保留最近打开文件的历史记录”,确定后可去掉播放记录。


6.消除RealOne的播放记录

单击“工具”菜单中“参数设置”,在弹出对话框的“类别”中选“普通”项,点击“清除历史记录”。如不想自动记录播放记录,需要取消“允许在文件菜单中显示历史记录列表”选项。

7.清除Windows Media Player的历史记录

在WMP播放器中,依次点击“工具”→“选项”→“隐私”项,单击“清除历史记录”按钮,可将“文件”菜单中“打开”和“打开URL”对话框中存储的信息删除;单击“清除CD/VCD”则可删除存储的播放过的CD和DVD的所有媒体信息。为了让其不再记录,就要去掉“在播放机中保存文件和URL历史记录”前的钩选。

8.让输入法没“记性”

很多输入法会自动记忆曾输入过的内容。下面以一些输入法为例说明如何让它“失忆”。

①智能ABC:它虽不将记忆内容显示在提示行中,但会将常用到的词汇保存在c:\windows\system文件夹下的“tmmr.rem”文件中,将其删除。如要它“失忆”,可右击输入法图标打开“属性设置”,在对话框中去掉“词频调整”前的钩选即可。

②拼音加加:右击输入法图标,选择“设置”,然后在“设置”标签下选中“禁用词频调整”。要避免对单字也不调整频度,就要选择“单字频度调整方式”下的“禁用”。

③陈桥五笔:陈桥五笔会将输入过的内容自动记录到C:\chenhu2\cwbzlcz1.chh和cwbzlcz2.chh文件中,用写字板打开便可查看,这岂不是会泄密?因此在使用后务必将它们删除掉。

9 .用Maxthon清除上网记录

如果你使用Maxthon浏览器来上网,那要清除上网痕迹就非常简单了,你不需要逐项清除网页历史、搜索栏历史、cookie等,只要点击“工具”菜单中的“清除浏览记录”→“全部清除”,并在弹出中的对话框中点击“是”即可。


10.清除foxmail的邮件地址记录

使用Foxmail发送邮件后,在收件人栏中输入的地址将被记忆,只要输入这个地址的首字符便会自动补全,看来它也会泄密。

单击Foxmail中的“工具”→“系统设置”,在“常规”标签下单击“清除历史记录”按钮,在弹出的对话框中点击“是”。也可手工清除邮件地址记录:用记事本打开Foxmail安装文件夹下的foxmail.adc文件,删除其中的内容,再保存文件。

小提示:若将foxmail.adc文件设为“只读”属性,则以后输入的地址将不被记录。

经过以上的补救措施,在使用电脑时基本就不会留下蛛丝马迹了。为保证将使用电脑的痕迹擦除得干净、彻底,建议在清理结束时重启一次电脑后再关机。