说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

Win95系统API函数大揭秘 作者:何发武 -VB资料

HTML文档下载 WORD文档下载 PDF文档下载
Win95系统API函数大揭秘 作者:何发武 -VB资料
Win95以其崭新精致的外观、简便快捷的操作方式,让你尽享操作平台之乐趣。而
同属Microsoft公司的Visual Basic不仅仅是一门计算机语言,还是一个集应用程序开发、测试
、查错功能于一体的功能强大的集成式开发环境, 全球有数百万的程序员受益于此。Visual
Basic一个强大的特性是它具有调用驻留在动态链接库(DLL)文件中的函数功能,其中包括由W
indows提供和使用的所有函数。对几百个函数以及DLL所包含的其它函数的存取将Visual Bas
ic的功能进行了大大的扩充,其功能远远超出其它语言。 你可以在你的应用程序中利用WIND
OWS API提供的数百个API接口函数进行扩充,加速应用程序的建立,减少程序开发的重复性。
  所谓API就是“应用程序接口”(Application Programing Interface),是一些用
C语言编写并由操作系统自身调用的函数。Windows API函数由许多“动态链接库”(DLL)组成
。在Windows 95中,核心的Windows API DLL有以下这些:   gdi32.dll--------图形显示界面的API;
  kernel32.dll-----处理低级任务(比如内存和任务管理)的API;
  user32.dll-------处理窗口和消息(Visual Basic程序员能把其中一些当作事件访问)的API。
  还不断有新的API出现,来处理新的操作系统扩展,比如E-MAIL、联网和新的外设。
  由于Windows API函数不是Visual Basic内部函数,所以在使用它们之前必须正式
地加以声明。要想得到正确格式化的函数声明,可以访问WINAPI目录下的文件WIN32API.TXT。
  本文只对Win95系统API函数和Win95内置功能的调用问题进行介绍。例如,我们可
以直接调用标准化的“重新启动”、“磁盘格式化”、调用并更改标准的“关于”窗口、查看
“属性”、 设置墙纸、 建立快捷键、确定内存、读写注册表、在建立状态栏图标等。   重新启动
  有些应用程序安装完毕后要求重新启动一次系统以使设置生效,这可利用ExitWindowsEx函数实现(代码如下)。
  Private Declare Function ExitWindowsEx Lib "user32" (ByVal uFlags As L
ong, ByVal dwReserved As Long) As Long   Private Sub Command1_Click()
  ExitWindowsEx &H43, 0   End Sub   磁盘格式化
  当鼠标右键单击“3.5软盘A”并选择“格式化”时,则弹出标准的“磁盘格式化
”窗口。我们也可以在应用程序中利用函数轻松调用Windows 95中标准的“磁盘格式化”窗口,以实现对磁盘相应的操作功能,该函数代码如下:
  Private Sub Form_Click()   FormatFloppy   End Sub
  模块代码见程序1:   Public Const WM_CLOSE = &H10
  Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lp
ClassName As Any, ByVal lpWindowName As Any) As Long
  Declare Function GetWindowsDirectory Lib "kernel32" Alias "GetWindowsD
irectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long
  Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal
hWndInsertAfter As Long, ByVal X As Long, ByVal y As Long, ByVal cx As Long, ByVa
l cy As Long, ByVal wFlags As Long) As Long
  Declare Function GetDesktopWindow Lib "user32" () As Long
  Declare Function LockWindowUpdate Lib "user32" (ByVal hwndLock As Long
) As Long
  Declare Function GetWindowRect Lib "user32" (ByVal hwnd As Long, lpRec
t As RECT) As Long
  Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
  Type RECT    Left As Long    Top As Long
   Right As Long    Bottom As Long   End Type
  Type POINTAPI    X As Long    y As Long   End Type
  Const SWP_NOSIZE = &H1   Const SWP_NOZORDER = &H4
  Public Sub FormatFloppy()
  Dim sBuffer As String, Windir As String, Procs As String, X
   Dim lResult As Long    sBuffer = String$(255, 0)
  lResult = GetWindowsDirectory(sBuffer, Len(sBuffer))
   Windir = Trim(sBuffer)
   Procs = Left(Windir, lResult) & "\rundll32.exe shell32.dll,SHFormatDr
