ترمیم فایل های آسیب دیده در ویندوز

ترمیم فایل های آسیب دیده در ویندوز :

بیشتر وقتها در اثر آلوده شدن سیستم به ویروس و یا نصب بعضی از برنامه ها ، فایل های ویندوز از بین رفته و یا دچار مشکل می شوند واین مشکلات در عمل کرد سستم تاثیر می گذارد.

اگر ویندوز شما هم دچار چنین مشکلی شده است اصلا نگران نباشید زیرا راه حل ساده و کم درد سر برای حل آن وجود دارد . ابتدا توسط یک ضد ویروس خوب و آپدیت شده ، سیستم را از فایل های آلوده پاک کنید (من پیشنهاد می کنم در حالت Safe Mode  این کار را انجام دهیم ) سپس در منوی Run عبارت زیر را تایپ کنید sfc /scannow با این دستور ویندوز بطور خودکار تمامی فایلها و اجزا خودش را بررسی می کند . به خاطر داشته باشید که ویندوز برای رفع مشکلات احتمالی نیاز به سی دی ویندوز دارد ، (توجه نمایید سی دی همان ویندوزی که بر روی سیستم شما نصب می باشد) و آن را در داخل درایور سی دی قرار دهید . ویندوز بعد از بررسی ، در صورتی که نیاز باشد فایلی را ترمیم و یا جایگزین کند ، آن را از روی سی دی کپی می کند .

نکته : این ترفند فقط در ویندوزهایی که ریجیستری آنها توسط شرکتهای مختلف دستکاری نشده است کار می کند مثلا بر روی بعضی از ویندوزهایی ایکس پی که شمایل ویستا دارند عمل نمی کند.

راهي براي ساخت  ConnectionString

راهي براي ساخت  ConnectionString
-Notepad
رو اجرا کنيد و يه فايل با پسوند udl ذخيره کنيد. آيکون اون فايل از حالت متني عوض ميشه
-
روي اون دبل کليک کنيد. پنجره مشخصات Data نمايش داده ميشه.
- Provider
مورد نظرتونو انتخاب کنيد.
-
برگه Connection رو انتخاب کنيد.
-
در اينجا شما مي تونيد تنظيمات بيشتري انجام بديد و در نهايت کليد Test Connection رو کليک کنيد تا صحيح بودن تنظيمات رو بررسي کنيد.
-
حالا اگه فايل مذکور رو با Notepdباز کنيد مي بينيد که ConnectionString توي اون نوشته شده و شما ميتونيد اونو جايي که مي خوايد کپي کنيد.

چند نکته در دات نت

چند نکته در دات نت :

بدست آوردن فلدر های خاص در ویندوز (مثلا فلدر My Document) :

System.Environment.GetFolderPath( System.Environment.SpecialFolder.Personal );

 

مسیر فایل اجرای و نام آن :

روش اول:

System.Windows.Forms.Application.ExcutablePath;

روش دوم :

System.Reflection.Assembly.GetExcutingAssembly().Location;

 

بدست آوردن تمامی فونت های موجود بر روی سیستم :

System.Drawing.FontFamily.Famileis;

 

غیر فعال کردن راست کلید در کنترول TextBox :

textBox1.ContexMenu = new ContextMenu;

بدست آوردن پورت های سیستم با استفاده از سی شارپ

بدست آوردن پورت های سیستم با استفاده از سی شارپ :

foreach ( string portName in System.IO.Ports.SerialPort.GetPortName( ) )

