电脑技术大全 下

社区服务
高级搜索
猴岛论坛电脑百科电脑技术大全 下
发帖 回复
倒序阅读 最近浏览的帖子最近浏览的版块
6个回复

[网络问题]电脑技术大全 下

楼层直达
丿STAR丶星星

ZxID:10627165

等级: 元老
没有人会记得我,潜水是唯一的选择.

举报 只看楼主 使用道具 楼主   发表于: 2010-07-08 0







电脑技术大全


41,Q:在 VB 编程中检测声卡是否存在?
A:
Option Explicit
Private Declare Function auxGetNumDevs Lib "winmm.dll" () As Long
Private Sub Form_Load()
  Dim i As Integer
  i = auxGetNumDevs()
  If i > 0 Then 'There is at least one sound card on the system
  MsgBox "A Sound Card has been detected."
  Else 'auxGetNumDevs returns a 0 if there is no sound card
  MsgBox "There is no Sound Card on this system."
  End If
End Sub
42,Q:在 VB 中终止 Windows95 的运行:
A:在Visual Basic 程序中,可以使用 Windows API 的 ExitWindowsEx 函数来从程序中重新启动计算机系 统。
要使用该函数,需要将如下声明语句包含在窗体的通常声明部分中:
   Private Declare Function ExitWindowsEx Lib "user32" (ByVal uFlags As Long,
ByVal dwReserved As Long) As Long
   ExitWindowsEx 函数需要 2 个参数,可以使用一个或多个下面的标识的组合来告诉 ExitWindowsEx 函 数希望进行哪种关机过程。
   EWX_FORCE 所有进程都被强制终止
   EWX_LOGOFF 所有的进程被强制止,并且用户退出登录(logged off)
   EWX_POWEROFF 计算机系统被关机,并且如果支持节电特性则计算机被物理关机
   EWX_REBOOT 计算机系统被关机并重新启动
   EWX_SHUTDOWN 计算机被物理地安全地关机
   下面的样例程序中使用了上面的三个标识的组合。该标识组合(EWX_LOGOFF,EWX_FORCE,以及EWX_REBOOT) 告诉 Windows
退出所有正在执行的进程,使用户退出网络登录,使计算机系统处于准备状态以供 用户关机。
样例程序的使用:
  1,在 VB 中开始一个新的项目,采用缺省的方法建立 Form1;
   2,将如下常量和声明语句添加到 Form1 的通常声明部分中(注意该声明语句需要书写在一行内):
Private Declare Function ExitWindowsEx Lib "user32" (ByVal uFlags As Long,
ByVal dwReserved As Long) As Long
Const EWX_LOGOFF = 0
Const EWX_SHUTDOWN = 1
Const EWX_REBOOT = 2
Const EWX_FORCE = 4
Const EWX_POWEROFF = 8
Const EWX_RESET = EWX_LOGOFF + EWX_FORCE + EWX_REBOOT
  3,在 Form1 上添加一个命令按钮控件,采用缺省的方法建立 Comand1, 将它的 Caption 属性设置为“ 重 新启动计算机”;
  4,将如下代码添加到 Command1 的单击事件中:
Private Sub Command1_Click()
  Dim X As Long
  X = ExitWindowsEx(EWX_RESET, dwReserved)
End Sub
   按下 F5 来运行上述样例程序,单击命令按钮,即可重新启动计算机系统。 
43,Q:给一大段 VB 程序一次性加上注释符号:
A:VB 注释程序代码的符号是 ',只要在某行程序前面加上该符号就可以注释该行程序。但如果程序代码语句很多的时候,一行一行地注释就非常不方便。其实
VB 本身提供了一次性注释多条语句的功能:在主菜单“视图”选项的“工具栏”下,选中“编辑”,VB
的界面会出现一排工具按钮,其中就有用于“设置注释块”和“解除注释块”功能的按钮。选中一块语句,按该按钮即可。
44,Q:VB 中在一个窗体中执行另一个窗体中的代码:
A:可以用“窗体.代码”的模式去执行别的窗体的代码。假设要在窗体 frm1 里执行窗体 frm2 的Form_Click 代码,程序如下:
Private Sub Form_Click()
  frm2.Form_Click() '在frm1 里执行 frm2 的 From_Click 代码
End Sub 
45,Q:Visual Basic 5.0 支持类吗?
A:支持。您可以在 Visual Basic 5.0/6.0
的内部创建自己的类。具体说,您可以为各种类型的应用程序创建标准的基础类库,以便为具体类型的程序提供特定的功能,然后将这些类编译进您的应用程序中。这样做可以节省大量您在某一应用程序中重新编写一系列标准功能所需花费的时间。
46,Q:在 VB 5.0 中文版中,表单上最多允许有多少个控件?
A: Visual Basic 5.0 允许在表单上最多可以有 255 个控件。
47,Q:Visual Basic 能用来创建在 Windows CE 环境下运行的应用程序吗?
A:不能。目前情况下,您必须使用 Visual C++ 或其他与 Windows 95 兼容的 C/C++ 编译工具。
48,Q:Visual Basic5.0/6.0 能用来创建 Windows NT 服务吗?
A:不能。Windows NT 中的服务必须是完全用机器代码编译的可执行文件。Visual Basic 目前不具备这一功能。您必须使用 Visual
C++ 4.x 或其他与 Windows NT 兼容的 C/C++ 编译工具来创建服务。有关编写 Windows NT 服务的信息,请参阅微软 MSDN
的有关内容。
49,Q:Microsoft Visual Basic 5 除了支持本机编译的代码外,还支持 p 代码吗?
A:支持。VB5.0 是第一个在将应用程序编译成 p 代码或本机代码方面提供了灵活操作可能性的 RAD 工具。编译成 p
代码可使应用程序的大小优化为最小。p 代码凭借这一最小化特性成为了低带宽条件下创建 Internet 应用程序的首选方式。本机代码编译极大地提高了速度(最高快
20 倍),但生成的可执行文件较大。 Visual Basic 是唯一既能够支持 RAD 的解释方式、编辑与连续、以及开发等,又能够支持从本机编译的 .EXE
文件的 RAD 工具。
50,Q:Microsoft Visual Basic 可以在 Macintosh 上使用吗?
A:VB4.0 引入了可移植的 VBA (Visual Basic for Applications)语言引擎。Microsoft Excel 5.0
最近已在 Macintosh 上发行,其中随附了 Excel 的 VBA 组件,因此在它上面就有这个语言引擎。微软目前似乎对 Macintosh 上的
Visual Basic 版没有任何承诺。
51,Q:Visual Basic 5.0/6.0 支持 16 位开发吗?
A:不支持。Visual Basic 5.0/6.0 只能创建 32 位可执行文件。开发 16 位 Windows 应用程序需要 Visual
Basic 4.0。
52,Q:Visual Basic 5.0 中文版内的 Text Box 能存储 64K 以上的数据吗?
A:不能。VB5.0 中文版没有突破文本框的 64K 限制,因为它是由操作系统指定的。如果您需要存储 64K 以上的数据,应使用 Visual
Basic 内含的多信息文本框。多信息文本框类似于多行文本控件,不同的是增加了个别字符和段落的格式编排功能。多信息文本框能够保存 64K 以上的文本,提供内置的
OLE 2.0
客户支持,主要特性包括:使一个段落内的文本左、右、居中对齐,可定义左制表位、字体样式、简单的项目符号、查找/替换、上标、下标、加删除线等格式编排。
53,Q:在 ASP 编程中统计查询结果的记录数:
A:
<%
  Set theConn=Sever.CreateObject("ADODB.Connection")
  Set theRs=Sever.CreateObject("ADODB.RecordSet")
  theConn.Open "FILEDSN=d:\Program Files\Common Files\ODBC\Data
