PDA

View Full Version : سوال: بدست آوردن سریال بایوس



faraco
یک شنبه 07 آذر 1389, 11:39 صبح
سلام
چند روزی هست که دنبال یک کد می گردم که بتونه سریال بایوس را بدست بیاره کد زیر رو پیدا کردم ولی جواب نمی ده
function GetBiosInfoAsText: string;
var
p, q: pchar;
begin
q := nil;
p := PChar(Ptr($FE000));
repeat
if q <> nil then begin
if not (p^ in [#10, #13, #32..#126, #169, #184]) then begin
if (p^ = #0) and (p - q >= 8) then begin
Result := Result + TrimRight(String(q)) + #13#10;
end;
q := nil;
end;
end else
if p^ in [#33..#126, #169, #184] then
q := p;
inc(p);
until p > PChar(Ptr($FFFFF));
Result := TrimRight(Result);
end;

کسی از دوستان می تونه کمک کنه خیلی نیازش دارم ؟:افسرده::افسرده::افسرده::اف رده::افسرده::افسرده::افسرده: :افسرده::افسرده:

Felony
یک شنبه 07 آذر 1389, 16:36 عصر
برای گرفتن این قبیل اطلاعات در ویندوز باید از WMI استفاده کنید ، باید درخواست SerialNumber رو به صورت یه WQL Query به کلاس Win32_Bios در WMI بفرستی و سریال بایوس رو ازش درخواست کنی ، برات یه نمونه نوشتم که میتونی از ضمیمه دریافت کنی .

faraco
یک شنبه 07 آذر 1389, 16:47 عصر
این کدی که دادین فقط مقدار 00000000 رو بر می گردونه هم تو ویندوز 7 و هم ویندوز xp

Felony
چهارشنبه 10 آذر 1389, 21:27 عصر
این کدی که دادین فقط مقدار 00000000 رو بر می گردونه هم تو ویندوز 7 و هم ویندوز xp

مشکلی نداره ، این هم نتیجه اجرای برنامه تو لپ تاپ خودم :

فوئاد احمدی
چهارشنبه 24 فروردین 1390, 10:08 صبح
در فايل WbemScripting_TLB ارور invalid compiler directive [VARPROPSETTER] را مي دهد

Felony
چهارشنبه 24 فروردین 1390, 10:25 صبح
یک نمونه دیگه بدون استفاده از کتابخانه های متفرقه نوشتم که میتونید از ضمیمه دریافت کنید .

فوئاد احمدی
چهارشنبه 24 فروردین 1390, 10:30 صبح
راستي اين برنامه را روي هر كامپيوتري كه اجرا مي كنم جوابش اينه sys-1234567890

loo30fer
پنج شنبه 25 فروردین 1390, 17:00 عصر
منم هردوش رو که تست کردم این رو داد : To Be Filled By O.E.M.

Felony
جمعه 26 فروردین 1390, 18:30 عصر
منم هردوش رو که تست کردم این رو داد : To Be Filled By O.E.M.
کاربری که باهاش برنامه رو تست کردید چه دسترسی داشت ؟

pezhvakco
شنبه 27 فروردین 1390, 10:32 صبح
هر دو برنامه ای که دادین یک خطا رو میده : To Be Filled By O.E.M

کاربری که باهاش برنامه رو تست کردید چه دسترسی داشت ؟
کاربرش admin و در WinXp است .
FireWall هم خاموش است .

vcldeveloper
شنبه 27 فروردین 1390, 13:25 عصر
هر دو برنامه ای که دادین یک خطا رو میده : To Be Filled By O.E.M
اون خطا نیست، شرکت سازنده مادربرد الزامی به درج شماره سریال نداره. شماره سریال رو خالی گذاشته تا شرکت OEM مربوطه اون رو پر کنه. شرکت های OEM هم الزامی به درج این شماره ندارند، پس شما همون پیام شرکت سازنده رو دریافت می کنید. اصولا شماره سریال بایوس چیزی نیست که کسی بخواد روی وجود اون یا منحصر به فرد بودن اون به تنهایی حسابی باز کنه.