ive"    Call CenterDialog("Format - 3? Floppy (A:)")
   X = Shell(Procs, 1)
   Call CenterDialog("Format - 3? Floppy (A:)")
  k = LockWindowUpdate(0)   End Sub
  Public Sub CenterDialog(WinText As String)    DoEvents
   On Error Resume Next   Dim D3 As Long
  D3 = LockWindowUpdate(GetDesktopWindow())   Dim wdth%
  Dim hght%  Dim Scrwdth%    Dim Scrhght%
   Dim lpDlgRect As RECT    Dim lpdskrect As RECT
   Dim hTaskBar As Long  hTaskBar = FindWindow(0&, WinText)
    Call GetWindowRect(hTaskBar, lpDlgRect)
    wdth% = lpDlgRect.Right - lpDlgRect.Left
    hght% = lpDlgRect.Bottom - lpDlgRect.Top
    Call GetWindowRect(GetDesktopWindow(), lpdskrect)
    Scrwdth% = lpdskrect.Right - lpdskrect.Left
    Scrhght% = lpdskrect.Bottom - lpdskrect.Top
    X% = (Scrwdth% - wdth%) / 2     y% = (Scrhght% - hght%) / 2
    Call SetWindowPos(hTaskBar, 0, X%, y%, 0, 0, SWP_NOZORDER Or SWP_NOS
IZE)   DoEvents   End Sub (程序1)   调用“关于”窗口
  在“帮助”菜单选择“关于XXX”会弹出标准“关于”窗口,利用ShellAbout函数
不但可以调用标准“关于”窗口,还可以随意更改其中内容。函数代码见程序3。   ShellAbout声明如下:
  Private Declare Function ShellAbout Lib "shell32.dll" Alias "ShellAbou
tA" (ByVal hWnd As Long, ByVal szApp As String, ByVal szOtherStuff As String, ByV
al hIcon As Long) As Long   Private Sub Form_Load()
  Call ShellAbout(hWnd, “何发武工作室!”,“调用标准的关于窗口”& vbCrL
f & “电子与电脑是我们的良师益友”, 0)   End Sub
  HWnd设置窗口句柄,szApp设置窗口的"Caption",szOtherStuff在“版权所有”和“使用权”之间的空白处增加额外说明。
  你还可以通过对注册表信息“动手术”来改变系统的“版权信息”运行REGEDIT,
为此可依次点击HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Versio
n,就会找到你计算机中“关于”版本的通用设置,这时你可以把Version的内容改为你想要的设置,如“何发武工作室”等。   查看“属性”
  Win95中增加了一个全新的概念----“属性”。每个对象都拥有自己的“属性”。
在“属性”窗口里是关于对象的详细描述,对于不同的对象“属性”窗口的说明是不同的。我
们可以用ShellExecuteEX函数直接调用“属性”标准窗口。程序4功能相当于当鼠标右键单击
根目录下的autoexec.bat并选择“属性”时弹出的标准的“属性”窗口。   窗体代码如下:
 Private Sub FORM_Click()   Dim r As Long
   Dim FileName As String    FileName = "c:\autoexec.bat"
   r = ShowProperties(FileName, Me.hwnd)
   If r <= 32 Then MsgBox "Error"   End Sub   模块代码见程序2。
  Option Explicit   Type SHELLEXECUTEINFO    cbSize As Long
   fMask As Long    hwnd As Long    lpVerb As String
   lpFile As String    lpParameters As String
   lpDirectory As String    nShow As Long    hInstApp As Long
  lpIDList As Long   lpClass As String   hkeyClass As Long
  dwHotKey As Long   hIcon As Long   hProcess As Long
  End Type   Public Const SEE_MASK_INVOKEIDLIST = &HC
  Public Const SEE_MASK_NOCLOSEPROCESS = &H40
  Public Const SEE_MASK_FLAG_NO_UI = &H400
  Declare Function ShellExecuteEX Lib "shell32.dll" Alias "ShellExecuteE
x" _   (SEI As SHELLEXECUTEINFO) As Long
  Public Function ShowProperties(FileName As String, OwnerhWnd As Long)
As Long    Dim SEI As SHELLEXECUTEINFO    Dim r As Long
   With SEI    .cbSize = Len(SEI)
   .fMask = SEE_MASK_NOCLOSEPROCESS Or SEE_MASK_INVOKEIDLIST Or SEE_MASK
_FLAG_NO_UI    .hwnd = OwnerhWnd    .lpVerb = "properties"
   .lpFile = FileName    .lpParameters = vbNullChar
   .lpDirectory = vbNullChar    .nShow = 0    .hInstApp = 0
   .lpIDList = 0    End With    r = ShellExecuteEX(SEI)
   ShowProperties = SEI.hInstApp   End Function   (程序2)
  设置墙纸   墙纸是显示在桌面上的图片或图像,是Win95的一个重要部分。你可以通过改变列