Sources\MyData.dsn"
  theRs.Open "SELECT COUNT(*) as Mycount FROM theTable",theConn
%>
共有<% =theRs("MyCount")%>条记录
<%
  theRs.Close
  theConn.Close
%>
54,Q:为何无法编译成 dll 文件?
A:无论是用 VB 还是 VJ++,在编译 Active dll 文件时都会发现无法重新编译成 dll 文件的问题。原因是第一次编译后 dll
文件已经被自动注册了。这时关闭 Web server 后即可再次编译,待编译完毕后再打开 Web server。
55,Q:资源文件有什么用处?
A:最重要的有两个地方:
1、国际发行:如果我们将 Application 中所有的文字从 Resource 中读取,那么,只要更动 Resource
文件的内容,就可以用不同语言的方式来显示;
2、管理资源:例如,我们的软件中用了数百张的图片或声音,不用 Resource
文档的话,在发行出去的软件中,就必需有数百个图形、声音文档,那似乎不太好,使用 Resource 文件,便可以将这些图形、声音放进一个 .Res 文档中。
56,Q:如何在 DOS 程序结束执行时,自动将其关闭?
A:在 VB 程序中启动 DOS 程序(或指令)的方法是:
  Shell "DOS可执行文件名", vbNormalFocus
例如:Shell "Xcopy c:\temp\*.* d:\temp\*.*", vbNormalFocus
但是当以上的 Xcopy 程序结束执行时, 却会残留着 DOS 窗口没有被关闭,如果想要让 DOS 程序结束执行时, DOS 窗口自动被关闭,
则应该使用以下方法来启动 DOS 程序:
Shell "Command.com /C DOS可执行文件名", vbNormalFocus
例如:Shell "Command.com /C Xcopy c:\temp\*.* d:\temp\*.*", vbNormalFocus
57,Q:VB 编程中打开默认网址和 Email 的更简单的方法:
A:打开网址:Call Shell("start
http://www.alchemydev.com", vbHide)
  打开 Email:Call Shell("start
mailto:[email protected]", vbHide)
58,Q:我用 VB6.0 的 ActiveX dll 工程开发了一个在 ASP 中调用的 dll 类型库,里面有好多封装的函数,我能不能在 VB 的
EXE 工程中利用它们?
A:当然可以! 这正是微软 COM 模型的具体应用之一。具体用法是:在 VB 的 EXE 工程的 IDE
界面中,引用你建立的类库文件,然后在“对象浏览器”里就可以看到你的所有类及其函数。比方你的类 myobj 中有函数 myfun(),则调用语句是:
  dim theobj as new myobj
  ret = theobj.myfun() 'ret 为函数返回值
当然如果你要在别的机器上使用你的组件,就必须先进行注册:regsvr32 <你的组件名>
59,Q:“我爱你”病毒传播的秘密:
A:千禧年五月分大面积流行的 "ILOVEYOU" 病毒至今让人记忆尤新。这种病毒是一种通过电子邮件流行的典型的蠕虫病毒。她是通过调用 Outlook
的应用程序对象的属性和方法进行信件发送的,其发送邮件的基本代码如下:
  Set OlApp = CreateObject("outlook.application")
  Set Oitem = OlApp.CreateItem(olMailItem)
  With Oitem
  .Subject = "邮件主题"
  .To = "收件人"
  .Body = "邮件正文"
  .attachments.Add "path:附件"  ' 添加附件
  .Send ' 发送邮件
  End With
60,Q:在 PowerBuilder 中使用 RichTextEdit 控件,属性中没用
Font,我想设置字体怎么办(如果不设字体,读入一个文本文件,缺省的字体对不齐)?
A:RichTextEdit 没有 Font 属性,在 Document 属性页中选择 Toolbar,使用的时候可以自行选择字体。
61,Q:在一个 PowerBuilder 程序中,我想用 RichTextEdit 控件从本地取文本文件显示,可是在我的机器上 RTE
只能显示出少量英文和乱码,程序并没有编错,因为相同的程序在其他人的机器上显示出的是正确的文本,不知是什么原因?
A:应该是默认的类型不正确,导入的时候指定类型为 FileTypeText 试试。
62,Q:如何在 PowerBuilder 的 BLOB 字段中写入大于 1M 的文件(数据库为MSSQL 7.0)?
A:源文件分块写。
63,Q:用程序控制电脑说英语?
A:现在,应用 Microsoft 提供的一套文字朗读引擎(Text-To-Speech Engine,简称
TTS),可以在程序中编写代码来使安装了声卡的电脑流畅的朗读英文。如果安装了“金山词霸2000”,那么 Windows 文件夹下会有一个 Speech
文件夹,里面的文件 vtxtauto.tlb 文件就包含了有关的类型库和函数,我们完全可以在我们的程序中调用它们,使电脑开口说话。TTS
包含在“金山词霸2000”的安装盘上,文件名为 mstts.exe 和 spchapi.exe。要在 VB 程序中调用 TTS,必须首先引用
vtxtauto.tlb 文件中的“VoiceText 1.0 Type Library”类型库,然后参考以下代码,电脑就可以说话了:
  Option Explicit
  Private Sub Form_Load()
  Call VTxtAuto.VTxtAuto.Register(Space(1), Space(1))
  VTxtAuto.VTxtAuto.Speed = 170 '设置语速(170 为正常语速,值越小语速越慢)
  Dim strTxt
  strTxt = "I love you very much.Do you love me? "
  On Error GoTo ErrorHandler
  Call VTxtAuto.VTxtAuto.Speak(strTxt, vtxtsp_VERYHIGH + vtxtst_READING)
  MsgBox "OK!"
  End
  ErrorHandler:
  ' 错误处理语句
  End
  End Sub
至于语速、频率等的控制,大家可以在“对象浏览器”里参看相关的控制属性。
(站长话题:什么时候能够让电脑说一口流利的中国普通话甚至是方言呢?
      但愿不会让我们等待太久!
      但愿生产厂家能够像微软一样把技术公布给普通用户!)
64,Q:怎样判断、防止程序重复执行?
A:
Private Sub Form_load()
'判断程序是否已经运行
If App.PrevInstance Then
MsgBox "本程序已经运行!", vbInformation Or vbOKOnly, "提示信息"
Unload Me
Exit Sub
End If
'以下是主要程序
' ……
End Sub
附:另一个例子:
Option Explicit
Public Sub CheckExist(fm As Form) '防止程序重复执行
  Dim title As String
  If App.PrevInstance Then
  title = App.title
  Call MsgBox("这程序已执行", vbCritical)
  App.title = "" '如此才不会 Avtivate 到自己
  fm.Caption = ""
  AppActivate title 'activate 先前就已运行的程序
  End ' 结束
  End If
End Sub
Private Sub Form_Load()
Call CheckExist(Me)
End Sub
65,Q:如何结束 Shell 所启动的程序?
A:如果被 Shell 所启动的程序还没有结束,我们就想主动结束它,该怎么做呢? 此时应调用的 Windows API 是
TerminateProcess, 细节如下:
1. API 的声明:
Const SYNCHRONIZE = &H100000
Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess
As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long)
As Long
Private Declare Function TerminateProcess Lib "kernel32" Alias
"TerminateProcess" (ByVal hProcess As Long, ByVal uExitCode As Long) As Long
(注1:如果以上的声明放在「一般模块」底下,应将 Declare 之前的 Private 保留字去掉,并且在 Const 之前加上 Public
保留字。)
2. Shell 的程序范例:(以执行 MS-DOS 为例)
Dim pId As Long, pHnd As Long ' 分别声明 Process Id 及 Process Handle 变数
pId = Shell("Command.com", vbNormalFocus) ' Shell 传回 Process Id
pHnd = OpenProcess(SYNCHRONIZE, 0, pId) ' 取得 Process Handle
Call TerminateProcess( pHnd, 0 ) ' TerminateProcess 所传入的是 Process Handle
Call CloseHandle( pHnd )
(注2:以上的方案只适用于 Shell 所启动的程序,ShellExecute 则不适用,原因是 ShellExecute
函数是通过资源管理器来启动程序,而资源管理器启动程序之后,并没有将 Process ID 或 Process Handle 传回来。
注3:以上程序在 Windos98、VB6.0 下调试通过。)
66,Q:用 VB5.0 创建 Windows 程序组中的快捷方式:
A:
'API 函数声明:要在 VB5.0 中创建 Windows 的快捷方式,需要用到一个动态链接库
Vb5stkit.dll。在该动态链接库中提供了三个函数
OSfCreateShellGroup、OSfCreateShellLink、OSfRemoveShellLink,分别用于创建快捷方式程序组、快捷方式、删除快捷方式。这三个函数的声明形式分别如下:
Private Declare Function OSfCreateShellGroup Lib "Vb5stkit.dll" Alias
"fCreateShellFolder" (ByVal lpstrDirName As String) As Long
Private Declare Function OSfCreateShellLink Lib "Vb5stkit.dll" Alias
"fCreateShellLink" (ByVal lpstrFolderName As String, ByVal lpstrLinkName As
String,ByVal lpstrLinkPath As String, ByVal lpstrLinkArguments As String) As
Long
Private Declare Function OSfRemoveShellLink Lib "Vb5stkit.dll" Alias
"fRemoveShellLink" (ByVal lpstrFolderName  As String, ByVal lpstrLinkName As
String) As Long
'实现的语句:
Dim lresult As Long
lresult = OSfCreateShellGroup("Test") '在程序菜单中添加一个名为 Test 的程序组
lresult = OSfCreateShellLink("test", "记事本", "c:\Windows\notepad.exe", "")
'在程序菜单的Test程序组下创建记事本的快捷方式
lresult = OSfRemoveShellLink("Test", "记事本") '删除 Test 程序组下的快捷方式
(注:在 Windows98/NT4.0、VB5.0 下可以正常运行。但创建桌面快捷方式和 Start Menu 快捷方式有些问题。在 VB6.0
中也有些问题(是否要安装 SP3?)。)
67,Q:VB 中使 TextBox 按 Mouse 右键时只出现自定 PopUp Menu?
A:一般我们可能在 TextBox 的 MouseDown Event 中 Check 是否按右键,若是,则设定出现 Popup Menu 程式如下:
Private Sub Text1_MouseDown(Button As Integer, Shift As Integer, X As Single,
Y As Single)
If Button = 2 Then
PopupMenu MyMenu
End If
End Sub
可是出现的还是原先内定的 Popup Menu,之后再按一次右键,才出现我们自定的 menu。很奇怪吧?如果用 API 来解决,那便是要拦截 Mouse
的按键(使用 SubClassing 的技巧),但是有人发现了以下的方式便可以解决(也是一个十分实作性的经验):
Private Sub Text1_MouseDown(Button As Integer, Shift As Integer, X As Single,
Y As Single)
If Button = 2 Then
Text1.Enabled = False : Text1.Enabled = True
PopupMenu MyMenu
End If
End Sub
68,Q:用 VB 实现拖放功能:
A:拖放是用鼠标拖动一个对象到其它对象的活动。在图形操作过程中,拖放是最常用的功能之一,下面我们来看看怎样用 VB 实现拖放功能。
  首先介绍与拖放有关的控件:
  1.属性:DragMode 决定拖动操作的初始化是人工方式还是自动方式,DragIcon 确定在拖动过程中显示的指针的图标形状;
  2.方法:Drag 开始,结束或取消拖动控件;
  3.事件:MouseDown 事件发生于用户按下鼠标按钮时,DragOver 事件发生于拖动操作完成时,DragDrop 事件发生于拖动操作正在进行时。
  然后编写一个小程序,这个程序能实现在窗口中或窗口间拖动图标的功能。建立窗口 Form1 和 Form2,在窗口中都加入
Image1,为它们设置初始显示的图片。键入以下代码(本程序在 VB5.0/6.0,Window95/98/NT4.0 环境下通过):
  ' Form1 下程序代码为:
  Option Explicit
  Dim dragx As Single
  Dim dragy As Single
  Const BEGIN_DRAG=1
  Private Sub Form_DragDrop(Source As Control, X As Single, Y As Single)
Image1.Picture=Source   'Sourse为被拖动的控件
   Form2.Image1.Picture=LoadPicture("")
   Image1.Move(X-dragx),(Y-dragy) ' X,Y为鼠标所在目标窗体或控件的当前坐标
  End Sub
  Private Sub Form_Load()
   Load Form2
   Form2.Show 0
  End Sub
  Private Sub Image1_MouseDown(Button As Integer,Shift As Integer,X As Single,Y
As Single)
   dragx=X
   dragy=Y
   Image1.Drag BEGIN_DRAG  '开始拖动操作
   Image1.DragIcon = LoadPicture("按下鼠标时想显示的光标")
  End Sub
  ' Form2 下程序代码为:
  Option Explicit
  Dim dragx As Single
  Dim dragy As Single
  Const BEGIN_DRAG=1
  Private Sub Form_DragDrop(Source As Control,X As Single,Y As Single)
   Image1.Picture=Source
   Form1.Image1.Picture=LoadPicture("")
   Image1.Move(X-dragx),(Y-dragy)
  End Sub
  Private Sub Image1_MouseDown(Button As Integer,Shift As Integer,X As Single,Y
As Single)
   dragx=X
   dragy=Y
   Image1.Drag BEGIN_DRAG
   Image1.DragIcon=LoadPicture("按下鼠标时想显示的光标")
  End Sub
69,Q:用 VB 程序如何改变桌面的墙纸图片?
A:此一问题需调用 SystemParametersInfo API 函数,细节如下:
1. API 的声明:
Const SPI_SETDESKWALLPAPER = 20
Const SPIF_UPDATEINIFILE = &H1
Private Declare Function SystemParametersInfo Lib "user32" Alias
"SystemParametersInfoA" (ByVal uAction As Long, ByVal uParam As Long, ByVal
lpvParam As Any, ByVal fuWinIni As Long) As Long
注:如果以上的声明放在「一般模块」底下,应在 Const 之前加上 Public 保留字,并且将 Private 保留字去掉。
2. 程序范例:
Call SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, BMP图档名称,
SPIF_UPDATEINIFILE)
例如:
' 1. 将桌面图片设定成 c:\windows\setup.bmp:
  Call SystemParametersInfo(SPI_SETDESKWALLPAPER, 0,
"c:\windows\setup.bmp", SPIF_UPDATEINIFILE)
' 2. 将桌面图片清掉:
  Call SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, "",
SPIF_UPDATEINIFILE)
程序如下:
  Call SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, BMP图档名称,
SPIF_UPDATEINIFILE)
但以上程序设定图片之后,必须等到下次 Windows 重新启动时才生效,如果希望设定之后立刻生效,则程序须修改如下:
Const SPIF_UPDATEINIFILE = &H1
Const SPIF_SENDWININICHANGE = &H2
Const SPI_SETDESKWALLPAPER = 20
Call SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, "c:\windows\setup.bmp",
SPIF_UPDATEINIFILE +  SPIF_SENDWININICHANGE)
此外希望只有本次使用 Windows 时改变桌面图片(下次开机时还原原状),则程序如下:
Call SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, "c:\windows\setup.bmp",
SPIF_SENDWININICHANGE) ' 去掉 SPIF_UPDATEINIFILE
70,Q:用 VB 程序捕捉屏幕图像:
A:在 Form1 上添加一个 Picture 和 Command 控件,代码如下(Windows98/NT、VB6.0):
Private Declare Function ReleaseDC Lib "user32" (ByVal hwnd As Long, ByVal
hdc As Long) As Long
Private Declare Function OpenClipboard Lib "user32" (ByVal hwnd As Long) As
Long
Private Declare Function EmptyClipboard Lib "user32" () As Long
Private Declare Function SetClipboardData Lib "user32" (ByVal wFormat As
Long, ByVal hMem As Long) As Long
Private Declare Function SelectObject Lib "gdi32" (ByVal hdc As Long, ByVal
hObject As Long) As Long
Private Declare Function DeleteDC Lib "gdi32" (ByVal hdc As Long) As Long
Private Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, ByVal x
As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal
hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As
Long
Private Declare Function CreateDC Lib "gdi32" Alias "CreateDCA" (ByVal
lpDriverName As String, ByVal lpDeviceName As String, ByVal lpOutput As String,
lpInitData As Long) As Long
Private Declare Function CreateCompatibleDC Lib "gdi32" (ByVal hdc As Long)
As Long
Private Declare Function CreateCompatibleBitmap Lib "gdi32" (ByVal hdc As
Long, ByVal nWidth As Long, ByVal nHeight As Long) As Long
Private Declare Function CloseClipboard Lib "user32" () As Long
Sub ScrnCap(Lt, Top, Rt, Bot)
rWidth = Rt - Lt
rHeight = Bot - Top
SourceDC = CreateDC("DISPLAY", 0, 0, 0)
DestDC = CreateCompatibleDC(SourceDC)
BHandle = CreateCompatibleBitmap(SourceDC, rWidth, rHeight)
SelectObject DestDC, BHandle
BitBlt DestDC, 0, 0, rWidth, rHeight, SourceDC, Lt, Top, &HCC0020
Wnd = Screen.ActiveForm.hwnd
OpenClipboard Wnd
EmptyClipboard
SetClipboardData 2, BHandle
CloseClipboard
DeleteDC DestDC
ReleaseDC DHandle, SourceDC
End Sub
Sub Command1_Click()
Form1.Visible = False
ScrnCap 0, 0, 640, 480
Form1.Visible = True
Picture1 = Clipboard.GetData()
End Sub
71,Q:测试表中的记录总数又一法(笨而准确):
A:
Dim db As Database ' DAO
Dim rs As Recordset
Dim theRecordNum As Long
Set db = OpenDatabase(App.Path & "\mylib.mdb")
Set rs = db.OpenRecordset("test") '测试表 test 中记录数
theRecordNum = 0
rs.MoveFirst
Do While Not rs.EOF()
  theRecordNum = theRecordNum + 1
  rs.MoveNext