{

     System.Windows.Forms.MessageBox.Show(portName);

{

ارسال ایمیل با استفاده از ASP.NET

ارسال ایمیل با استفاده از ASP.NET :

برای ارسال ایمیل می توان به یکی از دو روش زیر عمل کرد :

System.Web.Mail.MailMessage mailone =

            new System.Web.Mail.MailMessage( );

mailone.Fields.Add( "http://schemas.microsoft.com/cdo/configuration/smtpauthenticate" , 1 );

mailone.Fields.Add( "http://schemas.microsoft.com/cdo/configuration/sendusername" , "TempEmail" );

mailone.Fields.Add( "http://schemas.microsoft.com/cdo/configuration/sendpassword" , "TempEmail Password" );

mailone.Subject = subjectTextbox.Text;

mailone.To = toTextbox.Text;

mailone.From = fromTextbox.Text;

mailone.Body = bodyTextbox.Text;

mailone.Priority = MailPriority.Low;

mailone.BodyFormat = MailFormat.Html;

System.Web.Mail.SmtpMail.SmtpServer = "mail.yourdomain.com";

System.Web.Mail.SmtpMail.Send( mailone );

 

و روش دوم بصورت زیر می باشد :

 

System.Web.Mail.SmtpMail.SmtpServer = "mail.yourdomain.com";

System.Web.Mail.SmtpMail.Send(

   fromTextbox.Text , toTextbox.Text , subjectTextbox.Text , bodyTextbox.Text );

ویندوز را به نام خودتان کنید

ویندوز را به نام خودتان کنید!

آیا تا به حال پیش آمده زمانی که به پنجره System Properties مراجعه می کنید . علامت اختصاری شرکت دیگری (به غیر از مایکروسافت ) را در آن جا ببینید ؟ این لوگو مخصوص شرکتهای تجاری مایکروسافت است که همراه با محصولشان و یا به طور مستقل ، نسخه ای از ویندوز را به مشتریان خود ارائه می دهند .

آیا مایل هستید لوگوی مخصوص خودتان را در این مکان قرار دهید ؟

برای انجام این کار اتدا عکسی را با استفاده از نرم افزارهای ویرایش گر عکس (مانند فتوشاپ) ، یک فایل تصویری در اندازه 180 در 114 پیکسل بسازید. مسلما این همان تصویری است که می خواهید از در لوگو استفاده کنید ، فرمت آن را Bitmap (BMP) قرار داده و به نام oemlogo.bmp در مسیر (C:\windows\System32) ذخیره کنید (قبل از این کار ابتدا فایل اصلی را چک کرده که با حروف بزرگ است یا حروف کوچک باید دقیقا همانند فایل اصلی ویندوز باشد) ، حال در مسیر System32 به دنبال فایلی بنام oeminfo.ini گشته و بعد آن را با Notepad باز کرده و تغییرات آن را به صورت زیر انجام داده و آن را ذخیره نمایید ، به همین سادگی!

[General]

نام مورد نظر  Manufacturer=

نام مدل مورد نظرتان = Model

[Support Information]

شماره و یا کلام مورد نظرتان و یا تضیحاتی دیگر=line1

نشانی وب سایت=line2

تغیرات در تصویر زیر کاملا نمایان است :

 

پر کردن DataGridView با استفاده از DataTable

پر کردن DataGridView با استفاده از DataTable :

در زمان ارتباط با دیتابیس به موقع بستن اتصال امری حیاتی می باشد و احتمال از دست دادن اطلاعات را کاهش می دهد .در مثال امروز من سعی کرده ام  کدی برای شما آماده کنم که بتوانیم اطلاعات را با استفاده از DataReader خوانده و به یک DataTable تبدیل کرده و به یک DataGridView متصل کنیم و در آن با استفاده از بستن اتوماتیک اتصال استفاده شده تا بعد از خواندن اطلاعات مورد نظر اتصال بسته شود .

ابتدا یک DataGridView را به فرم اضافه کرده و نام آن را dtGridView می گذاریم و بعد تنظیمات فایل پیکره بندی app.config را بصورت زیر انجام می دهیم (فراموش نکنید که برای خواند از فایل پیکره بندی باید اسمبلی System.Confugration را به پروژه اضافه کنیم)

 

xml version="1.0" encoding="utf-8" ?>

<configuration>

    <connectionStrings >

        <add name="ConnectionSource" connectionString="server=(local);Data Source=(local);Initial Catalog=Northwind;Integrated Security=SSPI"/>

    connectionStrings>

    <appSettings >

        <add key ="querySelect" value ="SELECT * FROM "/>

        <add key ="TableName" value ="Customers"/>

    appSettings>

configuration>

 

و بعد با استفاده از کلاس زیر اطلاعات فایل app.config را می خوانیم :

 

class loginAppConfiguration

    {

        public static string SourceConnectionString

        {

            get

            {

                return

                    System.Configuration.ConfigurationManager.ConnectionStrings[

                    "ConnectionSource" ].ConnectionString;

            }

        }

 

        public static string TableName

        {

            get

            {

                return

                    System.Configuration.ConfigurationManager.AppSettings[ "TableName" ];

            }

        }

 

        public static string queryString

        {

            get

            {

                return

                    System.Configuration.ConfigurationManager.AppSettings[ "querySelect" ];

            }

        }

    }

 

و بعد با استفاده از متد زیر اطلاعات را خوانده و به DataGridView اضافه می کنیم :

 

private void loadingForm( )

        {

            System.Data.SqlClient.SqlConnection dtConnection =

                new System.Data.SqlClient.SqlConnection( loginAppConfiguration.SourceConnectionString );

 

            string querySQL =

                loginAppConfiguration.queryString + loginAppConfiguration.TableName;

 

            System.Data.SqlClient.SqlCommand dtCommand =

                new System.Data.SqlClient.SqlCommand( querySQL , dtConnection );

 

            if ( dtConnection.State != System.Data.ConnectionState.Open )

            {

                dtConnection.Open( );

            }

 

            System.Data.SqlClient.SqlDataReader dtReader =

                dtCommand.ExecuteReader(

                    System.Data.CommandBehavior.CloseConnection );

 

            System.Data.DataTable dtTable = new System.Data.DataTable( );

            dtTable.Load( dtReader );

 

            dtGridView.DataSource = dtTable;

     

            System.Windows.Forms.MessageBox.Show(

                "Connection State : " + dtConnection.State.ToString( ) );

        }

 

در این متد ابتدا یک کانکشن را تعریف کرده ایم و با استفاده از کلاس logionAppConfiguration سورس کانکشن را از فایل app.config به آن اضافه می کنیم ، در ادامه یک متغییر را از نوع string تعریف کرده و کوئری و نام جدول را از با استفاده از کلاس  logionAppConfiguration به آن ست می کنیم ، در ادامه یک متغییر از نوع SqlCommand تعریف کرده و کوئری و کانکشنی که باید از آن استفاده کند را نیز برای آن معرفی می کنیم ، بعد با استفاده از دستور شرطی if باز بودن کانکشن را چک می کنیم (برای هدر نرفتن منابع سیستم بهتر است باز بودن کانکشن را چک کنید و در صورت عدم اتصال آنرا باز کنیم ) و در صورت باز نبودن آن کانکت می شوییم ، در ادامه یک متغییر از نوع SqlDataReader برای خواندن اطلاعات از دیتابیس تعریف می کنیم و با استفاده متد ایستا از متغییر SqlCommand بنام ExecuteReader اطلاعات را به آن اضافه می کنیم و نکته قابل توجه این است که در اینجا بسته شدن اتصال را بعد از پایان بار گذاری اطلاعات در SqlDataReader را تنظیم می کنیم با استفاده از کد زیر :

System.Data.CommandBehavior.CloseConnection ، و بعد یک آبجکت از نوع DataTable تعریف کرده و با استفاده از خاصیت Load آن SqlDataReader را به آن تبدیل (Convert) می کنیم و در انتها با استفاده از DataSource کنترول DataGridView اطلاعات خوانده شده از جدول را در آن بار گذاری می کنیم .

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