Harddisklerin mantıksal bölümünün fiziksel sırasını bulmak.
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
- sabanakman
- Kıdemli Üye
- Mesajlar: 3077
- Kayıt: 17 Nis 2006 08:11
- Konum: Ah bi Antalya olaydı keşke (Ankara)
Harddisklerin mantıksal bölümünün fiziksel sırasını bulmak.
Herkeslere kolay gelsin. Problemim; bir sistemde diyelimki 2 harddisk takılı ve bunlardan birisi 2'ye diğeri 3'e mantıksal olarak bölünmüş olsun. (C:,D: 1. harddisk E:,F:,G: 2. harddisk veya daha karışık bir şekilde de olabilir.) Bölümün ismini vererek o bölüm fiziksel olarak hangi harddiske ait olduğunun bulunması lazım. Mesela örneğe göre 'C:\'-> 0, 'E:\'->1 değerini vermeli. Böyle bir işlem nasıl yapılabilir.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
_________________
Derin olan kuyu değil kısa olan iptir. - .
- sabanakman
- Kıdemli Üye
- Mesajlar: 3077
- Kayıt: 17 Nis 2006 08:11
- Konum: Ah bi Antalya olaydı keşke (Ankara)
Seni tanıdım!...
Sen şu "mitec derim de başka bi şey derim ama mitec." diyen vatandaşsın. Biraz inceleme yapayım bakalım bulabilecek miyim. Bulursam buraya yazarım ama bu arada başka yöntem veya fikirleri olan varsa onlara da hayır denmez herhalde.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
_________________
Derin olan kuyu değil kısa olan iptir. - .
- sabanakman
- Kıdemli Üye
- Mesajlar: 3077
- Kayıt: 17 Nis 2006 08:11
- Konum: Ah bi Antalya olaydı keşke (Ankara)
Yok ya da ben bulamadım.
Mitec bileşenleri içinden TMiTeC_Disk bileşenini kullandım ve
kodunu denedim ama istediğimi vermedi. (Test için başkası kullandı kendim test edemedim.) Ayrıca, sadece bu iş için kullanacağımdan kodların elimde olmasını isterim. Varsa bilinen API, ASM veya başka kodlar bulmam gerekiyor. Araştırmalarım devam ediyor.
Kod: Tümünü seç
MiTeC_Disk.Drive:='C:';
ShowMessage(IntToStr(MiTeC_Disk.GetCD));
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
_________________
Derin olan kuyu değil kısa olan iptir. - .
Re: Yok ya da ben bulamadım.
Kodu yokmuki sende bu maydanozun?sabanakman yazdı:Mitec bileşenleri içinden TMiTeC_Disk bileşenini kullandım vekodunu denedim ama istediğimi vermedi. (Test için başkası kullandı kendim test edemedim.) Ayrıca, sadece bu iş için kullanacağımdan kodların elimde olmasını isterim. Varsa bilinen API, ASM veya başka kodlar bulmam gerekiyor. Araştırmalarım devam ediyor.Kod: Tümünü seç
MiTeC_Disk.Drive:='C:'; ShowMessage(IntToStr(MiTeC_Disk.GetCD));
- sabanakman
- Kıdemli Üye
- Mesajlar: 3077
- Kayıt: 17 Nis 2006 08:11
- Konum: Ah bi Antalya olaydı keşke (Ankara)
Cevap
.dcu dosyalarını bulabildim. Kodu galiba parayla satılıyor.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
_________________
Derin olan kuyu değil kısa olan iptir. - .
Re: Cevap
Kural dışına çıkmayalım ama herşeye para verecek olsaydık ooooooooh işimiz var. Bide bunu yazan herifçioğlu artık yeni kullanıcılara satmıyormuş. sebebide bu paketi kullanan bir ticari pro yazması. eskiden alanlar mustesna.sabanakman yazdı:.dcu dosyalarını bulabildim. Kodu galiba parayla satılıyor.
bu nasıl bir zihniyet anlamadım...
- sabanakman
- Kıdemli Üye
- Mesajlar: 3077
- Kayıt: 17 Nis 2006 08:11
- Konum: Ah bi Antalya olaydı keşke (Ankara)
Sorum başka yere kaydı..
Zaten benim sorum mitec bileşenleri değil. O lazım değil (şimdilik...) ama konu oraya kaydı. Benim sorunum hangi mantıksal bölümün hangi fiziksel sürücüye ait olduğunu bulabilmek. Araştırmalarım devam ediyor
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
_________________
Derin olan kuyu değil kısa olan iptir. - .
- sabanakman
- Kıdemli Üye
- Mesajlar: 3077
- Kayıt: 17 Nis 2006 08:11
- Konum: Ah bi Antalya olaydı keşke (Ankara)
Aslında Inno Setup için Lazım
Mrb; Sorunumu hala çözemedim, tekrar bir gündeme getireyim dedim. Bu işi aslında inno setup içinde [ Code ] bloğu içerisinde yapmam lazım ama olmadı. (Delphi ile .dll hazırlayıp oradanda çalışsa da olur). Sorun özet olarak oluşturulmuş mantıksal bölüm (c:, d:, e: vs.) fiziksel olarak kaçıncı sırada olduğunu bulmak. (c: ve d: ide üzerinde 0. sırada, e: ide üzerinde 1. sırada gibi bir sonuç elde etmek istiyorum). Kolay gelsin.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
_________________
Derin olan kuyu değil kısa olan iptir. - .
Merhaba...
- Çoktan bulmuşsunuzdur diye ilgilenmedim, aşağıdaki fonksiyon işini görecektir. Çok derinlere gitmene gerek yok...
Kullanımı :
- Çoktan bulmuşsunuzdur diye ilgilenmedim, aşağıdaki fonksiyon işini görecektir. Çok derinlere gitmene gerek yok...
Kod: Tümünü seç
function GetLogicalDriveDevice(DriveLetter: Char): String;
const
BUFFER_SIZE: Integer = 1024;
var
BufLen: Integer;
DriveName: String;
begin
DriveName := DriveLetter + ':';
SetLength(Result, BUFFER_SIZE);
BufLen := QueryDosDevice(PChar(DriveName), PChar(Result), BUFFER_SIZE);
if BufLen = 0 then
RaiseLastOSError
else
SetLength(Result, BufLen);
end;
Kod: Tümünü seç
ShowMessage( GetLogicalDriveDevice('C') );
- sabanakman
- Kıdemli Üye
- Mesajlar: 3077
- Kayıt: 17 Nis 2006 08:11
- Konum: Ah bi Antalya olaydı keşke (Ankara)
İyi bayramlar ilgilenip cevap yazdığınız için çok teşekkür ederim. Sorunum devam ediyor . Şöyle ki; ikiye bölünmüş tek harrdiskimin ( c:,d: için ilk ide ) ikisinin de aynı şekilde sonuç vermesi gerekirken c: için \Device\HarddiskVolume1 d: için ise \Device\HarddiskVolume2 sonucunu verdi. Acaba dikkatimden kaçan bir nokta mı var. Gerçi henüz 2. bir harddisk takılı bir bilgisayarda deneme yapamadım. Kolay gelsin.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
_________________
Derin olan kuyu değil kısa olan iptir. - .