Loop
Debug.Print theRecordNum ' 在监视窗口中输出
72,Q:如何判断生成的记录集是“空集”(记录数为 0)?
A:如果记录集的 eof 为真,则记录集是“空集”:
  if AdoRS.EOF=true then
  ' ……
  EndIf
73,Q:VB 编程中如何使窗口右上角的关闭按钮(X)失效?
A:用以下两个过程中的一个即可:
1、Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
  Cancel = True
  End Sub
2、Private Sub Form_Unload(Cancel As Integer)
  Cancel = True
  End Sub
74,Q:用 VB 实现超级链接功能:
A:声明 ShellExecute 函数;在 form 上建立 label、line
控件各一个(myHttp、Line1),再仿照以下代码,即可打开浏览器登录
http://why100000.at.china.com 网站。
Private Declare Function ShellExecute Lib "shell32.dll" Alias
"ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile
As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal
nShowCmd As Long) As Long
Private Sub myHttp_MouseDown(Button As Integer, Shift As Integer, X As
Single, Y As Single)
  Line1.Visible = False
End Sub
Private Sub myHttp_MouseMove(Button As Integer, Shift As Integer, X As
Single, Y As Single)
  Line1.Visible = True
End Sub
Private Sub Form_MouseMove(Index As Integer, Button As Integer, Shift As
Integer, X As Single, Y As Single)
  Line1.Visible = False
