博文

电脑重启(2005-09-14 11:16:00)

摘要: 计算机频繁重起的诊断和解决办法
计算机频繁重起的诊断和解决办法。 一、软件

  1.病毒破坏

    自从有了计算机以后不久,计算机病毒也应运而生。当网络成为当今社会的信息大动脉后,病毒的传播更加方便,所以也时不时的干扰和破坏我们的正常工作。比较典型的就是前一段时间对全球计算机造成严重破坏的“冲击波”病毒,发作时还会提示系统将在60秒后自动启动。其实,早在DOS时代就有不少病毒能够自动重启你的计算机。

    对于是否属于病毒破坏,我们可以使用最新版的杀毒软件进行杀毒,一般都会发现病毒存在。当然,还有一种可能是当你上网时被人恶意侵入了你的计算机,并放置了木马程序。这样对方能够从远程控制你计算机的一切活动,当然也包括让你的计算机重新启动。对于有些木马,不容易清除,最好重新安装操作系统。

  2.系统文件损坏

    当系统文件被破坏时,如Win2K下的KERNEL32.DLL,Win98 FONTS目录下面的字体等系统运行时基本的文件被破坏,系统在启动时会因此无法完成初始化而强迫重新启动。你可以做个试验,把WIN98目录下的字库“FONTS”改名试一试。当你再次开机时,我们的计算机就会不断的重复启动。

    对于这种故障,因为无法进入正常的桌面,只能覆盖安装或重新安装。

  3.定时软件或计划任务软件起作用

    如果你在“计划任务栏”里设置了重新启动或加载某些工作程序时,当定时时刻到来时,计算机也会再次启动。对于这种情况,我们可以打开“启动”项,检查里面有没有自己不熟悉的执行文件或其他定时工作程序,将其屏蔽后再开机检查。当然,我们也可以在“运行”里面直接输入“Msconfig”命令选择启动项。

  二、硬件

  1.市电电压不稳

    一般家用计算机的开关电源工作电压范围为1......

阅读全文(3047) | 评论:0

vb中从域名得到IP及从IP得到域名(2005-08-07 23:45:00)

摘要:vb中从域名得到IP及从IP得到域名

转载
  办法如下:


Private Const WS_VERSION_REQD = &H101
Private Const WS_VERSION_MAJOR = WS_VERSION_REQD \ &H100 And &HFF&
Private Const WS_VERSION_MINOR = WS_VERSION_REQD And &HFF&
Private Const MIN_SOCKETS_REQD = 1
Private Const SOCKET_ERROR = -1
Private Const WSADescription_Len = 256
Private Const WSASYS_Status_Len = 128

Private Type HOSTENT
hname As Long
hAliases As Long
hAddrType As Integer
hLength As Integer
hAddrList As Long
End Type

Private Type WSADATA
wversion As Integer
wHighVersion As Integer
szDescription(0 To WSADescription_Len) As Byte
szSystemStatus(0 To WSASYS_Status_Len) As Byte
iMaxSockets As Integer
iMaxUdpDg As Integer
lpszVendorInfo As Long
End Type
Private Declare Function gethostbyaddr Lib "WSOCK32.DLL" (addr As Any, ByVal _
byteslen As Integer, addrtype As Integer) As Long
Private ......

阅读全文(2642) | 评论:0

如何获取打印机纸张信息?(2005-08-07 22:45:00)

摘要:如何获取打印机纸张信息?
转载
Option Explicit
Private Const DC_MAXEXTENT = 5
Private Const DC_MINEXTENT = 4
Private Const DC_PAPERNAMES = 16
Private Const DC_PAPERS = 2
Private Const DC_PAPERSIZE = 3
Private Declare Function DeviceCapabilities Lib "winspool.drv" Alias "DeviceCapabilitiesA" (ByVal lpDeviceName As String, ByVal lpPort As String, ByVal iIndex As Long, lpOutput As Any, lpDevMode As Any) As Long
Private Type POINTS
x As Long
y As Long
End Type

'***********************************************************
'* 名称:GetPaperInfo
'* 功能:得到打印机低张信息
'* 用法:GetPaperInfo(控件名)
'* 描述:如在 form_load()中调用GetPaperInfo MSHFlexGrid1
'***********************************************************
Public Function GetPaperInfo(Flex As MSHFlexGrid) As Boolean

Dim i As Long, ret As Long
Dim Length As Integer, Width As Integer
Dim PaperNo() As Integer, PaperName() As String, PaperSize() As POINTS

阅读全文(4649) | 评论:0

VB6.0中如何快速实现大面积不规则区域的填充 (2005-08-07 22:42:00)

