ورود

View Full Version : میزان منحصر به فرد بودن سریال هر درایو از هارد



A.Farzin
شنبه 19 آبان 1386, 19:33 عصر
با سلام
به کمک تابع API به نام GetVolumeInformation می‌توان شماره سریال هر درایو را بدست آورد.
سئوال این است که این شماره در چه شرایطی می‌تواند تغییر کند. مثلاً آیا تغییر نوع فایل سیستم، تغییر اندازه، تغییر میزان فضای خالی و پر شده و ... باعث تغییر آن می‌شود؟
آیا ممکن است دربین 20 دستگاره شماره سریال پارتیشن اول چند تا از آنها مثل هم درآید؟
ممنون

Bahram0110
شنبه 19 آبان 1386, 20:01 عصر
اگه می خوای قفل نرم افزاری بنویسی . . . این رسمش نیست!

سریال اصلی دیسک سخت (که به صورت سخت افزاری هم روی دیسک هک شده) بد نیست

ali_habibi1384
شنبه 19 آبان 1386, 22:18 عصر
اول بگو واسه چه کاری می خوای از این تابع و روش استفاده کنی ؟ تا راهنماییت کنیم

A.Farzin
شنبه 19 آبان 1386, 23:51 عصر
من یک قفل نرم‌افزاری ساخته بودم که با مشکل زیر مواجه شده و دنبال راههای جایگزین و یا ممکن برای رفع اشکال آن می‌گردم.
http://barnamenevis.org/forum/showthread.php?t=84304

Evil 69
یک شنبه 20 آبان 1386, 05:28 صبح
من یک ocx دارم که کد مربوط به cpu ,main و... رو میده برات میذارم اینجا

A.Farzin
سه شنبه 22 آبان 1386, 00:22 صبح
با تشکر از 69 Evil
خیلی ممنونم از این ocx ولی متاسفانه بکارگیری این هم نتوانست مشکل را حل کند. همانگونه که گفته بودم علت عدم کارکرد تابع API به Protectهای اعمال شده بر روی Deviceها توسط Administrator است به نحوی که سیستم عامل اجازه هرگونه Write فایل در داخل پوشه WINDOWS به کلاینتها نمی‌دهد. و تابع CreateFile قادر نیست Smart Object لازم برای کسب جواب را ایجاد کند.
به نظرم با دستکاری اولین آرگومان این تابع و تغییر محل ذخیره Smart Object به یک محل دیگر روی هارد، شاید بتوان این مشکل را حل کرد.

HANDLE CreateFile(
LPCTSTR lpFileName,
DWORD dwDesiredAccess,
DWORD dwShareMode,
LPSECURITY_ATTRIBUTES lpSecurityAttributes,
DWORD dwCreationDispostion ,
DWORD dwFlagsAndAttributes,
HANDLE hTemplateFile);
در MSDN مستنداتی برای این مورد هست ولی نتوانستم آن را عملی کنم.
ممنون از راهنمائیها

vbhamed
پنج شنبه 08 آذر 1386, 03:21 صبح
از getdiskserial.dll ورژن 3 استفاده کنید
نه با admin نبودن مشکل داره نه با ویستا
فقط اینکه رایگان نیست، 19 دلار