Einzelnen Beitrag anzeigen

Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#5

Re: Laufwerk C:\ öffnen und beenden

  Alt 11. Jun 2005, 08:34
Hi,

ich hoffe ich habe dich richtig verstanden. Wenn ja, dann geht das so:

Delphi-Quellcode:
interface
uses {Andere Units}, ShellApi;

...

implementation

procedure TForm1.Button1Click(Sender: TObject);
begin
  ShellExecute(Handle, 'open', 'C:\', nil, nil, SW_SHOWNORMAL); // Laufwerk C: öffnen
end;

// By toms [url]http://www.delphipraxis.net/post371887.html#371887[/url]
function FindWindowByTitle(WindowTitle: string): Hwnd;
var
  NextHandle: Hwnd;
  NextTitle: array[0..255] of char;
begin
  // Get the first window
  NextHandle := GetWindow(Application.Handle, GW_HWNDFIRST);
  while NextHandle > 0 do
  begin
    // retrieve its text
    GetWindowText(NextHandle, NextTitle, 255);
    if Pos(WindowTitle, StrPas(NextTitle)) <> 0 then
    begin
      Result := NextHandle;
      Exit;
    end
    else
      // Get the next window
      NextHandle := GetWindow(NextHandle, GW_HWNDNEXT);
  end;
  Result := 0;
end;

procedure TForm1.Button2Click(Sender: TObject);
var
  Wnd: HWND;
begin
  Wnd := FindWindowByTitle('(C:)'); // Laufwerk C: suchen (Siehe Code von toms)

  if Handle <> 0 then
    PostMessage(Wnd, WM_CLOSE, 0, 0); // Wenns gefunden wurde, dann beenden
end;
Die Buttonklicks musst du natürlich nicht übernehmen. Das war nur für mich zum Testen. Den letzten Code kannst du z.B. in einen Timer schreiben um C: wieder zu schließen.
  Mit Zitat antworten Zitat