Usb Disk Gerçek seri no
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
-
- Üye
- Mesajlar: 401
- Kayıt: 22 Tem 2004 02:03
- Konum: sıkıntı çekmişlere yakın bi yerden
Usb Disk Gerçek seri no
Merhaba şu aralar başlıktaki konu ile ilgilenmekteyim. volumeno her format sonrası değişiyor nette usbdeview diye bir program var (http://www.snapfiles.com/get/usbdeview.html)
bu program usb diskin gerçek seri numarasını gösterebiliyor. daha önce bu konuda işlem yapmış arkadaşların bilgisine ihtiyacım var. iyi çalışmalar.
bu program usb diskin gerçek seri numarasını gösterebiliyor. daha önce bu konuda işlem yapmış arkadaşların bilgisine ihtiyacım var. iyi çalışmalar.
type
Tform1 = class(Tform)
Tform1 = class(Tform)
Re: Usb Disk Gerçek seri no
WMI (Windows Management Instrumentation) ile bu istediğini yapabilirsin.
Burada örnek var.
Burada örnek var.
There's no place like 127.0.0.1
Re: Usb Disk Gerçek seri no
Örneği sadeleştilerim istersen :
Örnek Proje için dosyasını indirebilirsiniz.
WbemScripting_TLB dosyasını oluşturmak için Import Type Library ile "Microsoft WMI Scripting V1.2 Library" seçmeniz yeterli. Verdiğim linkte bu dosya hali hazırda mevcut.
Kullanımı :
Örnek Proje için dosyasını indirebilirsiniz.
WbemScripting_TLB dosyasını oluşturmak için Import Type Library ile "Microsoft WMI Scripting V1.2 Library" seçmeniz yeterli. Verdiğim linkte bu dosya hali hazırda mevcut.
Kod: Tümünü seç
Uses ActiveX, WbemScripting_TLB;
Procedure USBCihazlar( Liste: TStrings );
var
WMISer : ISWbemServices;
USBDiskler : ISWbemObjectSet;
Item : Variant;
i : Integer;
Cihaz, SeriNo : String;
begin
Liste.Clear;
WMISer := CoSWbemLocator.Create.ConnectServer('.', 'root\cimv2','', '', '', '', 0, nil);
USBDiskler := WMISer.ExecQuery('Select * From Win32_DiskDrive Where InterfaceType="USB"','WQL', 0, nil);
for i := 0 to USBDiskler.Count - 1 do
begin
Item := USBDiskler.ItemIndex(i);
Cihaz := VarToStr(Item.Model);
SeriNo := VarToStr(Item.PNPDeviceID);
while POS('\', SeriNo) > 0
do System.Delete(SeriNo, 1, Pos('\', SeriNo) );
if Pos('&', SeriNo) > 0
then SeriNo := Trim( Copy(SeriNo, 1, Pos('&', SeriNo)-1) );
Liste.Add(Format('Cihaz %.2d : %s ( s/n: %s )',[i+1, Cihaz, SeriNo]) );
End;
end;
Kod: Tümünü seç
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
USBCihazlar( Memo1.Lines );
end;
Re: Usb Disk Gerçek seri no
Evrende Ulaşılamayacak Tepe Yoktur !!!!
Yeterki İnsan Ulaşmak İstesin !!!!
http://www.maxiteknik.com
Yeterki İnsan Ulaşmak İstesin !!!!
http://www.maxiteknik.com
-
- Üye
- Mesajlar: 401
- Kayıt: 22 Tem 2004 02:03
- Konum: sıkıntı çekmişlere yakın bi yerden
Re: Usb Disk Gerçek seri no
cevaplarınız için teşekkürler @mrmarman özel teşekkür.
type
Tform1 = class(Tform)
Tform1 = class(Tform)
-
- Üye
- Mesajlar: 401
- Kayıt: 22 Tem 2004 02:03
- Konum: sıkıntı çekmişlere yakın bi yerden
Re: Usb Disk Gerçek seri no
yukarıdaki sorguda windows XP 'de hata alınıyor Win32_DiskDrive bu kütüphadeki bütün alanlar xp'de yok onun için sadece işimize yarayanları alırsak daha iyi olacaktır.mrmarman yazdı:Kod: Tümünü seç
USBDiskler := WMISer.ExecQuery('Select * From Win32_DiskDrive Where InterfaceType="USB"','WQL', 0, nil);
ben Xp için aşağıdaki değişikliği yaptım bir sorun çıkmadı.
Kod: Tümünü seç
USBDiskler := WMISer.ExecQuery('Select pnpdeviceid,interfacetype From Win32_DiskDrive Where InterfaceType="USB"','WQL', 0, nil);
type
Tform1 = class(Tform)
Tform1 = class(Tform)
- greenegitim
- Üye
- Mesajlar: 713
- Kayıt: 28 Nis 2011 10:33
- Konum: İstanbul
Re: Usb Disk Gerçek seri no
XP kullanıyorum değiştirdiğim halde aşağıdaki hatayı alıyorum
acces violation
acces violation
En son greenegitim tarafından 16 Ağu 2011 10:06 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Mücadele güzelleştirir!
-
- Üye
- Mesajlar: 401
- Kayıt: 22 Tem 2004 02:03
- Konum: sıkıntı çekmişlere yakın bi yerden
Re: Usb Disk Gerçek seri no
@greenegitim aldığınız hata sanırım başka birşeyden kaynaklı eğer doğru kodları yazıp xp de çalıştırmayı denediğinizde EOleexception hatası alırsınız Access violation değil.
type
Tform1 = class(Tform)
Tform1 = class(Tform)
- greenegitim
- Üye
- Mesajlar: 713
- Kayıt: 28 Nis 2011 10:33
- Konum: İstanbul
Re: Usb Disk Gerçek seri no
başka bilgisayarlardada denedim XP üzerinde bir türlü çalıştıramadım Win7 de sorunsuz çalışıyor ama.
Mücadele güzelleştirir!
Re: Usb Disk Gerçek seri no
Bedava eklenti var kullanırsan.
http://neftali.clubdelphi.com/?p=586
http://neftali.clubdelphi.com/?p=586
- greenegitim
- Üye
- Mesajlar: 713
- Kayıt: 28 Nis 2011 10:33
- Konum: İstanbul
Re: Usb Disk Gerçek seri no
@mrmarman nın yaptığı Windows 7 de işimi görüyor ama xp bilgisayarlarda hata veriyor @mrmarman yaptığı şekilde xp de çalıştırabilen varmı?
Mücadele güzelleştirir!
-
- Üye
- Mesajlar: 401
- Kayıt: 22 Tem 2004 02:03
- Konum: sıkıntı çekmişlere yakın bi yerden
Re: Usb Disk Gerçek seri no
bende @mrmarman yazdığı kodu yaptım xp'de hata aldım sonra bir önceki mesajımda yazdığım değişikliği uyguladım şuan sorunsuz çalışıyor. kodlarını birkezdaha gözden geçir.
type
Tform1 = class(Tform)
Tform1 = class(Tform)
-
- Üye
- Mesajlar: 401
- Kayıt: 22 Tem 2004 02:03
- Konum: sıkıntı çekmişlere yakın bi yerden
Re: Usb Disk Gerçek seri no
yazdığım deneme uygulamasına göz atabilirsin.
- Dosya ekleri
-
- usbdt.rar
- usb
- (5.9 KiB) 375 kere indirildi
type
Tform1 = class(Tform)
Tform1 = class(Tform)
- greenegitim
- Üye
- Mesajlar: 713
- Kayıt: 28 Nis 2011 10:33
- Konum: İstanbul
Re: Usb Disk Gerçek seri no
@true_false file not found unit1.dcu hatası veriyor bendemi bir eksiklik var bide bunu xp de çalıştırdım diyelim ama exe yi yeri geldiğinde windows 7, vista, xp kullanmam gerekecek onu nasıl yapacağım?
Mücadele güzelleştirir!
-
- Üye
- Mesajlar: 401
- Kayıt: 22 Tem 2004 02:03
- Konum: sıkıntı çekmişlere yakın bi yerden
Re: Usb Disk Gerçek seri no
önclikle UnUSBGet unitini bir inceleyin burada sadece GetUsbDriveSerial fonksiyonunu kullanacaksınız kullanımı unit1de var edite flash diskin takılı olduğu driver adını girmeniz yeterli
gelelim sorduğunuz soruya
bu sorguda Win32_DiskDrive bu kütüphanenin bütün alanlarını çekiyoruz win 7'de bir hata yok (vistada aynı durum) bu kütüphanede birçok alan var misal deviceid bu alanı xp'de çekmek istediğimizde hata alıyoruz ama 7'de sorun yok.
eğer siz programınızda deviceid ile ilgili bir kod yazacaksanız xp'de farklı bir çözüm üretmeniz gerekecek.
konuyu fazla uzatıp kafa karıştırmayalım. eğer sadece flash belleğin serinumarasını almak istiyorsanız ihtiyacınız olan alan pnpdeviceid bu alanı win7,xp,vista destekliyor
sorgunuzu
olarak değiştirirseniz win7,xp,vista da sorun yaşamazsınız.
Win32_DiskDrive kütüphanesi hakkında bilgi almak ve bütün alanlarını merak ediyorsanız ilk mesajımdaki programı inceleyebilirsiniz.
(http://www.snapfiles.com/get/usbdeview.html)
umarım açıklayıcı olmuşdur.
kolay gelsin.
gelelim sorduğunuz soruya
Kod: Tümünü seç
Select * From Win32_DiskDrive Where InterfaceType="USB"','WQL', 0, nil
eğer siz programınızda deviceid ile ilgili bir kod yazacaksanız xp'de farklı bir çözüm üretmeniz gerekecek.
konuyu fazla uzatıp kafa karıştırmayalım. eğer sadece flash belleğin serinumarasını almak istiyorsanız ihtiyacınız olan alan pnpdeviceid bu alanı win7,xp,vista destekliyor
sorgunuzu
Kod: Tümünü seç
Select pnpdeviceid From Win32_DiskDrive Where InterfaceType="USB"','WQL', 0, nil
Win32_DiskDrive kütüphanesi hakkında bilgi almak ve bütün alanlarını merak ediyorsanız ilk mesajımdaki programı inceleyebilirsiniz.
(http://www.snapfiles.com/get/usbdeview.html)
umarım açıklayıcı olmuşdur.
kolay gelsin.
type
Tform1 = class(Tform)
Tform1 = class(Tform)