AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi CDLaufwerks-Schublade sperren
Thema durchsuchen
Ansicht
Themen-Optionen

CDLaufwerks-Schublade sperren

Ein Thema von SirThornberry · begonnen am 3. Sep 2004 · letzter Beitrag vom 14. Sep 2004
Antwort Antwort
Seite 2 von 2     12   
static_cast

Registriert seit: 19. Okt 2003
Ort: Peine
300 Beiträge
 
#11

Re: CDLaufwerks-Schublade sperren

  Alt 3. Sep 2004, 20:24
Seit wann leitet Plastik Strom? Oder Luckie hat soebend die Metalldiskette eingeführt
Daniel M.
  Mit Zitat antworten Zitat
Dax
(Gast)

n/a Beiträge
 
#12

Re: CDLaufwerks-Schublade sperren

  Alt 3. Sep 2004, 20:26
Na ja, bei 10000 Volt leitet auch Plastik - es schmilzt, aber es leitet.
  Mit Zitat antworten Zitat
static_cast

Registriert seit: 19. Okt 2003
Ort: Peine
300 Beiträge
 
#13

Re: CDLaufwerks-Schublade sperren

  Alt 3. Sep 2004, 20:28
Was für PC's habt ihr denn in der Schule? Aber lass wir das wird ja sonst noch mehr OT!
Daniel M.
  Mit Zitat antworten Zitat
Benutzerbild von Nothine
Nothine

Registriert seit: 3. Jul 2004
Ort: Mülheim an der Ruhr
198 Beiträge
 
Delphi 5 Enterprise
 
#14

Re: CDLaufwerks-Schublade sperren

  Alt 3. Sep 2004, 21:38
wenn ich ma so fragen dürfte, warum ist deine funktion eigentlich ne funktion wenn du keinen wert zurückgibst? des ganze müsste (wenn ich mich nich irre ) so aussehen:
Delphi-Quellcode:
function LockMedia(ADriveLetter: Char; ALock: Boolean): Boolean;
var LWStatus: HWND;
    LTemp: Cardinal;
    LPMR32: Boolean;
const FSCTL_LOCK_VOLUME = $2D4804;
begin
  LwStatus := CreateFile(PChar('\\.\'+ADriveLetter+':'),GENERIC_READ or GENERIC_WRITE,0,nil,OPEN_EXISTING,0,0);
  LPMR32 := ALock;
  if LwStatus <> INVALID_HANDLE_VALUE then begin
    Result := DeviceIoControl(LwStatus,FSCTL_LOCK_VOLUME,@LPMR32,SizeOf(LPMR32),nil,0,LTemp,nil);
    CloseHandle(LwStatus);
  end else Result := False;
end;
if ThisPost is senseless then
ThisPost.WasPostedBy := SomeoneElse();
  Mit Zitat antworten Zitat
Benutzerbild von Ultimator
Ultimator

Registriert seit: 17. Feb 2004
Ort: Coburg
1.860 Beiträge
 
FreePascal / Lazarus
 
#15

Re: CDLaufwerks-Schublade sperren

  Alt 3. Sep 2004, 22:10
Probiers doch mal mit der Bass.dll und der Bass_CD.dll von www.un4seen.com
und dann
BASS_CD_Door(drive,action);

drive:integer; 0=CD-Laufwerk 1, 1= CD-Laufwerk 2 usw...
action: eins der Folgenden: BASS_CD_DOOR_CLOSE; BASS_CD_DOOR_OPEN; BASS_CD_DOOR_LOCK; BASS_CD_DOOR_UNLOCK.

Ist eigentlich selbsterklärend; du musst halt die basscd.dll mit deinem Programm weitergeben...
Julian J. Pracht
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#16

Re: CDLaufwerks-Schublade sperren

  Alt 4. Sep 2004, 08:44
ups, hab ich wohl vergessen beim umbauen in eine funktion ein result zu setzen.
@Ultimator: Wenn ich einfach nur das Laufwerk sperren will find ichs bissl overkill eine DLL mitliefern zu müssen.

$2D4804 ist eine Konstante die im VB Code wie folgt definiert war
Zitat:
Private Const IOCTL_STORAGE_MEDIA_REMOVAL As Long = &H2D4804
in der Hilfe hab ich diese Konstante (oder eine ähnlich benannte) gefunden. Allerdings wurde diese Konstante bei mir nicht gefunden. Deswegen hab ich einfach den Wert direkt verwendet. Hätte natürlich auch die Konstante declarieren können aber da ich diese nur in der einen Funktion benötige fand ichs hinnfällig
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#17

Re: CDLaufwerks-Schublade sperren

  Alt 4. Sep 2004, 08:46
Nun ja. Ic finde das Benennen von Konstanten immer sinnvoll. Dann sieht man auf den ersten Blick, was da passiert.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#18

Re: CDLaufwerks-Schublade sperren

  Alt 4. Sep 2004, 08:51
Stimmt auch wieder... habs jetzt in meinem Source die vorschläge einfließen lassen. Sieht jetzt also so aus (wurde glaub ich sogar schon von jemandem so gepostet nur mit anderem Konstantennamen)
Delphi-Quellcode:
function LockMedia(ADriveLetter: Char; ALock: Boolean): Boolean;
var LWStatus: Hwnd;
    LTemp: Cardinal;
    LPMR32: Boolean;
Const IOCTL_STORAGE_MEDIA_REMOVAL = $2D4804;
begin
  LwStatus := CreateFile(PChar('\\.\' + ADriveLetter + ':'),GENERIC_READ Or GENERIC_WRITE, 0, nil, OPEN_EXISTING, 0, 0);
  LPMR32 := ALock;
  If LwStatus <> INVALID_HANDLE_VALUE Then
  begin
    result := DeviceIoControl(LwStatus, IOCTL_STORAGE_MEDIA_REMOVAL, @LPMR32, sizeof(LPMR32), nil, 0, LTemp, nil);
    CloseHandle(LwStatus);
  end else result := False;
end;
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Wishmaster

Registriert seit: 14. Sep 2002
Ort: Steinbach, MB, Canada
301 Beiträge
 
Delphi XE2 Architect
 
#19

Re: CDLaufwerks-Schublade sperren

  Alt 14. Sep 2004, 01:07
Hi

CD-Rom Öffnen und Schließen!

funzt in WinXP

Code:
const
  IOCTL_STORAGE_EJECT_MEDIA = 2967560;
  IOCTL_STORAGE_LOAD_MEDIA = $2D480C;
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:09 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz