Harddisk seri numarası c++builder ile nasıl bulunuyor ki?

C, C++ ve C++ Builder ile ilgili konuları buraya yazabilirsiniz.
Cevapla
Kullanıcı avatarı
bortecine007
Üye
Mesajlar: 51
Kayıt: 13 Ağu 2004 11:55
Konum: İstanbul

Harddisk seri numarası c++builder ile nasıl bulunuyor ki?

Mesaj gönderen bortecine007 »

Ya ben C++ builder kullanıyorum ya...Şifreleme yapmam gerekiyor...Normalde forumda paylaşılan delphi kodlarını buildere çevirip kullanıyordum ama şu harddisk fabrika nosunu bulmak için çeviremedim...Acaba yardımcı olur musunuz Hakkınızı helal edin...
Muhabbetle...
Yan çizdim,yan çizdim,Jandarmaya hürriyete
Çok sevdiğim bir millete yan çizdim
Yan çizdim,yan çizdim,başım döndü,vurdum öldü
Sebep oldum adalete,yan çizdim

Osman ÖZTUNÇ
Kullanıcı avatarı
bluekid
Kıdemli Üye
Mesajlar: 541
Kayıt: 11 Haz 2004 10:45
İletişim:

Mesaj gönderen bluekid »

GetVolumeInformation API sini kullanman lazım
BOOL GetVolumeInformation(

LPCTSTR lpRootPathName, // address of root directory of the file system
LPTSTR lpVolumeNameBuffer, // address of name of the volume
DWORD nVolumeNameSize, // length of lpVolumeNameBuffer
LPDWORD lpVolumeSerialNumber, // address of volume serial number
LPDWORD lpMaximumComponentLength, // address of system's maximum filename length
LPDWORD lpFileSystemFlags, // address of file system flags
LPTSTR lpFileSystemNameBuffer, // address of name of file system
DWORD nFileSystemNameSize // length of lpFileSystemNameBuffer
);
Bu arada programın başka bilgisayarlarda kullanımını engellemek istiyorson bu pek bir işe yaramaz
skylink_ktef
Üye
Mesajlar: 2
Kayıt: 29 May 2005 12:04

Mesaj gönderen skylink_ktef »

Bu kodlardan veriyi ne şekilde alabiliriz. yardımcı olursanız sevinirim.
Kullanıcı avatarı
bluekid
Kıdemli Üye
Mesajlar: 541
Kayıt: 11 Haz 2004 10:45
İletişim:

Mesaj gönderen bluekid »

yeni bir application aç
forma bir edit ve button ekle
Buttonun Click eventına aşağıdakini ekle

Kod: Tümünü seç

void __fastcall TForm1::Button1Click(TObject *Sender)
{
  unsigned long SerialNum;
  unsigned long a, b;
  char Buffer[256];
  char Disk[]="c:\\";
  GetVolumeInformation(Disk, Buffer, 255,&SerialNum, &a, &b, NULL, 0);
  Edit1->Text=Edit1->Text.sprintf("%X",SerialNum);
}
Bu arada daha öncede yazdığım gibi
programın başka bilgisayarlarda kullanımını engellemek istiyorsan bu pek bir işe yaramaz
Kullanıcı avatarı
warder
Üye
Mesajlar: 255
Kayıt: 10 Mar 2004 04:59

Mesaj gönderen warder »

GetVolumeInformation apisi hdd nin seri nosunu değilde partisyonların seri numarasını verebilir.
Bu bilgi de her partisyon için farklı olamakla birlikte her formatta da yenisi ile değiştirilir.
Sizin aradığınızı yapan sağlıklı bir kod bilmiyorum.
... Muhtaç olduğun kudret, damarlarındaki asil kanda mevcuttur!
Mustafa Kemal Atatürk...
Eolgun
Üye
Mesajlar: 4
Kayıt: 16 Haz 2003 06:31

Mesaj gönderen Eolgun »

Win2000 ve üstü işletim sistemlerinde Registry'de harddisk seri numarası yer almaktadır. (Fiziksel seri numarası).
Anahtar Dizilimi:
HKEY_LOCAL_MACHINE
HARDWARE
DEVICEMAP
Scsi

Bu anahtarın altında diskler (CD Sürücler dahil) yer almaktadır.
Sıra ile
Scsi Port 0\Scsi Bus 0\Target Id 0\Logical Unit Id 0

Altında Indentifier key'i size disk numarasını verecektir.

Örnek Path:
[HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\Scsi\Scsi Port 0\Scsi Bus 0\Target Id 0\Logical Unit Id 0]
Key:
"Identifier"="XXXXXXXXXXXXXXXX"
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

Dediğiniz yerde sadece model numarası var. Delphi için yazılmış hdd fiziksel seri numarası belki yardımcı olur ? http://www.delphiturkiye.com/ipobjpas.h ... ika_serino
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Kullanıcı avatarı
musti
Üye
Mesajlar: 527
Kayıt: 11 Tem 2005 09:44

Mesaj gönderen musti »

delphi yazılmıs bir kod c++ builder icin ceviren bir yordam bulmak lazim ama nasıl delphide ornek genelde var ama bcb da yok ne yazikki

sanırım bunu yapamıyacaksınız bir ara banada lazim olmus c++ builder bende delphide yazilmis bir exe ara program olarak kullandım ama pekde saglikli degil tabiki c++ builderin icinde kod la olsa iyi olur
Kullanıcı avatarı
lazio
Moderator
Mesajlar: 1527
Kayıt: 11 Tem 2003 04:55
Konum: İstanbul

Mesaj gönderen lazio »

farklı bir exe yapmak yerine dll olarak oluşturum.
DeveloperToolKit

..::|YeşilMavi|::..
Kullanıcı avatarı
musti
Üye
Mesajlar: 527
Kayıt: 11 Tem 2005 09:44

Mesaj gönderen musti »

nasıl yani
bu bilgi isteyen birsey
ben c++ buildre kullanıyorum bende delphi yok
dll nasıl yapılır bilmiyorum ama yardım ederseniz sevinirim
Cevapla