表中的文件来选择多种多姿多采的墙纸。我们可以利用SystemParametersInfo函数来揭开它的奥妙,并亲手为她营造异样的风采。
  在程序窗体中增加List1控件,并加入如程序3所示代码:   Option Explicit
  Private Declare Function SystemParametersInfo Lib "user32" Alias "Syst
emParametersInfoA" (ByVal uAction As Long, ByVal uParam As Long, ByVal lpvParam A
s Any, ByVal fuWinIni As Long) As Long   Const SPI_SETDESKWALLPAPER = 20
  Const SPIF_UPDATEINIFILE = &H1 'update Win.ini Constant
  Const SPIF_SENDWININICHANGE = &H2 'update Win.ini and tell everyone
  Private Sub Form_Load()    Dim Temp As String
   Temp = InputBox("Please Input A Directory", "Changer", "C:\WINDOWS\")
   If Temp = "" Then End 'Cancel clicked
   If Right$(Temp, 1) <> "\" Then Temp = Temp + "\"
   List1.Tag = Temp
   Temp = Temp + "*.bmp" 'Set the file filter (path + *.BMP)
   Temp = Dir$(Temp)    Do While Temp$ <> ""    Temp = Dir$
   If Temp = "" Then Exit Do    List1.AddItem Temp    Loop
   List1.AddItem "(None)"    Show    List1.SetFocus
   List1.ListIndex = 0   End Sub
  Private Sub list1_dblclick()    Dim Temp As String
   Dim BMPFile As String    Temp = Tag
   If List1.Text = "(None)" Then    BMPFile = "(none)"
   Else    BMPFile = Temp + (List1)    End If
   SystemParametersInfo SPI_SETDESKWALLPAPER, 0, ByVal BMPFile, SPIF_UPD
ATEINIFILE   End Sub   
  Private Sub List1_KeyPress(KeyAscii As Integer)
   If KeyAscii = 13 Then list1_dblclick   End Sub   (程序3)
  建立快捷方式   Win95中快捷方式提供了对常用程序和文档的访问捷径,你可以为桌面或文件夹中
的任何程序、文档或打印机添加快捷方式。VB5中利用fCreateShellLink函数可以为常用程序和文档快速建立快捷方式。
  fCreateShellLink的声明为:
  Private Declare Function fCreateShellLink Lib "STKIT432.DLL" (ByVal lp
strFolderName As String, ByVal lpstrLinkName As String, ByVal lpstrLinkPath As St
ring, ByVal lpstrLinkArgs As String) As Long
  LpstrFolderName设置快捷方式的文件夹名称,lpstrLinkName设置快捷方式的标
题名称,lpstrLinkPath设置快捷方式所指向的应用程序的目录及文件名,格式如下:
  fCreateShellLink(Destinationpath, Shortcutname, SourcepathAppName, "")
  程序4所示的代码在“桌面”上为d:\path\appname.exe应用程序建立名为"Shortcut Title"的快捷方式。
  Private Declare Function fCreateShellLink Lib "STKIT432.DLL" (ByVal lp
strFolderName As String, ByVal lpstrLinkName As String, ByVal lpstrLinkPath As St
ring, ByVal lpstrLinkArgs As String) As Long   Private Sub Form_Click()
  lResult = fCreateShellLink("....\WINDOWS\DESKTOP", "Shortcut Title", "
d:\path\appname.exe", "")   End Sub   (程序4)
  如果想在“桌面”上建立快捷方式,则建立的目标目录应该为"....\WINDOWS\DE
SKTOP";如果想在“开始”菜单中建立快捷方式,则建立的目标目录应该为"....\WINDOWS\S
tart Menu"; 如果想在“程序”菜单中建立快捷方式,则建立的目标目录应该为相应的"...
.C:\WINDOWS\Start Menu\Programs"中,以此类推。   确定内存
  我们经常要访问Windows管理的内存。对应用程序性能影响最大的因素是可用的内
存容量。访问系统内存在处理类似于位图文件之类的大文件时非常有用,因为程序通过交换文
件(Swap)的方法,可以获得比实际可用内存更大的内存。知道内存如何分配后,就可以读入内
存值并操作大型数字文件。可以用丰富的Win32 API函数确定Windows 的全局内存并操作数据文件,这些对于确定程序能否正常工作非常有用。
  有关函数声明:   dwLength 数据结构的长度   dwMemoryLoad 内存使用百分比
  dwTotalPhys 实际内存总字节数   dwAvailPhys 可用的实际内存字节数
  dwTotalPageFile 分页文件总字节数   dwAvailPageFile 分页文件可用字节数
  dwTotalVirtual 虚拟内存的总字节数   dwAvailVirtual 可用的虚拟内存字节数
  加入代码如下的模块:   Type MEMORYSTATUS    dwLength As Long
   dwMemoryLoad As Long    dwTotalPhys As Long
   dwAvailPhys As Long    dwTotalPageFile As Long
   dwAvailPageFile As Long    dwTotalVirtual As Long
   dwAvailVirtual As Long   End Type
  Declare Sub GlobalMemoryStatus Lib "kernel32" (lpBuffer As MEMORYSTATU
S)   窗体中加入代码如下:   Private Sub Form_Click()
  Dim m As MEMORYSTATUS   m.dwLength = Len(m)
  GlobalMemoryStatus m   Print "数据结构的长度", m.dwLength
  Print "内存使用百分比", m.dwMemoryLoad
  Print "实际内存总字节数 ", m.dwTotalPhys
  Print "可用的实际内存字节数", m.dwAvailPhys
  Print "分页文件总字节数", m.dwTotalPageFile
  Print "分页文件可用字节数", m.dwAvailPageFile
  Print "虚拟内存的总字节数", m.dwTotalVirtual
  Print "可用的虚拟内存字节数", m.dwAvailVirtual   End Sub   读写注册表
  Win95及NT的注册表数据库(Registry)是系统中非常重要的组成部分,它设置了W
in95及NT的参数,包括用户信息、系统硬件配置和应用程序等信息。注册表系统代替了旧版W
indows中的多个INI文件(警告:如果你对注册表不熟悉,不要随意修改它。如果注册表项目出错,会使机器崩溃,甚至破坏操作系统本身)。
  Win32 API中Reg函数处理对注册表数据库一般的读写过程如下:
  1、使用RegOpenKey或RegCreateKey打开或创建一个键;
  2、如果上一步成功,则使用RegQueryValue(或RegQueryValueEx)读取子键的值
,使用RegSetValue(或RegvSetValueEx)设置子键值,使用RegEnumKey获得所有子键,使用RegDeleteKey删除一个键;
  3、完成操作后使用RegCloseKey关闭键。
  下面的程序5演示了如何生成键、存放值并取得注册表数据。在HKEY_LOCAL_MACH
INE键下面生成三个子键Test\Mastering vb5、Windows Width、Windows Height,用于存放上次执行时的窗体尺寸。
  Private Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCre
ateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Lon
g   Private Declare Function RegDeleteKey Lib "advapi32.dll" Alias "RegDel
eteKeyA" (ByVal hKey As Long, ByVal lpSubKey As String) As Long
  Private Declare Function RegDeleteValue Lib "advapi32.dll" Alias "RegD
eleteValueA" (ByVal hKey As Long, ByVal lpValueName As String) As Long
  Private Declare Function RegQueryValueEx Lib "advapi32.dll" Alias "Reg
QueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved
As Long, lpType As Long, lpData As Any, lpcbData As Long) As Long ' Note that if
you declare the lpData parameter as String, you must pass it By Value.
  Private Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSe
tValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Lo
ng, ByVal dwType As Long, lpData As Any, ByVal cbData As Long) As Long ' Note tha
t if you declare the lpData parameter as String, you must pass it By Value.
  Const ERROR_SUCCESS = 0&   Const ERROR_BADDB = 1009&
  Const ERROR_BADKEY = 1010&   Const ERROR_CANTOPEN = 1011&
  Const ERROR_CANTREAD = 1012&   Const ERROR_CANTWRITE = 1013&
  Const ERROR_REGISTRY_RECOVERED = 1014&
  Const ERROR_REGISTRY_CORRUPT = 1015&
  Const ERROR_REGISTRY_IO_FAILED = 1016&
  Const HKEY_CLASSES_ROOT = &H80000000
  Const HKEY_CURRENT_USER = &H80000001
  Const HKEY_LOCAL_MACHINE = &H80000002
  Const regkey = "Test\Mastering vb5"   
  Private Sub Form_Load()   Dim retValue As Long
  Dim result As Long   Dim keyValue As String
  Dim keyId As Long   Dim subKey As String
  Dim bufSize As Long   Label6.Caption = regkey
  retValue = RegCreateKey(HKEY_LOCAL_MACHINE, regkey, keyId)
  If retValue = 0 Then   subKey = "Windows Width"
  retValue = RegQueryValueEx(keyId, subKey, 0&, reg_sz, 0&, bufSize)
   If bufSize < 2 Then    keyValue = Me.Width
   retValue = RegSetValueEx(keyId, subKey, 0&, reg_sz, ByVal keyValue, L
en(keyValue) + 1)    Else    keyValue = String(bufSize + 1, "")
   retValue = RegQueryValueEx(keyId, subKey, 0&, reg_sz, bykeyvalue, buf
Size)    keyValue = Left$(keyValue, bufSize - 1)
   Me.Width = keyValue    End If   Label4.Caption = subKey
  Label5.Caption = Me.Width   subKey = "Widows Height"
  retValue = RegQueryValueEx(keyId, subKey, 0&, reg_sz, 0&, bufSize)
   If bufSize < 2 Then    keyValue = Me.Height
   retValue = RegSetValueEx(keyId, subKey, 0&, reg_sz, ByVal keyValue, L
en(keyValue) + 1)    Else    keyValue = String(bufSize + 1, "")
   retValue = RegQueryValueEx(keyId, subKey, 0&, reg_sz, ByVal keyValue,
bufSize - 1)    Me.Height = keyValue    End If
  Label8.Caption = subKey   Label7.Caption = Me.Height
  End If   End Sub   
  Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
  Dim keyValue As String   Dim retValue As Long
  Dim keyId As Long
  retValue = RegCreateKey(HKEY_LOCAL_MACHINE, regkey, keyId)
  keyValue = Me.Width
  retValue = RegSetValueEx(keyId, "Windows Width", 0&, reg_sz, ByVal key
Value, Len(keyValue) + 1)   keyValue = Me.Height
  retValue = RegSetValueEx(keyId, "Windows Height", 0&, reg_sz, ByVal ke
yValue, Len(keyValue) + 1)   End Sub   (程序5)   在“状态栏”中建立图标
  Win95中如“音量”、“日期”、“屏幕”等可以在Win95的状态栏(Tray)上建立
