You can use CreateProcess to launch a hidden copy of the cmd.exe command and pass it to the characters to process the tooltip. This is in Pascal, but all API requests are APIs, so it should be easy to translate. You will also need to add some errors, and make sure you have tested it thoroughly.
Win32_Volume :: The format was added only in Windows 2003, so it will not work if you need WinXP or Win2K support.
procedure FormatFloppy; var sa: TSecurityAttributes; si: TStartupInfo; pi: TProcessInformation; BytesWritten: LongWord; hInRead, hInWrite: THandle; begin // Initialize security information sa.nLength := SizeOf(sa); sa.lpSecurityDescriptor := nil; sa.bInheritHandle := True; CreatePipe(hInRead, hInWrite, @sa, 0); // Initialize startup info ZeroMemory(@si, SizeOf(si)); si.cb := SizeOf(si); si.dwFlags := STARTF_USESHOWWINDOW or STARTF_USESTDHANDLES; si.wShowWindow := SW_HIDE; si.hStdInput := hInRead; si.hStdOutput := GetStdHandle(STD_OUTPUT_HANDLE); si.hStdError := GetStdHandle(STD_ERROR_HANDLE); // Start process ZeroMemory(@pi, SizeOf(pi)); CreateProcess(nil, 'cmd /c format a: /fs:FAT /F:1.44 /V:', nil, nil, True, CREATE_NEW_CONSOLE or NORMAL_PRIORITY_CLASS, nil, nil, si, pi); CloseHandle(pi.hThread); CloseHandle(hInRead); // Write '<enter>' to start processing, and 'n<enter>' to respond to question at end WriteFile(hInWrite,
Zoë peterson
source share