Programimng

مطالبی از آموخته های من

Programimng

مطالبی از آموخته های من

۵ مطلب در شهریور ۱۳۹۲ ثبت شده است

گاهی اوقات به دلایل متعددی شما ممکن است نیاز به دسترسی به اطلاعات سخت افزاری سیستم داشته باشید . یک نمونه که اطلاعات سخت افزاری مورد استفاده قرار  می گیرد زمانی هست که شما یک نرم افزار ایجاد کرده اند و می خواهید قفل بر روی نرم افزار قرار بدهید .

ابتدا باید کتابخانه ی

System.Management را به پروژه اضافه کنیم .( برای این کار در پنجره Solution Explorer روی References راست کلیک میکنیم گزینه Add Reference را انتخاب میکنیم .در تب NET . گزینه

برای نوشتن این تکه کد در زبان سی شارپ ابتدا باید using System.Management رو به ابتدای کد اضافه کنیم .

برای بدست آوردن اطلاعات مربوط به سخت افزار شما نیاز به ایجاد یک شی از کلاس ManagementObjectSearcher دارید .

کار این کلاس بازیابی مجموعه ای از اشیا مدیریتی مبتنی بر پرس و جو مشخص است که برای بازیابی اطلاعات مدیریت استفاده میشود .

ManagementObjectSearcher searcher = new ManagementObjectSearcher(
    "select * from " + Key);

key در کد بالا یک متغیر است که میتواند با داده های مناسب جایگزین شود . مثلا برای بدست آوردن ID پردازنده باید Win32_processor را جایگزین Key کنیم .(  لیست کامل Key ها را در ادامه مطلب قرار میدهم .)

سپس نیاز به یک حلقه Foreach داریم که با استفاده از متد GET شی رو با اطلاعات مورد نیازش پر بکنه :

foreach (ManagementObject share in searcher.Get())
{
// Some Codes ...

}


نمونه کد برای بازیابی ID Processor :

ManagementObjectSearcher mbs = new ManagementObjectSearcher

;("Select * From Win32_processor" )

            ;""=string cpu 

        ( ()foreach (ManagementObject mo in mbs.Get

            }

            ;() cpu = mo["ProcessorID"].ToString

            {

MessageBox.show(Cpu(;

نحوه Attach کردن DataBase به Sql Server با استفاده از sqlcmd

برای اتچ کردن دیتابیس به Sql Server ابتدا یک  فایل sql  میسازیم (یک فایل NotePad ایجاد میکنیم با پسوند Sql ذخیره میکنیم .) و دستورات زیر را داخلش مینویسیم :

USE Master
Go
CREATE DATABASE databaseName ON
(FILENAME =' C:\ آدرس فایل \mdffilename.MDF'),
(FILENAME =' C:\ آدرس فایل \logfilename.LDF ')
FOR ATTACH;
GO

سپس یک فایل BATCH ایجاد میکنیم و دستور زیر را داخلش مینویسیم و با یک اسمی ذخیره میکنیم :

sqlcmd -S  ServerName\InstanceName   - i آدرس فایل Sql ساخته شده در بالا 


با اجرای فایل bat دیتابیس به Sql Server مورد نظر Attach میشود . 

برای نصب Sql Server 2008 R2 بصورت Silent در سیستم 32 بیتی دقیقا باید همان مراحلی که برای سیستم های 64 بیتی انجام میشود را طی کرد یعنی ابتدا Setup.exe را اجرا کرد تا ساخت ConfigurationFile سپس تغییراتی که باید در ConfigurationFile  اعمال کرد را انجام داد و سپس ساخت فایل bat و اجرای آن .

تنها تفاوتی که ConfigurationFile در سیستمهای 32 بیتی و 64 بیتی دارند این است که 

INSTALLSHAREDWOWDIR="C:\Program Files (x86)\Microsoft SQL Server" در 32 بیتها وجود ندارد . 


نحوه تعیین 64 یا 32 بیتی بودن سیستم عامل

برای اینکه تعیین کنیم سیستم 32 یا 64 بیتی است ساده ترین راه این است که یک برنامه ای بنویسیم که بره چک کنه تو درایوری که ویندوز نصب است فولدر (Program File(x86 وجود داره یا نه ؟ اگر چنین فولدری وجود داشت یعنی سیستم 64 بیتی است ولی اگر فقط فولدر Program File وجود داشت یعنی سیستم 32 بیتی است !!! 

برنامه تشخیص نصب Net Framework . روی سیستم


برنامه ای که با Batch File نوشته شده که بررسی میکنه آیا سیستم net framework. دارد یا نه در صورت نداشتن ابتدا Net . را نصب مبکنه با توجه به آدرسی که فایل  exe در آن قرار دارد  و بعد از آن برنامه موردنظرمون رو اجرا میکنه و در صورت داشتن Net. یک راست به سراغ نصب برنامه مورد نظرمون میره .

@echo off
echo.
if exist " %windir%\microsoft.net\framework\v3.5"   goto a
if not exist  "%windir%\microsoft.net\framework\v3.5" goto b

:a
echo Installing Your Program.
echo.
آدرس فایل اجرایی که برنامه مورد نظر آنجا قرار دارد 
pause
exit

:b
echo Installing .net.
echo.
آدرس فایل اجرایی برنامه دات نت 
آدرس فایل اجرایی که برنامه مورد نظر آنجا قرار دارد .
pause
exit


توجه : آدرس ها باید داخل "" قرار بگیرند .