图标。如果鼠标停留在图标上,则会显示出相应的工具提示(ToolTip),当用户在图标上单击
(或双击)鼠标左键时程序便会被激活,单击右键时会实现其简捷的功能菜单。
  Tray编程比较特殊,主要包括三个主要方面:图标、工具提示和消息。它属于Sh
ell编程的一部分,主要是利用Shell API中的Shell_NotifyIcon函数完成的。Shell_NotifyIcon函数是这样声明的:
  Type NOTIFYICONDATA    cbSize As Long 结构所占的字节数
   hwnd As Long 接受TRAY托盘图标消息的窗口句柄    uID As Long 由应用程序定义的图标识别符
   uFlags As Long 标志    uCallbackMessage As Long 由应用程序定义的消息
   hIcon As Long TRAY 图标句柄    szTip As String * 64 工具提示字符串
  End Type
  Declare Function Shell_NotifyIcon Lib "shell32.dll" Alias " Shell_Noti
fyIconA" (ByVal dwMessage As Long, lpData As NOTIFYICONDATA) As Long
  这个结构中的uFlags很重要,它有三种取值:NIF_ICON、NIF_MESSAGE和NIF_TIP
,分别表示hIcon、uCallbackMessage和szTip参数有效,用来修改图标、消息和工具提示。这
三个取值可以同时使用(三个参数相或),也可以单独使用。为了实现对用户鼠标操作的响应
,需要在程序中处理uCallbackMessage所定义的消息,该消息的长参数lParam包含Win32所定
义的鼠标消息,如果有多个图标,则短参数wParam表示图标识别符。
  在vb光盘中\TOOLS\UNSUPPRT\SYSTRAY目录下有SYSTRAY的工程,经编译后生成SYSTRAY.OCX控件。
  现在我们应用SYSTRAY.OCX控件进行Tray编程。   首先建立一个“工程”,依次选择“工程”、“部件”(或者在“工具箱”上单
击鼠标右键选择“部件”),再复选SYSTEM TRAY CONTROL CSYSTRAY,CSYSTRAY控件即出现在“工具箱”中。
  SYSTRAY.OCX控件拥有MouseDblClick、MouseDown、MouseMove、MouseUp四个事件