End Sub
Private Sub myHttp_Click()
  Dim HttpJump
  Dim MyUrl As String
  MyUrl = "
http://why100000.at.china.com"
  HttpJump = ShellExecute(0&, vbNullString, MyUrl, vbNullString,
vbNullString, vbNormalFocus)
End Sub
75,Q:在 VB 安装程序中加入“卸载”功能:
A:在制作安装盘的过程中,在建立程序项的时候,建立一个名为“卸载”的程序项,“目标”文本框中填入命令:
  $(WinPath)\st6unst.exe -n "$(AppPath)\st6unst.log"
  这样安装后的程序就会有卸载功能了。
76,Q:怎样在 VC++ 中产生闪烁的光标
A:先调用函数 CreateCaret(),然后再调用函数 ShowCaret()。例如:
  if(CreateCaret(hWnd,NULL,2,20))
{
  SetCaretPos(0,0);
 ShowCaret(hWnd);
}
77,Q:VFP 程序编译成 .EXE 文件后运行,为在什么屏幕上一闪而过就结束了?
A:这是初学 VFP 的人易犯的一个错误,只要在主文件中加入 read events 语句,在退出程序中加入 clear events 即可。
78,Q:VB 中如何在保存并覆盖文件时让其出现对话框,询问是否替换
A:用 CommonDailog 控件,在 CommonDialog 控件 Flags 属性设定中添加
cdlOFNOverwritePrompt,如:
CommonDialog1.Flags=CommonDialog1.Flags Or cdlOFNOverwritePrompt
  CommonDialog1.ShowSave
79,Q:VB6 中的字体出现乱码怎么办?
A:这是 VB 的 Bug。引起的原因是系统中安装了 Word2000 或 IE5.x 以及繁体支持,将繁体支持删除,或者安装 VB6 的 SP3 或
SP4 就可以解决问题。
80,Q:怎样用 VB 编写多线程程序
A:尽管 VB5.0 是单线程的,但用 addressof 加上一些 API 函数,就可以非常容易的做多线程程序。每一个线程约占用 20
毫秒的时间片。
VB5 有一个主线程,我们可以另外加一个工作线程。对于不清楚什么是单/多线程的程序员,我们用一个简单的列子来说明一下:
在 Form 里加上两个 timer 控件,把 interval 属性设成 5000(5秒),然后在两个 timer1_timer 事件中放一个大 Loop,如
for 10000 next, 运行。你会看到第二个 timer 控件不会在五秒后执行,除非 timer1 的for-next
结束。同样,如果你的程序中有大量的数据库读写,你的用户界面可能被“冻”。这时,我们就需要用多线程来改进程序了。(当然你可以用 DoEvents 来避免被冻,但用
DoEvents 有很多副作用-这里不提。)
我们用的第一个 API 是 CreateThread,VB 的格式是:
private declare function CreateThread Lib "kernel32" (byval
pThreadAttributes as any, byval dwStackSize as long, byval lpStartAddress as
long, lpParameter as any, byval dwCreationFlags as long, lpThreadID as long) as
long
CreateThread 的参数指出你将要创立的线程是什么样子的,CreateThread 的返回值是一个线程的 handle。以下是
VB 的多线程初始化程序:
  Public Sub Initialize(lpfnBasFunc as long)
  dim dwStackSize as long
  dim dwCreationFlags as long
  dim lpThreadId as long
  dim lpParameter as long
  dim myNull as long
  myNull = 0& 'create a null pointer
  dwStackSize = 0 '0 表示用 exe stack size
  dwCreationFlags = 4 '用 4 表示初始化后先不激活,让别人来激活
  Me.Thread = CreateThread(myNull, dwStackSize, lpfnBasFunc, myNull,
dwCreationFlags,lpThreadId)
  If Me.Thread = myNull then
  Msgbox "create thread failed"
  End if
  End Sub
下面是两个 API 用来激活/暂停该线程:
  private declare function ResumeThread lib "kernel32"(byval hThread as
long)as long
  private declare function SuspendThread lib "kernel32"(byval hThread as
long)as long
让我们来用一个变量表示当前线程的状态:
  public ThreadStatus as boolean
在 VB 里,可用 property 来实现 ThreadStatus 的管理。
  Public property Let Enabled(byval vNewValue as boolean)
  if vNewValue = true and Me.ThreadStatus = false then
  ResumeThread Me.Thread
  Me.ThreadStatus = True
  elseif Me.ThreadStatus = true then
  SuspendThread Me.Thread
  Me.ThreadStatus = False
  end if
  End Property
这个简单的类可以用 New Object 来引用:
  'make new thread object
  dim myThread as New clsThreads '创建县城 Foo
  myThread.Initialize AddressOf Foo '激活县城
  myThread.Enabled = True
执行后,你可以用 PVIEW95.EXE 看到你的线程。你还可以提高你的线程的优先级:
  SetThreadPriority '设优先级
  GetThreadPriority '查优先级
你把以上的程序加入 timer 例子,就会看到两个 timer 同时运行。
这里要提醒一下,VB5 的开发环境是单线程的,如果你的程序写错,或中断后试图恢复,往往会出错,有时是严重出错。总之,用 VB 的多线程可以写出和
VC++ 一样快的程序,而且开发容易的多,开发效率也快得多。
81,Q:加快 Delphi5.0 启动速度
Aelphi5.0 的启动确实有点慢,既要显示快闪窗口,又要读注册表设置,对于配置低的机器简直是一种折磨,实际上我们可以通过启动参数来控制它:
建立一个快捷方式,目标为:C:\DELPHI5\Delphi5\Bin\delphi32.exe /ns /np (假设 delphi 装在C:\delphi5
目录下),ns 表示 no splash,即不显示快闪屏幕,np 表示 no project,即不加载工程。
82,Q:观察 Delphi5.0 内存堆分配情况:
A:建立一快捷方式,目标为:C:\DELPHI5\Delphi5\Bin\delphi32.exe /hm /hv
此后每启动此快捷方式就可看到 Delphi5.0 的标题栏上不停变化的堆分配字节数。
83,Qelphi 中如何在打印或打印预览前获取报表页数
A:有时需要在打印前获取报表的打印页数,比如我们需要在页眉或页脚中打印“共 xx 页 第 xx 页”,如何实现呢?QuickReport 生成
Report 之前,我们是无法得知报表页数的,而 QuickReport
是在打印或打印预览时才生成报表,换言之我们只有在打印或打印预览前先将报表生成一次才能获取打印页数。生成报表的方法是 Prepare,请参考以下的例子:
...
var nPageCount:integer;
begin
  {...}
  QuickRep1.Prepare;
  nPageCount:=QuickRep1.QRPrinter.PageCount;
  QuickRep1.QRPrinter.Free;
  QuickRep1.QRPrinter:=nil;
  {在此修改QuickRep1,实现在页眉或页脚中打印“共 xx 页 第 xx 页” ... }
  QuickRep1.PreView;
  {...}