摘要:VB6.0中如何快速实现大面积不规则区域的填充
转载
  办法如下:

  一、引言

  区域填充是指先将区域内的一个像素 ,一般称为种子点赋予给定的颜色和辉亮,然后将该颜色扩展到整个区域内的过程。

  二、已有的填充算法及缺点

  1.扫描线法

  扫描线法可以实现已知多边形域边界的填充,多边形域可以是凹的、凸的、还可以是带孔的。该填充方法是按扫描线的顺序,计算扫描线与待填充区域的相交区间,再用要求的颜色显示这些区间的像素,即完成填充工作。这里区间的端点通过计算扫描线与多边形边界线的交点获得。所以待填充区域的边界线必须事先知道,因此它的缺点是无法实现对未知边界的区域填充。

  2.边填充算法

  边填充的基本思想是:对于每一条扫描线和每条多边形边的交点,将该扫描线上交点右方的所有像素取补。对多边形的每条边作些处理,多边形的顺序随意。该算法适用于具有帧缓冲器的图形系统,按任意顺序处理多边形的边。处理每条边时,仅访问与该边有交的扫描线上交点右方的像素。所有的边都被处理之后,按扫描线顺序读出帧缓冲器的内容,送入显示设备。该算法的优点是简单,缺点是对于复杂图形,每一像素可能被访问多次,重要的是必须事先知道待填充多边形的边界,所以在填充未知边界的区域时不适用。

  3.递归算法

  递归算法的优点是编程实现时,语言简洁。但在VB6.0实际编程实现时,这种递归算法填充稍稍大一些的图形就会出现堆栈溢出现象,据我们的实践证明,递归算法只能连续递归深度在2090次左右,也就是说,如果待填充的图形大于二千多个像素那么堆栈溢出。下面给出八连通填充方法的VB程序实现(四连通算法同理)。

Public Sub area(p, q As Integer)
If ((imagepixels(0, p, q) = red1) And (imagepixels(1, p, q) = green1) And (imagepixels(2, p, q) = blue1)) Then
imagepixels(0, p, q) = 0: imagepixels(2, p, q) = 0: image......

阅读全文(3635) | 评论:0

MSFlexGrid的应用(2005-07-22 14:17:00)

摘要:MSFLEXGRID控件里,想在单元格里输入数据,而且要求是:在第二行第一列的位置开始,能够输入数据,输入之后还要求判断回车键有没有按下,如果按下了,就表明这个内容填写了,根据填写的内容然后同一行里其他单元格里填充内容,最后一行填完整了,再换到第二行。麻烦各位了。


--------------------------------------------------------------------------------
一段利用MsFlexGrid控件作的非常简单的程序,可以输入英文字符和数字,按回车自动右移,支持方向键,可以自动添加行。只用到一个MsFlexGrid控件,没有别的:
Private Sub Form_Load()
Grid1.Rows = 10
Grid1.Cols = 6
End Sub
Private Sub Grid1_KeyDown(KeyCode As Integer, Shift As Integer)
Dim X As Long
Dim Y As Long
Dim L As Long
Dim Tmp As String
X = Grid1.Col
Y = Grid1.Row
Select Case KeyCode
   Case 13
      X = X + 1
      If X >= Grid1.Cols Then
         X = 1
         Y = Y + 1
         If Y >= Grid1.Rows Then Grid1.Rows = Grid1.Rows + 1
&nbs......

阅读全文(4263) | 评论:0

将MsFlexGrid控件中显示的内容输出到Excel表格中进行 (2005-07-22 14:09:00)

摘要: Public Sub OutDataToExcel(Flex As MSFlexGrid) '导出至Excel
 Dim s As String
 Dim i As Integer
 Dim j As Integer
 Dim k As Integer
 On Error GoTo Ert
 Me.MousePointer = 11
 Dim Excelapp As Excel.Application
 Set Excelapp = New Excel.Application
 On Error Resume Next
 DoEvents
 Excelapp.SheetsInNewWorkbook = 1
 Excelapp.Workbooks.Add
 Excelapp.ActiveSheet.Cells(1, 3) = s
 Excelapp.Range("C1").Select
 Excelapp.Selection.Font.FontStyle = "Bold"
 Excelapp.Selection.Font.Size = 16
 With Flex
 k = .Rows
 For i = 0 To k - 1
 For j = 0 To .Cols - 1
 DoEvents
 Excelapp.ActiveSheet.Cells(3 + i, j + 1) = "'" & .TextMatrix(i, j)
 Next j
 Next i
 End With
 Me.MousePointer = 0
 Excelapp.Visible = True
 Excelapp.Sheets.PrintPreview