,响应先后顺序为MouseMove、MouseDown、MouseUp、MouseDblClick。程序6很清楚地说明了他们的响应时间次序。
  Private Sub cSysTray1_MouseDblClick(Button As Integer, Id As Long)
  MsgBox "Hei!You have DblClick the mouse!"   End Sub
  Private Sub cSysTray1_MouseDown(Button As Integer, Id As Long)
  If Button = 2 Then
  MsgBox "Hei!You have clicked me in right button!"   End If
  End Sub   Private Sub cSysTray1_MouseMove(Id As Long)
  MsgBox "Hello!I am here!"   End Sub
  Private Sub cSysTray1_MouseUp(Button As Integer, Id As Long)
  MsgBox "Hei!You clicked me just now!"   End Sub
  Private Sub Form_Load()
  cSysTray1.TrayTip = "Hello! I am the King of the world!"
  cSysTray1.InTray = True
  cSysTray1.TrayIcon = "c:\fittings\FACE.ico"   End Sub
  (程序6)
  SYSTRAY控件还拥有InTray、Name、TrayIcon、TrayTip、Parent、Index、Objec
t、Tag属性。InTray设置是否在Win95的状态栏Tray上建立一个快捷图标;Name设置SYSTRAY控
件的名称;TrayIcon设置在Tray上所建立的快捷图标的外观;TrayTip设置了鼠标停留在图标
上时所显示的工具提示(ToolTip)内容;Tag储存程序所需要的附加数据。
  通过实践发现,在使用VB开发应用程序时,灵活使用API 函数,会更大地发挥VB