End;
84,Q:如何在 Delphi 中实现普通文件的拷贝?
A:示例代码如下:
procedure TForm1.btnCopyClick(Sender: TObject);
var
sfile,dfile : String;
begin
sfile :='a.txt'; //被copy的文件
dfile :='b.txt'; //copy后的文件名
CopyFile(pchar(sfile),pchar(dfile),false);
第三个参数为 false,如果 b.txt 已经存在,则覆盖;如果为 true,则不进行操作。
85,Q:用 Delphi 编写支持多国语言的程序
A:使用 Delphi5.0 的 Integrated Translation Environment(ITE) 可以轻易完成这个工作。
创建一个示意性的工程 MultiLanguage,在 Form 上放一个 Label 和一个 Button,分别把 Caption
赋值为“English Label”和“English Button”。
选择菜单 Project|anguages|Add ...,Delphi 显示 Add Languages 对话框, 选择 Next。
从语言列表中选中“英语(美国)”和“中文(中国)”,选择 Next。
ITE 会根据所选的语言创建子目录,目录名称是语言的缩写,选择 Next。
第一次增加语言时,Update Mode 为 Create new, 选择 Next。选择 Finish。
Delphi 会自动创建支持不同语言的资源动态库。Delphi 还会自动创建一个工程组,其中包括原有的
MultiLanguages.EXE,还包括新建的两个资源动态库(MultiLanguages.enu,MultiLanguages.chs)。保存工程组。
Delphi 启动 Translation
Manager,左边是需要翻译的语言,右边是完成百分比。选择“中文(中国)”|Forms|Unit1,在右边第 15 行和 20
行填写翻译后的中文。保存并关闭。
打开 Project Manager,编译 MultiLanguages.enu 和 MultiLanguages.chs,Delphi
会在相应的子目录生成资源动态库,但后缀不是 DLL 而是 ENU 和 CHS。
86,Q:在 SQL Server 中怎么样恢复数据的存储?
A:在 SQL Server 中提供了这种恢复方式的存储过程。
一个数据库包括两个文件,mdf 数据库文件和 ldf 日志文件
1.sp_attach_db [@dbname =] 'dbname',[@filename1 =] 'filename_n'
给系统添加一个数据库,在 dbname 指定数据库名称,filename_n 指定数据库的文件和日志文件。比如我有一个 ji 的库,停止SQL
Server 服务备份 ji_data.mdf,ji_log.ldf,启动SQL server,删除掉这个库,然后再把这两个文件拷到 sql
server DATA 目录中,在 Query Analyzer 中执行如下语句:
EXEC sp_attach_db @dbname = N'ji',
@filename1 = N'd:\mssql7\data\ji_data.mdf',
@filename2 = N'd:\mssql7\data\ji_log.ldf'
就会把这个库加入到 SQL Server Group 中。
87,Q:Asp 中无 DSN 法连接 SQL Server 数据库的方法及其注意问题
A:无 DSN 法连接 SQL Server 数据库的方法示例如下:
'Less-DSN 法连接 SQLServer 服务器
set conn=server.createObject("adodb.connection")
conn.Open "driver={SQL Server};server=mysqlserver; database=jspcs; uid=sa;
pwd=sql"
其中服务器名为 mysqlserver(ip=192.168.0.1),数据库为 jspcs,用户名为 sa,口令为 sql。由于使用了 TCP/IP
协议,所以 server=mysqlserver 语句段还可以写成指向安装 SQL Server 的机器的 IP 地址,即
server=192.168.0.1,注意该 IP 地址必须是网卡的默认(基本) IP 地址。同时,如果在 Client 端设置 SQL Server
ODBC,也可以把服务器名输成 SQL Server 的 IP 地址。
88,Q:Delphi 中判断系统是否已经安装了声卡
A:要判断系统是否安装了声卡,调用 Winmm.dll 中的 waveOutGetNumDevs 和 midiOutGetNumDevs
函数就可以了。这两个函数在 Var 部分的说明如下:
function waveOutGetNumDevs: longint; stdcall; external 'winmm.dll' name
'waveOutGetNumDevs';
function midiOutGetNumDevs: longint; stdcall; external 'winmm.dll' name
'midiOutGetNumDevs';
//判断声卡是否存在
Function IsSoundcardInstalled : Boolean;
Var
WaveOutPutDeviceCount : Integer;
MidiOutPutDeviceCount : Integer;
Begin
Result := False;
WaveOutPutDeviceCount := waveOutGetNumDevs;
MidiOutPutDeviceCount := midiOutGetNumDevs;
if (WaveOutPutDeviceCount>0) and (MidiOutPutDeviceCount>0) Then
  Result := True
Else
  Result := False;
End;
procedure TForm1.Button1Click(Sender: TObject);
Begin
if IsSoundcardInstalled Then
  ShowMessage('系统已经安装了声卡.')
Else
  ShowMessage('系统没有安装声卡.');
end;
89,Q:用 ASP 打开 Web 服务器上的应用程序
A:
<%
dim wsh
set wsh = createobject("WScript.Shell")
response.write wsh.run("command.com")
set wsh = nothing
%>
90,Q:一个用进度条表示的时钟
A:在 Form 上拖 3 个进度条,命名为 h、m、s,分别表示时、分、秒,再放一个 Timer 控件,然后键入以下代码:
Private Sub Form_Load()
  h.Orientation = ccOrientationVertical
  h.Scrolling = ccScrollingSmooth
  h.Max = 24: h.Min = 0
  m.Orientation = ccOrientationVertical
  m.Scrolling = ccScrollingSmooth
  m.Max = 60: m.Min = 0
  s.Orientation = ccOrientationVertical
  s.Scrolling = ccScrollingSmooth
  s.Max = 60: s.Min = 0
End Sub
Private Sub Timer1_Timer()
  h.Value = Format$(Now, "hh")
  m.Value = Minute(Now)
  s.Value = Format$(Now, "ss")