Ert:
 If Not (Excelapp Is ......

阅读全文(4262) | 评论:0

MSFlexGrid的使用(2005-07-22 13:26:00)

摘要:Private Sub SetGridTitle()
   With flexGrid
      .FormatString = "流水号|录入时间|赔案号|保单号|被保险人|厂牌型号|保险类型|牌照号码|使用性质|业务部门|业务员|理赔员|立案日期|合计"
      
      .ColAlignment(0) = flexAlignLeftCenter
      .ColAlignment(1) = flexAlignLeftCenter
      .ColAlignment(2) = flexAlignLeftCenter
      .ColAlignment(3) = flexAlignLeftCenter
      .ColAlignment(4) = flexAlignLeftCenter
      .ColAlignment(5) = flexAlignLeftCenter
      .ColAlignment(6) = flexAlignLeftCenter
      .ColAlignment(7) = flexAlignLeftCenter
      .ColAlignment(8) = flexAlignLeftCenter
      .ColAlignment(......

阅读全文(3889) | 评论:0

如何用MsflexGrid网格显示查询数据?(2005-07-22 13:20:00)

摘要:BOOL CLOGINFO::OnInitDialog()
{
CDialog::OnInitDialog();

// TODO: Add extra initialization here
m_mf.SetRows(2);
m_mf.SetCols(4);

m_mf.SetColWidth(0,800);
m_mf.SetColWidth(1,1200);
m_mf.SetColWidth(2,1000);
m_mf.SetColWidth(3,6000);

m_mf.SetTextMatrix(0,1,"日期");
m_mf.SetTextMatrix(0,2,"时间");
m_mf.SetTextMatrix(0,3,"事件");

CString strSql,row;
strSql.Insert(0,"select 日期,时间,事件 from slog order by 日期 desc,时间 desc");
_RecordsetPtr pRs;
CKaoqinApp* ap=(CKaoqinApp*)AfxGetApp();

::CoInitialize(NULL);
pRs.CreateInstance(__uuidof(Recordset));
pRs->Open(_bstr_t(strSql),ap->m_pCon.GetInterfacePtr(),adOpenKeyset,adLockOptimistic,adCmdText);
if(0<pRs->RecordCount)
{
m_mf.SetRows(pRs->RecordCount+1);
}
BeginWaitCursor();
try
{
for(long i=1;i<pRs->RecordCount;i++)
{
row.Empty();
row.Format("%d&q......

阅读全文(4650) | 评论:0

MSFLEXGrid源码  (2005-07-22 13:15:00)

摘要:Option Explicit
Dim DefColor
Dim Horizenw



Private Sub Form_Load()

&#39;==========================
Dim I As Integer, lRow As Long
With MSFlexGrid1 &#39;初始化表格
.Cols = 9
.Rows = 8
For I = 1 To 4
.ColWidth(I) = 750
Next I
For I = 5 To 8
.ColWidth(I) = 950
Next I
lRow = 1
For I = 1 To 7
.TextMatrix(lRow, 4) = 1
.TextMatrix(lRow, 0) = 表达式 & I
lRow = 1 lRow
.RowHeight(I) = 400
Next I
End With


End Sub


Private Sub MSFlexGrid1_DblClick()
Dim I
With MSFlexGrid1
If .MouseCol = 0 Or .MouseRow = 0 Then Exit Sub

Text1.Left = .Left .CellLeft: Text1.Top = .Top .CellTop
Text1.Height = .CellHeight: Text1.Width = .CellWidth
Text1.Text = .Clip
Text1.Visible = True: Text1.SetFocus
Text1.SelStart = 0: Text1.SelLength = Len(Text1.Text)

End With
End Sub


Private Sub MSFlexGrid1_KeyUp(KeyCode As Integer, shift As In......

阅读全文(3935) | 评论:0

MSFlexGrid控件可编辑的简单实现方法2(2005-07-22 13:14:00)

摘要:'实现步骤
'1 打开 VB5, 开启一个新的工程。
'2 在菜单"工程" 中选择 "部件", 在列表中选中
'"Microsoft FlexGrid Control .."
'3 放一个 MsFlexGrid 控件和一个TextBox 控件(Text1)到 Form1。
'修改MsFlexGrid 控件的名称为 Grid1, 设置Grid1 的行,列
'为 4, 固定行,列为 0。 设置 Text1 的 Visiable 为 False,
'BorderStyle 为 None(0)。
'4 在Form1 的代码中增加声明:

Const ASC_ENTER = 13 '回车
Dim gRow As Integer
Dim gCol As Integer

'5 增加代码到 Grid_KeyPress 过程:

Private Sub Grid1_KeyPress(KeyAscii As Integer)
' Move the text box to the current grid cell:
Text1.Top = Grid1.CellTop + Grid1.Top
Text1.Left = Grid1.CellLeft + Grid1.Left
' Save the position of the grids Row and Col for later:
gRow = Grid1.Row
gCol = Grid1.Col
' Make text box same size as current grid cell:
Text1.Width = Grid1.CellWidth - 2 * Screen.TwipsPerPixelX
Text1.Height = Grid1.CellHeight - 2 * Screen.TwipsPerPixelY
' Transfer the grid cell text:
Text1.Text = Grid1.Text
' Show the t......

阅读全文(5445) | 评论:0