6 * Copyright (C) 2002 Robert Dickenson <robd@reactos.org>
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation; either version 2 of the License, or
11 * (at your option) any later version.
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
18 * You should have received a copy of the GNU General Public License
19 * along with this program; if not, write to the Free Software
20 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
23 #define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers
38 ////////////////////////////////////////////////////////////////////////////////
42 //DWORD WINAPI SHFormatDrive(HWND hWnd, UINT drive, UINT fmtID, UINT options);
44 typedef DWORD (WINAPI
*SHFormatDrive_Ptr
)(HWND
, UINT
, UINT
, UINT
);
47 BOOL
CheckShellAvailable(void)
51 hShell32
= LoadLibrary(_T("SHELL32.DLL"));
53 FreeLibrary(hShell32
);
55 return (hShell32
!= NULL
);
59 void FormatDisk(HWND hWnd
)
61 // SHFormatDrive(hWnd, 0 /* A: */, SHFMT_ID_DEFAULT, 0);
63 SHFormatDrive_Ptr pSHFormatDrive
;
65 hShell32
= LoadLibrary(_T("SHELL32.DLL"));
67 pSHFormatDrive
= (SHFormatDrive_Ptr
)(FARPROC
)GetProcAddress(hShell32
, "SHFormatDrive");
69 UINT OldMode
= SetErrorMode(0); // Get the current Error Mode settings.
70 SetErrorMode(OldMode
& ~SEM_FAILCRITICALERRORS
); // Force O/S to handle
71 pSHFormatDrive(0/*hWnd*/, 0 /* A: */, SHFMT_ID_DEFAULT
, 0);
72 SetErrorMode(OldMode
); // Put it back the way it was.
74 FreeLibrary(hShell32
);
78 void CopyDisk(HWND hWnd
)
82 void LabelDisk(HWND hWnd
)
86 void ModifySharing(HWND hWnd
, BOOL create
)