End Sub
91,Q:Delphi 中实现对日期数据的有效性检验
A:函数如下:
function isdate(s:string):boolean;
begin
  result:=false;
  try
    strtodate(s);
    result:=true;
  except
    on econverterror do
    result:=false;
  end;
end;
92,Q:PHP4 的 CGI 版本和 ISAPI 版本有什么区别?
A:1、CGI 方式是以 php.exe 来解释 .PHP 文件的,ISAPI 方式是以 php4ts.dll 来解释 .PHP 文件的;
2、ISAPI 会快一些;
3、ISAPI 据说可以支持 HTTP 认证等功能;
4、ISAPI 方式没有 CGI 方式稳定,也不大好配置;
5、ISAPI 方式只有 WIN32 下才有,而且在 ISAPI 方式下和 CGI 方式下的一些全局变量的值会不一样。
93,Q:VFP6.0 一条语句有多长?
A:VFP6 的参考中说,每条语句中字符数的最大值是 8192个,但命令编辑器每行最多只能键入 255 个字符,对于超过 255
个字符的命令行,可以用分号将语句分成多行,每行都不长过 250
个字符即可。注意如果是字符串常量跨行,则后续行应以编辑器本行的第一个位置为基准,否则字符串中间会无端地加许多空格。
94,Q:Delphi 中调用 Windows API 函数 ShellExecute 实现打开 IE 和 Outlook 应用程序?
A:在 uses 单元加入 Shellapi 引用,然后应用以下语句(函数):
打开 IE:ShellExecute(Handle,'open','http://www……',nil,nil,SW_SHOWNORMAL);
打开
IE:ShellExecute(Handle,'open','mailto:[email protected]?subject=…&body=…',nil,nil,SW_SHOWNORMAL);
如果以上函数的返回值小于或等于 32,则表明发生网络错误。
95,Q:用一条 SQL 语句找出“相同的客户代码中序号最大”的那些数据:
A: Select * from meney_in_list WHERE 序号 IN (select MAX(序号) from
meney_in_list Group by 客户代码)
96,Q:在 Delphi5.0 中怎么找不到 Html 组件?
A: Html 组件在 Delphi4.0 中有,在 Delphi5.0 中已经升级为 TWebBrowser 组件,且功能有所加强,比如支持图片。
97,Q:在 Delphi 中实现控件焦点转移?
A:要在 Delphi 中实现按回车后控件焦点的转移,可以调用 Windows API 消息发送函数 PostMessage,做法如下:
把 Form1 的 KeyPreview 属性设为 True,在 Edit 和 Memo 的 OnKeyPress 事件中加入以下代码:
  if Key=#13 then
  if not (ActiveControl is TMemo) then
  PostMessage(Handle,WM_KERYDOWN,VK_TAB,0);
98,Q:在 Delphi 中判断本程序是否已经运行?
A:要判断实例是否运行,必须在程序的消息循环之前,在 Delphi 中,是在 Application.Initialize 之前。实现本功能,
Delphi 使用的主要函数是 CreateMutex。这个函数用来生成一个 Mutex 对象的句柄,这个句柄具有操作系统的全局命名空间。
  Delphi 例子程序的部分代码如下:
  const MB_MINE = MB_OK or MB_ICONINFORMATION or MB_TASKMODAL;
  var
   hMutex: DWORD;
  begin
   hMutex := CreateMutex(nil, TRUE, 'MyMutex'); //TRUE 标明该进程拥有此 Mutex 对象
  if (GetLastError = ERROR_ALREADY_EXISTS) then //Mutex 对象是否存在
   begin
    ReleaseMutex(hMutex);
   Exit; //退出程序
    end
   else
   if hMutex = ERROR_INVALID_HANDLE
then //检查"mymutex"这个名字是否被其他诸如文件映射、信号灯和事件等对象占用
  MessageBox(0, 'The name matched with a existing object!',
'Information',MB_MINE)
  else
   begin
   Application.Initialize;
   Application.CreateForm(TForm1, Form1);
   Application.Run;
   ReleaseMutex(hMutex); //释放 Mutex 对象
   end;
99,Q:Delphi 与 VB、ASP 带变量参数 SQL 语句的比较
A:在 SQL 语句的 where 条件表达式中要带字符串变量 s 和数值变量 v,在 Delphi 中为:
  strSQL:='select * from a_table where a_f1='+''''+s+''''+' and a_f2='+'v';
在 VB 和 Asp 中为:
  strSQL="select * from a_table where a_f1='" & s & "' and a_f2=" & v
100,Q:Delphi 实现渐变窗口背景
  A:创建一个应用程序,在 Form1 的 OnPaint 事件里面添加如下一段代码:
  procedure TForm1.FormPaint(Sender: TObject);
  var
  i:word;
  dy,y:real;
  begin
  dy:=clientheight/256;
  y:=0;
  for i:=255 downto 0 do
  begin
  canvas.brush.color:=$00000000+i*$10000;
  canvas.fillrect(rect(0,round(y),clientwidth,round(y+dy)));
  y:=y+dy;
  end;
end;
  A:计算器。打开 Windows 附件中的计算器, 切换到“科学型”即可快速进行数制的转换。 
16,Q:在 FLASH4.0 中如何能让动画时快时慢呢?比如在一层中做一个球的直线运动,如何让它在第 25-45 频之间运动速度比 1-25
频要慢?
  A:在 tweening---easing 里,-100dao +100,可以设置由快到慢和由慢到快。 
17,Q:怎样才能给 Flash 动画建立热链接?
  A:先把 Graphic 转变成 button,选中 Graphic,按 F8,选 button,确认, 然后双击这个 button,在
actions 里点 + 号,选 get url,在右侧 url 文本框中填入指向的 url 目标,如果是 e-mail 就填
mailto:[email protected]。 
18,Q:flash 可能根据你自己画的图像自动量度图像的大小吗?
  A:输出时可选(自动将外围的空白去掉)。 
19,Q:如果一个带音乐的 .swf 文件播放途中再点播放,声音会变快的,到最后根本没法听了,怎么办?
  A:把声音中选项 sync: 中的 event 改为 start 试试看。 
20,Q:Flash 中能否将背景设为透明(.swf 格式)?
  A:1、输出时选 Publish,Settings 中把 HTML 项中的 Window 设成 Transparent 再
Publish,输出时会生成一个 HTML 文件,打开这个文件,把它的代码 COPY 下来,放入你的文件中,就 OK 了;2、直接在  dreamweaver
里给 .swf 加一个参数:wmode:transparent,不过其实和第一种方法原理是一样的,只是手工操作而已。 
21,Q:如何在 FLASH4.0 中生成可以播放 MOV 的 EXE 文件?
  A:用 standalone player。 