的作用,使开发的软件更专业,功能更强大。本文仅仅是介绍了一下API函数在Win95中的使
用方法,以作抛砖引玉之用。对于真正的API 函数应用,还需要参考更为详尽的资料和广大爱好者更为努力的探索和研究。
  文中提到的所有程序均在中文Windows 98和 VB5.0中文企业版下调试通过。
冲榜不一定要刷榜:增加游戏曝光度的7大杀手锏 科技vs政治:FTC对Google的反垄断调查结束背后 威胁百度:奇虎360确认将与谷歌达成合作关系 Facebook更新Messenger应用 推免费网络电话服务 网上疯传iOS7概念设计:Dashboard是真是假? 过时的UI设计 Ubuntu手机系统前途不被看好 三星将于今年发布Tizen设备 将对苹果形成威胁? 分享9条经典的编程语录 国际著名黑客大赛介绍与比较 微软Azure CDN服务全球范围内出现宕机 双向多功能U盘:从Android设备到PC还有多远? 证明了自己:微软Win8获美国防部6.17亿订单 2013 Facebook黑客杯报名即将开始 解决Win8下IE10无法打开的故障 [简讯] Scala 2.10.0发布! 收购传闻:Apple一厢情愿还是Waze待价而沽 回顾过去,展望2013:移动开发引擎、工具和语言盘点 成本为0!Netflix开源工具Janitor Monkey清理AWS iOS开发者讲述在Google工作的三个月 GitHub历史上最糟糕宕机事故回放及反省 疑因竞争 谷歌有意让地图与WP手机不兼容 移动游戏开者必看:海外VC最关心什么? 淘宝UED:随侃设计师的个人素养 TIOBE 2013年1月:不负重望 Objective-C再次赢得桂冠! 大数据:商业或技术的挑战? 开源移动统计:Cobub Razor近期版本大升级 无人机应用,为何屡遭苹果拒绝 2013年Java继续火的五大理由 Rails所有版本都有SQL注入漏洞?其实没那么严重 如何设置Windows Server 2012 NTFS权限 智能手机大局已定 HTC难扭转乾坤? 为什么RealPlayer放有些网站的流媒体文件时会出错? 请问什么地方有软件开发标准。如国标,国军标等。 如何取得读网页时ie的状态,如正在下载,完毕等等? 朋友们能不能提供我一些关于VC读取文件操作的资料? 关于数据库服务器和备份的问题 win2kPRO 简单问题,高分相送!!在线发分,第一个答对者,定送此分!!!!!! c程序总出现"out of memory..." bzszp(蝎子)和ATCG(ATCG),谢谢!请问可以给我你们的E-mail吗?我以后还有些问题想请教你们! 如何设置java环境 更改工作站的下载等权限 制作一个修改程序外表的东西 怎样ENABLE 注册表编辑 MFC向导生成的基本对话框程序,一按回车就会退出,怎么设置都没有用.怎么办? 小弟下个学期就学vc了,想在这个暑假里好好的去接触接触但是不知道改看那些书好!还请~~~~~~~?高分!! 请问这个错误是什么原因啊? QMAIL高手:关于分页的问题,函数vauth_getall() 制作修改程序外表的东西 初学者学习编程什么样的学校比较适合? 制作修改程序外表的东西 原本对这个世界失望了,居然还发现还有和我一样善良的人,你让我有了活下去,继续灌水事业的勇气,谢谢给我捐献可用分的好人! ******初学者问题 ,如何实现2个Edit框同步******* 请问DataGrid如何和ADO控件梆定? 在servlet中设置了一个javaBean的属性,怎样把他传递到jsp中呢? ADOStoredProc1中存的游标数据如何附给变量中???带原码) 如何提取OLE 容器的嵌入对象? 大家喜欢什么格式的电子书? chm, pdf, html, doc,.... 怎样才能向一个文件中插入一个汉字? 在Word中快速插入日期和时间 备份access数据库原代码,看看错在哪里? 如何写收取、检索POP3邮箱的页面? 代码智能感应? 请教:c++编译器的问题 承蒙看得起~~最近半个月平均没天收到两封带毒邮件,散分:( WinSock控件编程中的一个小问题 QMAIL高手:关于分页的问题,函数vauth_getall() 高手们你们好,请您帮助 大家都在网上混了这么长时间了,有谁知道新浪网的sina是什么意思?俺不知道阿!!! 请大家帮忙看一下,这个问题怎么办???? QMAIL高手:关于分页的问题,函数vauth_getall() 哪里有英文的win2000下阿? 大家帮我看看如何在更新不成功的情况下,能提示出“更新出错” 打开一个任意一个目录下grid的存档程序怎写? 有没有办法防止<Frameset>拖动? 关于boost 请教有关于RichTextBox的问题,高手进来看! 这个ASP提交数据为什么出错,代码如下,在线给分 如何在内存中对一副图进行操作呢 订了一年的杂志,至念只收到2期!!!!!!!!!!!!!!!!!!!!!!!!!!!! 如何做点击一个超链接来运行exe文件?谢谢 在线等候 char * aaa 和CString abc之间的转换问题 跪求'对数平均温差法进行热设计基本思路'是什么啊? 黑龙江漠河日照现在的时间 潮汐,火山爆发,雷电,龙卷风,是怎么一回事 对数平均温差 1n代表的什么 1n等于多少对数平均温差 因为在冷凝器 板换 一系列的换热器中 温度是变化的 为了我们更好的选型计算所以出来一个相对准确的数值,当 △T1/△T2>1.7时 用公式: 漠河夏至节旅店、宾馆的标间普间价格及电话. 一物体用弹簧称测得它的重力为100N,将它放在水中弹簧称示数为20N,求它在水中受的的浮力? 怎样判断线圈是否产生感应电流或者怎样判断磁通量发生变化 描写长城的诗句有哪些? 有人说,湿地是一个地区的“肾”,它能起到调节的作用,请你提出几条保护湿地的措施 制冷系统冷凝器为水冷,其对数平均温差为20度正常么?是不是太大了?冷却水进出口为32和37,冷凝温度为55,是否合理…… 氯化铵的化学式怎么写 世界湿地保护区曾经在盘锦呆过,知道那里有个叫红海滩的观鸟湿地保护区,其实我们家乡岳阳的东洞庭湖也是观鸟湿地保护区,想知道世界上一共还有多少湿地保护区,有没有什么尺度来区分? 用导电塑料作成线圈,改变穿过线圈的磁通量,导电塑料会不会产生感应电流? 夏至日下列地区白昼最长的是A曾母暗沙B漠河C乌苏里江上D帕米尔高原上 一根一端封闭的玻璃管开口向下插入水银管中,内封一定质量的气体,管内水银面低于管外,当温度不变时,将玻璃管向下压一段距离 能受力分析一下 为什么 P气体=P0+P液面差 黄河湿地国家级自然保护区在河南省焦作市孟州段有没有分布,范围包括那些乡镇? 描写长城的句子和词语同问 一端封闭,粗细均匀的U型玻璃管两边长度均为1米,内装水银并封入一定质量的气体.在大气压为75cmHG时,水面高度相同,空气柱长50cm,如图所示.如果在开口端接上抽气机,把开口端的气体缓慢抽成 长时间加热水为什么水不能沸腾 某晶体的熔点是120摄氏度,那么当该晶体的温度是120摄氏度时,其状态.A 一定是固态 B 一定是液态 C 一定是固、液共存状态D 以上三种情况都有可能我选的C,同学选的D. 电阻应变片与半导体应变片的工作原理有何不同?它们各有何特点? 水在长时间加热能变为土吗 请问此化学式的反应结果NH4Cl+Na2SO3 电阻R=30Ω,Rх的电阻未知.闭合开关S,电流表的示数为1A,断开开关S,电流表的示数变为0.8A,求RхR1 R2串联,开关与R2并联,电流表串联在电路中 小石潭记,岳阳楼记,醉翁亭记,满井游记的区别 请问北京漠河夏至日和冬至日的昼长求具体的数字 一道高中的函数题(高手进)下列四个函数中,在(0,+∞) 上为增函数的是A.f(x)=3-xB.f(x)=x的平方-3xC.f(x)=-(1/(x+1))D.f(x)=-|x|不要只给答案.答案我已经知道是c了, 小石潭记、岳阳楼记、醉翁亭记、满井游记相同点和不同点~ 求f(x,y)=x∧2-y∧2,求f(x+y,y/x)的函数表达式还有有f(x+y,y/x)=x∧2-y∧2,求f(x,y)的函数表达式, 世界海洋灾难之最损失最惨重 死亡率最高 我国漠河冬至时昼长约为7小时,相当与夏至时昼长的12分之5,夏至时漠河昼长达约为几小时写算式啦 核弹爆炸原理是什么? 我们在开发海洋的同时,给海洋带来了什么样的灾害 《小石潭记》《岳阳楼记》《醉翁亭记》《满井游记》四文中心句? 求几部关于核弹爆炸的电影 为什么天会打雷下雨 小石潭记 岳阳楼记 醉翁亭记 满井游记 的原文 核弹爆炸电影看着视频刚开始这么多核弹,炸了,是什么电影 下雨打雷天,为什么先看见闪电,然后在听见声音? 比较《小石潭记》《岳阳楼记》《醉翁亭记》《满井游记》的相同点与不同点····表格的形式 导体应变片与半导体应变片工作原理有何不同? 下雨天为什么会先看见闪电后听到打雷每次下雨天我们都会先看见闪电后再听到打雷的请问为什么? 请问北京、漠河等中国城市夏至日和冬至日的昼长?请说详细点,备考用的 (1)设函数f(x)=x^2-x+1/2的定义域是[n,n+1],那么f(x)的值域中共有( )个整数(2)对于任意实数x,设f(x)是 4x+1,x+2,-2x+4中的三者中的最小值,则f(x)的最大值为() 正确答案是8/3这个我题目也看不懂在说 超导体有什么实际意义 黄河国家湿地公园怎么样 核弹爆炸时我们应该怎么做 湖泊湿地对气候的影响是什么? 请问膜盒压力表就是两个膜片对接之间通入测量流体对吧?1,我的问题是那和膜片式有什么区别,不都是通过膜片变形吗?只不过膜片式一个传到弹簧管测压膜盒是两个膜片传到弹簧管测压? 2,还 核弹爆炸 人会怎么样?最好有图,描述,好的话我加50 人类的哪些活动对湿地环境有影响,分别造成了那些后果?人类的哪些活动对湿地环境有影响 是不是夏至的时候在漠河村可以看见极光?怎么去?我是哈尔滨的,想去看极光,要怎么样才能到达那传说中的北极村呢?是不是黑河市漠河县的漠河村?还是什么?有点搞不清楚……请大家帮帮忙~ 描写春天天气好的成语,段落 天为什么是大海的颜色其实我想问的是大海为什么是蓝色的 不能是红的 黄的 绿的吗 在夏至时,曾母暗沙和漠河哪个日照时间长 5月2日在智利南部查纳拍到的照片中,闪电正在划破被柴滕火山喷发出的火山灰笼罩的天空.目前已有许多证据显示火山喷发有时会伴随着雷电天气,科学家怎么解释引发此现象的原因? 天是什么颜色,海是什么味道. 我想问问你,我们家的电水壶里面的水烧开后忘记带了,凉了后又自动加热,是正常现象么? 黑龙江漠河日照时间只有7个小时应在什么时候? 火山爆发时伴随着雷电和暴风雨 是为什么?
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