Public Const WM_CLOSE=&H10 Declare Function FindWindow Lib 'user32' Alias'FindWindowA'(ByVal lpClassName As Any, ByVal lpWindowName As Any)As Long Delare Function GetWindowsDirectory Lib 'kernel32' Alias 'GetWindowsDirectoryA' (ByVal lpBuffer As String, ByVal nSize As Long) As Long Declare Function SetWindowPos Lib 'user32'(BvVal hwnd As Long ByVal hWndInsertAfter As Long, ByVal X As long, ByVal y As Long, ByVal cx As Long,ByVal 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'(ByVay hwnd As Long, lpRect As RECT) As Long Declare Sub Sleep Lib 'kernel32' (ByValdwMilliseconds As Long) Type RECT Left As Long Top As Long Right As Long Bottom As Long End Type TypePOINTAPI X As Long y As Long End Type Const SWP_NOSIZE=&H1 Const SWP_NOZORDER=&H4 'FormatFloppy()过程声明 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,SHFormatDrive' Call CenterDialog('Format - 3? Floppy (A:)') X = Shell(Procs,1) Call CenterDialog('Format - 3? Floppy (A:)') k = LockWindowUpdate(0) End Sub CenterDialog 过程声明 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_NOSIZE) DoEvents End Sub |