22,Q:如何把 Flash 作品作为屏幕保护?
  A:用 swfbrows.2.9。 
23,Q:.swf 文件除了放在网页上看以外,还能做什么用?
  A:1、当作您的多媒体作品;2、赚钱!3、可以做多媒体教室中的演示,你甚至可以用 Flash 编游戏,然后发布为 .EXE 格式;4、还可以做成
.GIF 文件什么的,用 Flash 做个聊天室也可以。Flash 动画功能很多, 但是做网页才是它最拿手的。 
24,Q:Photoshop 中“含图字”的做法:
  A: (1)在 layer1(层1)贴入背景图片;
  (2)选择黑色,用 type tool 文字工具在 layer2 中央输入“含图字”三个字;
  (3)重新选择layer1,按住 Ctrl 同时用鼠标点击 layer2,会在背景图上出现虚线的“含图字”;
  (4)按 Ctrl+C,再按 Ctrl+V,出现新层 layer3;
  (5)删除 layer1, layer2;
  (6)Save,OK! 
25,Q:Photoshop 中“彩虹字”的做法:
  A: (1)选择黑色,用type tool文字工具在区域中央输入“彩虹字”三个字;
  (2)双击Gradient tool渐影工具,会跳出Gradient tool Options窗口;
  (3)点击Edit按钮后,选择其中的Transparent Rainbow选项;
  (4)用鼠标从下至上在黑色的“彩虹字”拖一下;
  (5)Save,OK! 
26,:- Photoshop 技巧汇编 -
27,Q:在 Photoshop 添加“刷子”工具:
A:单击 Brushes 标签,然后单击标签右边的小三角,在弹出的菜单中选 Load Brushes。到 Photoshop 目录的
Goodies\Brushes 文件夹中选择 Assorted.abr、Drop Shadows Brushes.abr、Square
Brushes.abr,分别加载。哪怕你是老手,可能也不知道 Photoshop 里居然还有这么多可爱的东东!
28,Q:在 Photoshop 中保存可重复使用的标记:
A:画出一个漂亮的标记,想在作品中重复使用? 好办,用套索工具选好它,在 Brushes 的弹出菜单中选Define
Brush(限定画笔),然后用画笔工具选中这个新笔头。
29,Q:在 Photoshop 中制做标准圆形环绕文字:
A:我们假设要制作半圆型排列的文字,首先另建新层并在上面画一个圆表示文字按圆弧曲线排列。然后用文字工具键入一个字,按 CTRL+T
用鼠标将字中心的小圆点拖至刚才所画圆的中心放开,将鼠标移到字的边上即
会出现旋转的标识,旋转该字,可看到文字以圆心在旋转……重复上述步骤键入剩余文字。 
30,Q:用 ACDSee 更改文件创建时间(在 ACDSee Version2.41 下验证):
A:打开 ACDSee,选中需要操作的文件(可以一炊础多个文件),选“Tools/Change Timestamp/Current
Date&Time”,OK 确定。可以对任何类型的文件(图形文件和别的文件)进行操作。
31,Q:让 FoxMail3.1 自动进行拨号:
A:FoxMail3.1 的自动拨号功能使用户在需要时可自动调用 Windows98
的拨号程序收发邮件,从而用户可免除手工进行连接的操作。执行菜单"系统设置"命令,在"系统设置"对话框里单击"网络"选项卡,然后按自己的上网方式选择。如果您同时在
Windows98 中建立了几个拨号连接(如 163、169 等),则还应在"连接"列表框中选择 FoxMail
自动采用哪一个拨号连接进行拨号。此外您还可根据需要复选"收发邮件后自动断线"和"使用任何已连接的拨号连接"(即当用户已经处于联网状态之后,FoxMail
就自动使用该连接进行邮件收发操作,无须重新拨号)等选项。单击"确定"按钮后,FoxMail 就具有了自动拨号并断线的功能。
32,Q:在 FoxMail3.1 地址簿中建立一个邮件"组":
A:所谓"组"功能实际上就是将多个联系人的电子邮件地址"捆绑"在一起,然后当向这个"组"发送邮件时,系统就自动向"组"中的所有成员同时发送邮件。在
FoxMail3.1 的地址簿中建立"组"的步骤为:
   1) 单击 FoxMail 快捷工具栏上的"地址簿"按钮;
   2)
利用"创建卡片"按钮输入有关收件人的电子邮件地址(请注意FoxMail的"组"功能必须从地址簿已有的电子邮件地址中生成,即须先将收件人的电子邮件地址输入到地址簿中);
  3) 单击"创建组"按钮,打开"Mail List"对话框;
   4) 在"Mail List"对话框的"组名"栏中输入"组"的名称;
  5) 单击"添加"按钮,打开"选择地址"对话框,利用此对话框选择所有需要添加到"组"中的电子邮件地址;
  6) 单击"确定"按钮,关闭"选择地址"对话框;
  7) 单击"确定"按钮,关闭"Mail List"对话框。
33,Q:在局域网里安装 Office2000:
A:在“网络邻居”里另一台安装有光驱的机器上放置
Office2000安装盘(已经共享),将光盘映射为本地驱动器,再进行安装即可。直接在“网络邻居”里不能安装。
34,Q:用什么软件播放 *.VQF 文件?
A:这是一种声音格式文件,其容量比 MP3 还要小一些,可以用较新版本的 Winamp 播放(它带有播放 .VQF 的插件)。










本帖de评分: 1 条评分 DB +4
DB+4

电脑板块欢迎你

竹竿叶

ZxID:10602960

等级: 元老
aka: 熊猫 / 大A

举报 只看该作者 沙发   发表于: 2010-07-08 0
不错涅、
℡佐☆靓℡

ZxID:12565612

等级: 上尉
有老公怎么的,有守门员球还不照进
举报 只看该作者 板凳   发表于: 2010-07-08 0
还真够长的
LZ真辛苦
电影《一路向西》http://www.594001.com/
Zsc_吐司猫

ZxID:8986422

等级: 上将
配偶: 黄雪雯
QQ:577280331

举报 只看该作者 地板   发表于: 2010-07-08 0
复制的。
╱╳灬小熊ゞ

ZxID:9189876

等级: 大将

举报 只看该作者 4楼  发表于: 2010-07-08 0
好无语。。



心中都是你

ZxID:11283052

等级: 禁止发言

举报 只看该作者 5楼  发表于: 2010-07-08 0
能看完我就真是  神  了!呵呵
陌生的旋律

ZxID:10408139

等级: 中校
魅力指数:★★★★★★牛逼指数:★★★★★★
举报 只看该作者 6楼  发表于: 2010-07-09 0
全是英文 懒得看、
« 返回列表
发帖 回复